38 Commits
Author SHA1 Message Date
jinhojang6 379a8f38c1 chore: remove changesets from the repo 2026-08-25 22:46:58 +09:00
JulesFILIOT eaf5301c66 fix(ci): build job timeout 2026-08-18 16:04:12 +02:00
Jules ac76ed4f06 test(e2e): wallet extension send/swap suites on Anvil forks
* refactor(e2e): extract shared extension launcher from MetaMask fixture

Move the persistent-context + temp-profile + SW-derived extension-id
logic into launchExtensionContext (with beforeLaunch, afterClose,
extraChromeArgs, profilePrefix, viewport options) so other extensions
can reuse it. MetaMask fixture becomes a thin wrapper; behavior
unchanged for the existing Hub suite.

* feat(e2e): add congestion and balance controls to Anvil helper

Add setNextBlockBaseFee, setBlockGasLimit, disableAutoMining,
dropTransaction, setEthBalanceFor, and getEthBalance for staging
network conditions and localizing accounts on the forks.

* feat(e2e): add rpc-router and opt-in wallet test-server orchestration

Anvil only answers JSON-RPC at / while apps/api appends path suffixes
(/ethereum/mainnet/alchemy), so add a small host-side router that
strips the prefix and forwards by chain segment to the forks.

Wire wallet-send/wallet-swap Playwright projects behind the
RUN_WALLET_E2E env flag (env rather than argv: workers re-evaluate the
config without --project) with apps/api and the router as web servers,
narrow the @wallet grep so it no longer swallows the new tags, and add
setup:wallet / test:wallet-* scripts. setup:wallet passes
WXT_STATUS_API_URL explicitly because wxt build --mode development
otherwise bakes the production API URL.

* chore: add changeset

* ci: point changesets and workflow triggers at master

The main branch was renamed to master, so origin/main no longer exists:
the changeset status step failed to find the divergence point, and the
CI/E2E/Release push triggers never fired.

* feat(e2e): add wallet page objects

Onboarding (seed import), portfolio, send modal (Max fees parsing,
password step, Confirm-with-new-gas-price, success toast), and a thin
LiFi swap-drawer wrapper. Add a clickVisible helper to BasePage since
the wallet renders controls twice (desktop + hidden mobile variant).

* feat(e2e): add wallet extension fixture stack with API data seam and LiFi mock

wallet-extension.fixture provides anvilRpc with per-test
snapshot/revert isolation, the dev-built extension context, seed-import
onboarding (compliant password decoupled from WALLET_PASSWORD), and
page-object fixtures.

status-api-mocks intercepts only the Alchemy enhanced-API tRPC routes
(assets.all, assets.nativeToken, activities.page) with fork-consistent
fixtures and exposes setFeeRate for the gas-shift test; rpc.proxy and
nodes.* pass through to the real backend and fork. lifi-mock serves
every li.quest endpoint the widget/SDK call; the mocked step calldata
is a real WETH9 deposit() so the swap executes genuinely on the fork
with an exactly assertable 1:1 output.

* test(e2e): add wallet send network-condition suite

Happy path with on-chain delta assertion, slow inclusion (no state
change until mineBlock), high base fee reflected in quoted Max fees and
actually paid, and a deterministic GasShiftedError -> Confirm with new
gas price flow via a pinned fee quote bumped mid-signing. The planned
tight-gas-limit row was dropped: Anvil estimates a 21k transfer fine
under a 20k block limit, making the scenario artificial.

* test(e2e): add wallet swap suite against mocked LiFi quotes

ETH -> WETH via the exchange drawer with recorded li.quest fixtures:
happy path with exact 1:1 on-chain output assertion, slow inclusion
(widget pending until mineBlock), and high base fee (swap executes,
elevated gas provably paid). Deliberately shallow on adverse-condition
UX, which LiFi owns; the deep matrix lives in the send suite.

* ci: add wallet e2e job

Build the extension in dev mode (WXT_STATUS_API_URL pointed at the
local api), start the forks (optionally against an archive upstream
via the E2E_MAINNET_FORK_URL secret), and run the wallet-send and
wallet-swap projects under xvfb with RUN_WALLET_E2E=1. apps/api boots
with dummy secrets since chain calls hit the fork and enhanced
endpoints are seam-mocked.

* chore: add changeset

* fix(e2e): disambiguate send success toast from its aria-live announcer

Radix Toast renders a hidden screen-reader announcer that duplicates the
toast message as "Notification Transaction signed and sent", so the
substring locator intermittently resolved to two elements and tripped
Playwright strict mode in CI.

* fix(e2e): keep vault accounting consistent when seeding shares

The live WETH pre-deposit vault drained below 1 token of totalSupply, so
seeding 1e18 shares via a bare balance-slot write made the on-chain
withdraw revert InvalidState() (amount exceeds stored totalAssets, burn
exceeds totalSupply) -- the forks track the latest block, so state drift
broke the test without a code change.

fundVaultShares now bumps the vault's totalSupply and stored totalAssets
by the seeded delta. Backing slots are discovered by value match plus a
write probe (the vaults keep both values equal, so a match alone is
ambiguous) and cached per vault.

* chore: add changeset
2026-07-10 19:25:43 +09:00
JulesFILIOT 598399875d chore(ci): trigger e2e & ci workflows on develop as well 2026-07-10 12:08:05 +02:00
Jules 99ce990804 feat(e2e): shared infra for extension-based wallet tests
* refactor(e2e): extract shared extension launcher from MetaMask fixture

Move the persistent-context + temp-profile + SW-derived extension-id
logic into launchExtensionContext (with beforeLaunch, afterClose,
extraChromeArgs, profilePrefix, viewport options) so other extensions
can reuse it. MetaMask fixture becomes a thin wrapper; behavior
unchanged for the existing Hub suite.

* feat(e2e): add congestion and balance controls to Anvil helper

Add setNextBlockBaseFee, setBlockGasLimit, disableAutoMining,
dropTransaction, setEthBalanceFor, and getEthBalance for staging
network conditions and localizing accounts on the forks.

* feat(e2e): add rpc-router and opt-in wallet test-server orchestration

Anvil only answers JSON-RPC at / while apps/api appends path suffixes
(/ethereum/mainnet/alchemy), so add a small host-side router that
strips the prefix and forwards by chain segment to the forks.

Wire wallet-send/wallet-swap Playwright projects behind the
RUN_WALLET_E2E env flag (env rather than argv: workers re-evaluate the
config without --project) with apps/api and the router as web servers,
narrow the @wallet grep so it no longer swallows the new tags, and add
setup:wallet / test:wallet-* scripts. setup:wallet passes
WXT_STATUS_API_URL explicitly because wxt build --mode development
otherwise bakes the production API URL.

* chore: add changeset

* ci: point changesets and workflow triggers at master

The main branch was renamed to master, so origin/main no longer exists:
the changeset status step failed to find the divergence point, and the
CI/E2E/Release push triggers never fired.
2026-07-10 18:59:46 +09:00
Jules b6685999bc test(e2e): run the suite against a local Hub
* test(e2e): run the suite against a local Hub

Start the Hub dev server via Playwright's webServer and default BASE_URL to
localhost so tests exercise local code; set BASE_URL to test a deployment.
Pre-compile routes in global-setup, derive the wallet address from the seed
(dropping WALLET_ADDRESS), and let anvil:up/down run without a .env file.

* ci(e2e): build and serve the local Hub with forks

Drop the deployed-URL logic; build Hub deps, start Anvil forks, and run all
projects against the webServer-started local Hub.
2026-06-22 18:40:53 +09:00
Jules 1036c9397e chore(e2e): remove dead pre-deposit deposit tests
* chore(e2e): remove dead pre-deposit deposit tests

Deposits are sunsetted; the Hub pre-deposits page is now withdrawal-only.
Drop the network-switch and validation specs, the deposit modal page
object, and the now-unused TEST_AMOUNTS and clickDepositForVault helpers.

* fix(e2e): repair pre-deposits display smoke test

- sidebar: match the renamed "Pre-deposit vaults" link
- vaultHeadings: anchor to "<token> vault" so FAQ headings aren't counted
- assert exact vault names to avoid FAQ strict-mode collisions

* chore: add changeset

* ci(e2e): align workflow triggers with CI

Run on push to main, pull_request, and workflow_call.
Drop deployment_status, path filters, and manual dispatch.
2026-06-17 00:24:45 +09:00
Jinho Jang faa67cf437 CI: add foundry-toolchain to release workflow and pin forge version to v1.5.1 (#1085)
* fix: add foundry-toolchain to release workflow and pin forge version to v1.5.1

* fix: update git submodule command to use --recursive option

* fix: remove unnecessary fix message from silent-wolves-dream.md
2026-04-02 17:12:51 +09:00
Jinho Jang 89df4a5048 Migrate community curation dapp into status-web monorepo (#1077)
* feat: migrate community dapp

* fix: change server protocol from https to http in webpack config

* fix: update build script in package.json and add output directory to turbo.json

* fix: update CI workflow to initialize git submodules recursively and add Foundry installation step

* chore: change from community to community-dapp

* feat: add global type declarations for wallet and API integration

* fix: correct syntax for not-first-child selector in Card component

* fix(wallet): use type-safe globalThis cast instead of direct property assignment

* fix(community-dapp): fix eslint FlatCompat config and include test files in tsconfig

* fix(ci): fix forge test args and disable broken community-dapp tests

* fix(community-dapp): resolve @libp2p/interface to v2.10.4 for webpack build

* fix: add @libp2p/interface as missing dependency for @waku packages via packageExtensions

* fix: address PR review feedback

* fix(wallet): restore type-safe globalThis cast for CI build

* fix: commit ABI artifacts and add vercel.json for SPA routing

* fix(community-dapp): add 404.html for SPA routing on Vercel

* fix(community-dapp): simplify vercel.json to rewrites only

* fix(community-dapp): update vercel.json with build and output configurations

* fix: add Foundry dependencies to .gitignore
2026-03-31 23:27:42 +09:00
9d803e8d2a test: add deposit flow E2E tests (network switch, validation) (#1043)
* Add E2E tests and fixtures for MetaMask wallet integration and Pre-Deposits functionalities

* Enhance MetaMask notification handling and improve E2E test robustness

* Add pnpm workspace file for E2E test setup

* chore(hub): add changeset

* Refactor timeout configurations and relocate Pre-Deposits E2E test under hub module

* Reorganize E2E configuration and workflows; refactor imports and environment handling

* Refactor E2E environment handling: centralize env types, simplify `EnvConfig`, and reduce workflow timeout to 15 mins

* Add E2E tests for deposit flows with network switching and validation

- Implement comprehensive Pre-Deposit tests for network switching and balance validation.
- Enhance MetaMask handling with dismissPendingAddNetwork and popup detection improvements.
- Extend constants and page objects to support new test cases.

* Refactor timeout configurations across components and tests; standardize and replace hardcoded values with constants.

* Refactor MetaMask extension download: use specific versioning, remove unused env vars, and streamline process

* Remove `pnpm-lock.yaml` and refactor Pre-Deposits E2E test imports and MetaMask handling

* chore: add empty changeset for CI

* Refactor MetaMask connection approval: simplify button handling and remove redundant steps

* Refactor Pre-Deposit E2E tests: use shared chain ID constants and update Node.js version in workflow

* refactor: extract chain constants and use flexible node version in CI

* Refactor e2e tests: centralize MetaMask network switching and SIWE dialog dismissal logic into reusable helpers.

* Add `@helpers/*` path alias to e2e `tsconfig.json`

* Add E2E tests for deposit flow

Added end-to-end tests for the deposit flow, including network switch and validation checks.

* Delete .changeset/bold-candies-clap.md

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
Co-authored-by: JulesFILIOT <dev@julesfiliot.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Felicio <felicio@users.noreply.github.com>
2026-03-23 14:37:11 +09:00
5a5673e69f test: add E2E testing framework with MetaMask integration for SN Hub (#1032)
Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
Co-authored-by: JulesFILIOT <dev@julesfiliot.com>
Co-authored-by: Felicio <felicio@users.noreply.github.com>
2026-02-25 14:35:49 +09:00
Jakub 731bfcf601 chore: update preview deployment pipeline (#974)
* improve ux

* Update preview deployment pipeline
2026-02-08 22:54:54 +01:00
Jakub 6ccb9151e1 fix: remove working directories from preview deploy (#973) 2026-01-08 22:30:09 +01:00
Jakub 6b3bbb15cb fix: remove turbo telemetry from preview deploy (#972) 2026-01-08 22:06:58 +01:00
Jakub cda3bebfd3 feat: preview deploy workflow for external contributors (#872) 2026-01-08 14:06:03 +01:00
Felicio 45d3bdd879 init git submodules in release.yml (#924)
* init git submodules in `release.yml`

closes #923

* add DO_NOT_TRACK env var

* Revert "add DO_NOT_TRACK env var"

This reverts commit e830fd5716.
2026-01-06 18:06:53 +09:00
JakubandFelicio 207f4a5aef feat: add predeposit disclaimer (#890)
* add predeposit disclaimer

* add git submodules

* add links to disclaimer

* Add predeposit disclaimer to changeset

* address feedback

* update build

* fix build

* debug

* update build

* update build

* r

* Revert "r"

This reverts commit 8cc2fbe9ad.

---------

Co-authored-by: Felicio <felicio@users.noreply.github.com>
2025-12-17 14:40:17 +01:00
JulesandFelicio b94eaff8e4 chore: update waku dependencies
* chore: update waku dependencies => update to node 22

* chore: add changeset

* chore(ci.yml): update node version

* fix(build): use jsx runtime for rehype-react in production

* chore(release.yml): update node version

* fix(build): handle CoinGecko API failures in exchanges page

* chore(status-js): update waku dependencies

* fix(status-js): resolve Uint8Array ArrayBufferLike type errors

* feat(status-js): make package compatible with ethers v5 & v6

* fix(status-js): fix ethers v6 API compatibility

* chore(ethers): prevent webpack from analyzing ethers v5 & v6 compatible calls at build time to avoid false positive errors

* chore(preview-page): add console logs for debugging in vercel preview

* chore(status-js): add console log to ethereum client to debug on preview

* chore(status-js): add extra logs to request-client to debug in preview

* chore(status-js): add extra logs to debug in preview

* chore(status.app): remove unnecessary guard

* patch crypto deps

* chore(status.app): type rehype-react options in jobs and blog pages

* remove logs

* update readme

* remove nested resolutions

* c

* add node networkConfig

* refactor(status-js): migrate to @bufbuild/protobuf v2 API

* chore(status-js): remove console logs

* chore(status-js): revert compatibility update for ethers v5 & v6

* chore(status-js): update waku packages to latest version

* fix(apps/wallet): react-router-dom version mismatch

* chore(packages/wallet): remove useless peer dependency

* fix(status.app): upgrade remark packages to unified 11 for mdx compatibility

---------

Co-authored-by: Felicio <felicio@users.noreply.github.com>
2025-11-26 17:01:48 +09:00
Jules b24790f88d fix(release-ci): remove hard coded env vars 2025-11-07 12:22:45 +09:00
3090f9341e fix: status.app build (#825)
* fix(status.app): build issues w/ generateStaticParams

* feat(status.app): add status.app to build

* u

* t

* Revert "t"

This reverts commit 6a36ceff26a270ae234c79a2755e6313dc24e3aa.

* chore(status.app): extract api catch logic in api files instead of generateStaticParams functions

* Update preview page (#1590)

(cherry picked from commit 85419141ea4d5cb7c5c56e83e665960cabe80dbc)

* Desktop app focus (#1613)

* f: changes navbars and hero

* f

* f: desktop sections

* f: review

* f

* f

* f

* f: macos download

* f: prefooter download

* f: changes from review

(cherry picked from commit 19c0694d00b3c310d24abaddb22c84bfee57ebda)

* redirect `/status-network` (#1614)

(cherry picked from commit cebf8936e25318c79903f20fc28f08288d96feda)

* Update privacy-policy.md (#1617)

* Update privacy-policy.md

why

- https://github.com/status-im/status-web/issues/749

* Update privacy-policy.md

* Update privacy-policy.md

* Update privacy-policy.md

(cherry picked from commit 429bb208ad540bfac9c3b99e22c14dac1951d318)

* Add wallet browser extension promo to homepage (#1616)

Co-authored-by: Felicio <felicio@users.noreply.github.com>
(cherry picked from commit d6bd348c1bbfcf884bab3d8ebe30b693e6e49ecf)

* fix(status.app): add missing image type

* chore: update lock file

* chore(status.app): add changeset

* chore(ci): add missing secrets for status.app build step

* chore(ci): change GITHUB_TOKEN secret name to TOKEN_GITHUB as first name is banned on github

* chore(ci): add missing env variable

* chore(ci): add debug step & potentially required variables values

* chore(hub): add .env*.local to .gitignore

* chore(ci): update debug step env variables list

* chore(ci): add missing env variables

* chore(ci): try passing build with empty variables

* chore(ci): remove debug step

* add default .env

* u

* u

* r

---------

Co-authored-by: Felicio <felicio@users.noreply.github.com>
Co-authored-by: marcelines <marcio@status.im>
Co-authored-by: Jakub <520927+jkbktl@users.noreply.github.com>
2025-11-05 17:50:13 +09:00
Felicio Mununga b286ef2a74 chore: Add changeset status step to CI workflow (#607)
* chore: Add changeset status step to CI workflow

* f

* f

* f

* Update ci.yml

* Update ci.yml

* Update ci.yml
2025-01-08 14:02:24 +01:00
Felicio Mununga fdff541a2a update actions/checkout (#638) 2024-11-27 10:52:04 +01:00
Felicio Mununga 2fad1225b0 Merge (#632) (#634) 2024-11-01 19:29:14 +01:00
edfdfd6dbc 2.0 (#523)
* set up tailwind

* add typography tokens

* add shadows tokens

* add border radius tokens

* add react-aria

* update tailwind config

* update tokens

* fix deps

* add blur variant

* update tw config

* upgrade storybook

* update storybook config

* add inter

* wip button

* wip input

* wip tabs

* update typography tokens

* u storybook

* add types to src root

* update storybook config

* add sb type

* u storybook

* add icon button

* add input

* add checkbox

* add counter

* update checkbox

* add dropdown

* update button

* f storybook types

* u deps

* update base config

* update icon imports

* add text

* update colors build output

* fix import

* update colors format

* add .vsode setting

* update components buidl

* mv

* u button

* add popover

* u

* add types

* u shortcut

* fix icons attributes

* f

* mv

* u

* add toast

* update tw formatting

* rm apps

* rm examples

* rm tamagui

* dist tailwind config

* rm more

* stricter tsconfig

* add source field

* remove tokens

* rm tamagui files

* add prettier config to components

* u text props

* add tooltip

* u toast

* do not pass props

* u icon buton

* u dropdown button

* add icon only to button

* u type

* checkbox

* wip

* fix build

* fix components build

* u tooltip

* add theme

* add input

* u checkbox

* update dropdown-button

* add dropdown menu

* move input to be reviewew

* u dropdown button

* u

* u popover

* u tabs

* mv IconComponent -> IconElement

* u tag

* u context tag

* u

* fix context tag story

* add provider

* u button

* u avatar

* f avatar

* a opacity to avatar

* f prettier

* f avatar

* f

* f

* rm old setting

* fix button props

* skeleton wip

* rm config

* a dropdown submenu

* add blur variant

* add step

* add step to tabs

* add blur to context tag

* u

* add 80 to community

* u tw config

* add type

* u checkbox

* fix dropdown menu checkbox item

* u button

* unify content

* customize color globally

* add icons stories

* add colors story

* rm

* u

* rm dep

* cleanup

* u tsconfig

* f opacity for emoji

* remove "web#build" task from turbo.json

* f dropdown menu

* u tw export

* add license

* add changeset

* update readme

* f steps

* f tag

* f button

* udpate colors format

* update customisation color tailwind config

* fix opacity

* add shadow dark mode

* u readme

* u

---------

Co-authored-by: Jakub Kotula <520927+jkbktl@users.noreply.github.com>
Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2024-09-25 17:17:58 +02:00
Felicio Mununga a7ecd25465 update CI workflow (#577) 2024-07-24 14:51:36 +02:00
Felicio Mununga 10115f4d80 update release workflow (#575)
* chore: add github.vscode-github-actions extension to recommended extensions

* chore: run job on single machine

* chore: Add reusable workflow for CI

* Create olive-laws-exercise.md

* chore: Add dependency on ci workflow for release workflow
2024-07-24 14:39:54 +02:00
Felicio Mununga 21e2161bfd Update release.yml (#438) 2023-06-29 12:37:32 +01:00
Felicio Mununga 08791fc13d [*] include build step in release action (#437) 2023-06-29 12:25:19 +01:00
Felicio Mununga 291475afcc [*] upgrade node in release action (#435) 2023-06-29 11:39:10 +01:00
Felicio Mununga c53e5c50da [*] add concurrency to release.yml (#434) 2023-06-29 11:32:26 +01:00
Felicio Mununga 8a3cf6ce48 [website] use demo ghost for blog in dev (#428)
* use demo ghost in dev

* union

* u ci.yml
2023-06-28 17:41:35 +01:00
PavelandFelicio Mununga 45e36b2360 [website] Add blog (#417)
* add ghost api

* connect blog overview page

* connect and render post detail

* add processing to server

* update blog detail page

* add eslint-plugin-tailwindcss

* add @tanstack/react-query

* truncate text by numberOfLines

* use ComponentPropsWithRef to infer style prop type

* update ghost fns

* update index

* add tag page

* add author page

* update /

* update /tag

* update /author

* update detail page

* fix posts type

* disable redirect

* remove global background

- not found pages
- pages without common layout (preview)

* tmp: hide nav on smaller screens

* update app layout spacing

* remove text truncating

* update / spacing and sizing

* update .vscode/settings.json

* update .eslintrc

* update prettier-plugin-tailwindcss

* sort tailwind classes

* add packages/eslint-config-custom

* use turbo lint

* use tailwind.config.cjs

see https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/212

* reset global line-height

* fix lint-staged

* update color tokens

* update spacing and sizes

* Update apps/website/src/lib/ghost.ts

Co-authored-by: Pavel <14926950+prichodko@users.noreply.github.com>

* update layout max width

* update card min width

* set line-height

* set overflow on pre

* use flex for markdown content to prevent overflow

* collect follow-ups

* add visibility filter

* update page count

* rename var

* remove filter

* use prod ghost api key

* update ghost api

* revert line-height

* add limit to getPosts params

* update visible posts

* add related articles

* add env vars to gh

* rename eslint config package

* update gh vars

* rename envs

* set emtpy array to related posts

* fix lint-staged

* prevent importing server envs on client

* set limit

---------

Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2023-06-21 11:35:48 +01:00
Felicio Mununga 665d2df7e8 Setup apps/website (#383)
* scaffold website project with Next.js

* set tamagui target

* remove whitespace

* update clean npm scripts

* apply patches post-install

* lock tamagui version

* add patch-package to root

* patch @tamagui/core-node

* patch @tamagui/normalize-css-color

* patch @achingbrain/ssdp

* remove patches from website

* update clean script in website

* remove @tamagui/vite-plugin from dependencies

* patch @tamagui/static

* update node-version

* define env vars
2023-04-26 12:06:18 +02:00
Pavel Prichodko 81b3f7cc8c update ci workflow 2023-03-13 21:48:08 +01:00
Pavel Prichodko 069d89f71f fix lint and reformat 2023-03-13 19:22:51 +01:00
Felicio Mununga e93d992993 add release workflow (#293)
* add release workflow

* add @changesets/cli

* add `title` and `commit`
2022-07-06 15:05:33 +02:00
Pavel 0677fedc0e Setup GitHub Actions (#287)
* add new GitHub Action for CI

* add yarn flag

* use actions v3

* add ci badge (lol)

* cache lint and format scripts

* add more steps

* remove unused component

* fix lint errors

* remove unsued eslint plugins
2022-06-29 16:46:51 +02:00
Pavel f1b125cc4d Update packages to @status-im (#223)
* Downgrade to yarn v1

* Rename status-communities to status-core

* Rename chat-sdk to status-react

* Rename packages in examples

* Update readme

* Remove changelog

* Add extensions recommendations

* Update gitignore

* Rename package imports
2022-02-23 15:03:14 +01:00