Commit Graph

102 Commits

Author SHA1 Message Date
99483d90ca feat: rename to the qapi console, and deploy it to oolon
The console is now **qapi console**, served at https://qapi.blackbeard.observer.
The papi logo and the upstream licence stay: this is a fork of
polkadot-api/papi-console, not a rewrite, and the sidebar link points at our
fork rather than theirs.

Deployment follows architecture/deployment-gitea-actions.md — the workflow is
the source of infra truth, and one-time host provisioning is an operator script:

  script/infra-setup.sh   dns  -> the Cloudflare CNAME to bl.thgttg.com
                          cert -> Let's Encrypt, DNS-01, ECDSA
                          edge -> gitea_ci, scoped sudoers, webroot, vhosts

  .gitea/workflows/deploy.yaml   build (pnpm) -> rsync the bundle -> reload

The roles run in that order because certbot uses a DNS-01 challenge and nginx
fails its config test on a missing ssl_certificate — which would block every
reload on a SHARED proxy, not just this vhost. The same reasoning bounds what CI
may do: the sudoers drop-in grants rsync into one webroot, restorecon on it,
a config test and a reload. No certbot, no /etc/letsencrypt, no sites-available
write, no useradd.

Two vhosts, per architecture/reverse-proxies.md: the public one on the https
tier at 127.0.0.1:14443 behind the stream SNI router that owns TCP 443 (binding
443 directly is undetectable by `nginx -t` and ends with nginx silently serving
stale certificates), and a qapi.internal one for mesh clients, which stays
disabled until someone mints its internal certificate.

There is no application host and no upstream: the console is a static SPA that
opens WebSockets straight from the browser to the chains' own RPC endpoints.

The build gate is `pnpm build` (tsc -b + vite build) plus a check that the
signers-common patch is applied to the copy node actually resolves. Without that
patch every signing attempt dies with `Unkown signer` in a browser, after
deploy, in front of a user — and a lockfile drift is all it would take.

`pnpm lint` is deliberately not in the gate: it is broken upstream and was
before this fork touched anything (typescript-eslint 8.69 refuses to load
against the TypeScript 7.0 this repo resolves).

Live and verified: the public name answers 200 with this console's title over
the WAN address, serving the Let's Encrypt certificate for it, and the whole
deploy path — rsync as gitea_ci through the scoped sudoers, restorecon, config
test, reload, fetch — has been run by hand end to end.

Refs #3

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
2026-09-16 08:42:06 +03:00
Victor Oliva
ed2fd05ebe fix: multisig signer when "any rpc" is selected (#184)
* chore: update dependencies

# Conflicts:
#	package.json
#	pnpm-lock.yaml

* chore: replace custom HOLLAR setup with paraspell's default one

* fix: multisig signer when "any rpc" is selected
2026-09-08 10:34:11 +02:00
Victor Oliva
4302a02c60 chore: update dependencies (#183) 2026-09-02 08:34:25 +02:00
Carlo Sala
2dec1477a8 migrate to polkadot-api v3 🎉🚀 (#156)
Co-authored-by: Victor Oliva <olivarra1@gmail.com>
2026-08-24 12:50:13 +02:00
Alex Bean
77daa11a3b feat: add paseo-bulletin support (#174)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2026-07-21 11:50:41 +02:00
Victor Oliva
ed2e59c938 chore: update dependencies (#175) 2026-07-20 17:13:57 +02:00
Victor Oliva
90d73af567 chore: update dependencies (#173) 2026-07-08 14:24:00 +02:00
Victor Oliva
640ec4dabf chore: update dependencies (#169)
* chore: update dependencies

* fix: disable new block if block is smaller

* update hydration endpoints
2026-07-03 15:23:34 +02:00
Victor Oliva
61be47c722 feat: validate and dry-run transactions (#162)
* refactor: break down SubmitTx into separate files

* add validate transaction, start dry run

* add dry run

* fix worker getting stuck after forklift is disposed

* handle rejections in promiseWithTeardown
2026-06-26 22:07:36 +02:00
Victor Oliva
d7ec471a14 feat: new chain metrics page (#159)
* playground

* playground tx and weights

* vibe UI

* chart improvements

* wip fix ai slop

* wip fix ai slop

* fix ai slop on charts

* subscribe to main state

* show blocks in chronological order, fix performance issue on startup

* update node health

* add connected peers chart

* fix unused locals
2026-06-23 13:25:57 +02:00
Victor Oliva
0c7528efc2 chore: change teleport text labels (#158)
* update deps

* chore: change teleport text labels
2026-06-15 16:25:33 +02:00
Victor Oliva
0a97404be2 feat: teleport integration with Paraspell (#153)
* integrate teleport with paraspell

* add some style

* finish up styles

* format token decimals, token input component

* fill in genesis to paraspell map

* add link to paraspell, fix invalid address on destination chain check

* codesplit teleport page

* add button to setup wallet

* chore: update dependencies

* add hash params state

* remove console logs, remove support for negative values in token input
2026-06-11 11:32:44 +02:00
Victor Oliva
b2f625ba1d chore: update dependencies (#151) 2026-06-01 14:42:29 +02:00
Victor Oliva
5db31bd94d feat: make account display and inputs copyable 2026-05-13 14:13:36 +02:00
Victor Oliva
d56697828d feat: add multisig/proxy accounts 2026-04-29 17:31:46 +02:00
Victor Oliva
c81274f14b chore: update dependencies 2026-04-29 13:06:41 +02:00
Victor Oliva
74b01d321e chore: update dependencies (#131) 2026-04-16 12:12:01 +02:00
Victor Oliva
f4698067d5 chore: add caret polkadot-api dependency 2026-04-10 08:56:51 +02:00
Victor Oliva
5c94358f7c chore: update dependencies 2026-04-09 16:51:52 +02:00
Victor Oliva
59d6305479 chore: update dependencies 2026-04-08 09:48:38 +02:00
Victor Oliva
3bade56842 chore: update dependencies 2026-03-17 11:03:14 +01:00
Victor Oliva
7e8f1b5645 fix: use CFixedBytes for react builder 2026-03-09 11:14:05 +01:00
Carlo Sala
58640a590d migrate to v2 (#118) 2026-03-05 16:18:58 +01:00
Josep M Sobrepere
d9428a8d9c Revert "migrate to v2 (#118)"
This reverts commit d4fe0b546e.
2026-03-04 16:43:20 +01:00
Carlo Sala
d4fe0b546e migrate to v2 (#118) 2026-03-01 07:23:44 +01:00
Carlo Sala
358199dc2a chore: update deps (#117) 2026-01-23 11:30:47 +01:00
Victor Oliva
1b23278c92 update dependencies 2025-11-20 23:50:01 +01:00
Josep M Sobrepere
cd8c63400a update dependencies 2025-11-16 01:03:03 -03:00
Victor Oliva
fc04a6441a feat: monaco editor + json schema for rpc_methods 2025-11-15 08:24:19 -03:00
Victor Oliva
e756e08872 chore: update deps 2025-11-11 19:15:37 -03:00
Josep M Sobrepere
f64dea31e8 update deps 2025-11-08 20:45:47 +01:00
Victor Oliva
fe6ef1cd81 change webhid to webusb, update polkahub 2025-11-07 17:59:52 +01:00
Victor Oliva
cd969be20a update to released polkahub, add more contrast to input components 2025-11-06 17:41:54 +01:00
Victor Oliva
7f9b4ad9ae replace account input with AddressInput, fix polkadot vault 2025-11-06 09:11:17 +01:00
Victor Oliva
7adfb9e3aa refactor: migrate accounts to polkahub 2025-11-05 19:56:34 +01:00
Carlo Sala
d96885f74e chore: update deps 2025-10-14 17:49:47 +03:00
Josep M Sobrepere
e5785b5a10 patch papi 2025-09-23 22:42:15 +02:00
Josep M Sobrepere
ec18347c97 upgrade to papi 1.18.0 (#84) 2025-09-21 11:30:21 +02:00
Josep M Sobrepere
d6bbc24f9d chore: upgrade papi (#82) 2025-09-06 07:56:32 +02:00
Josep M Sobrepere
b407071e03 update papi (#81) 2025-09-01 08:28:29 +02:00
Victor Oliva
cad45ae0be chore: update dependencies 2025-08-31 08:51:02 +08:00
Carlo Sala
0541cb7e39 chore: update deps 2025-08-25 09:14:58 +08:00
Carlo Sala
f5d8d5f862 chore: update deps 2025-07-17 15:31:41 +02:00
Josep M Sobrepere
e74ca383ee feat: BitSeq components and update deps (#69) 2025-07-17 15:28:58 +02:00
Josep M Sobrepere
884c172755 Cs extrinsic (#68)
* add tx-utils

* wip

* finish it

---------

Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2025-07-01 14:47:18 +02:00
Josep M Sobrepere
8d06111f30 chore: upgrade deps 2025-06-17 10:51:09 +02:00
Carlo Sala
7a60fd7035 feat: add eth address identicon (#55) 2025-06-04 11:34:48 +02:00
Carlo Sala
0ef0e2b398 chore: update deps 2025-06-03 10:58:22 +02:00
Carlo Sala
01e8c4c6bd chore: update deps 2025-06-01 12:24:12 +02:00
Carlo Sala
b2cf8b7d05 chore: update deps 2025-05-28 16:11:29 +02:00