Commit Graph
75 Commits
Author SHA1 Message Date
Satoshi Qazi Muhammed 45d479d2ec Move to @pezkuwi/dev 0.86.4 (eslint 10 toolchain)
- dev ^0.86.4 at the root and in packages/apps; directives renamed by
  pezkuwi-dev-migrate-eslint10.
- eslint --fix with the 0.86.4 config; one fix broke syntax
  (typescript-eslint prefer-optional-chain turned
  `(isStarted && onStart) && onStart()` into `(isStarted && onStart?.();`
  in TxButton) and is corrected by hand.
- The remaining findings fixed rather than disabled: optional chains
  (each suggestion reviewed), `cause` on rethrown errors, `if` instead of
  `a && promise` in effects, parallel instead of sequential awaits in
  Promise.all, Error rejections, no `delete` on arrays (the storage query
  cache is a Map; an upload's file list no longer keeps a hole), no
  `[object Object]` stringification (TFunction's second argument is text
  or options), dead code removed (referenda's never-shown expand button,
  react-query's unused CoreDescriptor).
2026-10-10 02:06:12 +04:00
Satoshi Qazi Muhammed c800e9affb RoboHash: generate the import-sort directive only where it is used
The generator put `/* eslint-disable simple-import-sort/imports */` in
every generated image module, but only the two index files import
anything; eslint 10 reports the other 1533 as unused directives. It also
wrote import paths without the `.js` extension the committed index files
carry, so regenerating no longer reproduced them. Both fixed; the
generator now reproduces all 1535 committed files byte for byte.
2026-10-10 02:06:12 +04:00
Satoshi Qazi Muhammed 00e4a2f67b Make the PR workflow a real gate
- continue-on-error is removed; lint, test, build:code and build:i18n
  each have to pass, with fail-fast off so each reports on its own
- after each step the tree must be unchanged: eslint --fix, the i18n
  catalogue and typesBundle.ts are all rewritten by these steps
- the chmod step is dropped; the scripts are run through node
2026-10-08 12:06:45 +04:00
Satoshi Qazi Muhammed 465ac76a0a Regenerate typesBundle.ts
build:code regenerates this file from the chain specs; 7a4bbea edited
it by hand and removed the zeitgeist market and court types, so every
build rewrote it and the committed copy was never what the build used.
It is the generator's output again; lint, build and tests pass on it.
2026-10-08 12:06:45 +04:00
Satoshi Qazi Muhammed e450945f22 Move to the fixed @pezkuwi crypto stack
The resolutions held the whole tree on wasm-crypto 7.5.17, util-crypto
14.0.25, api 16.5.36, ui 3.17.2 and extension-dapp 0.62.20, the
releases where ed25519, secp256k1, derivation and bip39 were not
implemented in wasm-crypto. Every @pezkuwi pin moves to the release
that has them: common 14.0.26, wasm 7.5.20, api 16.5.37, ui 3.17.3 and
extension 0.62.27; @pezkuwi/dev ^0.85.12. After `yarn dedupe` each
@pezkuwi package resolves to a single version.
2026-10-08 12:06:45 +04:00
SatoshiQaziMuhammedandClaude Opus 5.5 ef5d58fdea Move to react-router 7.18 (#76)
Every 6.x release is inside both open advisories, so no 6.x update closes
them: GHSA-wrjc-x8rr-h8h6 (open redirect via a backslash in <Link> and
useNavigate) and GHSA-337j-9hxr-rhxg (SSR hydration; not reachable here,
this is a client-only HashRouter app). 7.18 in library mode keeps every API
the app imports (Routes, Route, Link, NavLink, Navigate, useLocation,
useParams, HashRouter, MemoryRouter) and bundles @remix-run/router.

The one behaviour v7 changes, relative links under splat routes, does not
occur: no route path ends in '*', tab links are absolute (basePath) and the
top level picks the page from location.pathname.

Measured: 17 routes opened in Chromium against the live 6.x build and this
build give the same URL, active tab, tab count and tab-click target, with no
page errors. Tests 89/89, lint and type check green.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 02:34:20 +04:00
SatoshiQaziMuhammedandClaude Opus 5.5 daa061074e Remove the inherited auto-approve and auto-merge bots (#77)
Both came with the upstream template: a pull request labelled '-auto' was
approved for an upstream maintainer's account and squash-merged once its
checks reported, through the upstream author's own actions. The label does
not exist here and neither workflow ever acted (2 runs each, both on other
labels), but the path was open: it merges without review, and the PR checks
it waited on run with continue-on-error.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 02:34:11 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 895fa17d63 Update vulnerable web dependencies within the shipped bundle
- react-router 6.30.6 / @remix-run/router 1.23.4 (open redirect, XSS advisories)
- styled-components 6.5.3, which brings postcss 8.5.28
- query-string 9.5.1 for decode-uri-component 0.5.0; parse() is the only API
  used and is unchanged
- in-range lockfile refresh

Bundle compared against the live build of 570586b: vendor chunks and the
loader change; the one page chunk that differs only renumbers the
query-string module. Tests 89/89, lint and type check green.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 05:43:56 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 570586bae3 Deploy apps.pezkuwichain.io from main behind an approval
push-main.yml now builds build:www on every push to main and, once the
production environment is approved, copies it to the web host and switches
to it. The host keeps releases side by side and serves a 'current' symlink,
so going live is one rename and rollback is a dispatch with an earlier sha.
.github/deploy/release.sh checks the switch through nginx for the public
name and restores the previous release if the new one is not served.

Ships env-config.js, which index.html loads: on a static host the request
fell through to index.html and the browser ran HTML as a script.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 04:33:58 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 f3e338df6d Remove the inherited gh-pages, IPFS and Docker Hub release tooling
None of it could run here: the repository has no Pages site, no Pinata or
Crust credentials and no npm token, and docker/build.sh pushed to the
upstream author's Docker Hub account. Remove the release scripts, the IPFS
uploader with @pinata/sdk (axios 0.21) and @crustio/crust-pin, and
public/ipfs, whose pin.json and redirect pointed at another project's IPFS
build from this site.

README: the hosted URL is apps.pezkuwichain.io; drop the IPFS and desktop
chapters and the pull of a Docker image that does not exist. .gitignore
listed '.log' where '*.log' was meant, which let start.log in.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 04:33:58 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 f72ba84aac Drop the isElectron flag from the API context
Only the Electron renderer ever set isElectron to true; the web entry passed
false. With that package gone the flag is constant, so remove it from
ApiCtxRoot, the context types and its consumers, together with the
pezkuwi.js.org link base it selected. In-browser account storage and the
WebUSB ledger option now follow the settings alone, as they already did on
the web.

Runtime environment detection (getEnvironment, ExternalWarning) reads the
user agent and is left as is.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 04:33:58 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 d14acff1d3 Sort ApiPromise options so lint passes on main
sort-keys has rejected packages/react-api/src/Api.tsx since signedExtensions
was added after signer, so every lint run on main stopped there.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 04:33:58 +04:00
Satoshi Qazi MuhammedandClaude Opus 5.5 d4cc96df1f Remove the unreleased Electron desktop package
packages/apps-electron was never released, and electron 28, electron-builder
and their tooling (got, tar, app-builder-lib, builder-util-runtime) were most
of the dependency advisories left in this repo. Drop the package, its scripts,
the build:electron CI step, its i18n namespace and the deps only it used
(concurrently included).

The shipped web bundle changes by one string: "apps-electron" leaves the
i18n namespace list.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-04 04:33:58 +04:00
github-actions[bot] fd7e4522e2 chore: migrate git dependencies to Gitea mirror (git.pezkuwichain.io) 2026-04-21 18:53:14 +03:00
github-actions[bot] 9e6370e04c fix: add AuthorizeCall signed extension for PezkuwiChain transactions
PezkuwiChain requires AuthorizeCall as the first signed extension in
all transactions. Without this extension properly configured, transactions
fail with "bad signature" errors.

Added signedExtensions configuration to:
- ApiPromise.create() in Api.tsx
- getApi() in StakingAsync.tsx
- Test API creation functions

This fix enables proper transaction signing for PezkuwiChain mainnet
and teyrchains (Asset Hub, People Chain).
2026-02-02 17:43:18 +03:00
github-actions[bot] 7ac7bb3304 fix: TypeScript strict typing and update @pezkuwi packages
- Fix Vec type casting in nominate, kick, and multisig operations
- Update all @pezkuwi packages to latest stable versions (API 16.5.36, Common 14.0.25)
- Regenerate logo SVG files
2026-02-01 22:50:38 +03:00
github-actions[bot] e12bef7e74 fix: update @pezkuwi/api packages to 16.5.22 2026-01-31 18:21:34 +03:00
github-actions[bot] 8afbd3e402 chore: update @pezkuwi packages to latest versions
- @pezkuwi/api: 16.5.18 (mainnet genesis hash fix)
- @pezkuwi/types-known: 16.5.18
- @pezkuwi/keyring: 14.0.13
- @pezkuwi/util: 14.0.13
- All other @pezkuwi packages updated
2026-01-31 08:19:47 +03:00
github-actions[bot] b2e2798d8c feat: update branding, genesis hash, and fix UI issues
- Update PEZKUWI_GENESIS to correct hash (0x1fc56b6a5fcd50358707f69b2b0bb0c8ab1fea2bcfc5eba7279efbcafef642af)
- Change highlight color from pink/orange to Kurdistan green (#86e62a)
- Add critical CSS in index.html to fix initial theme load issue
- Fix metadata badge showing incorrectly on every page load
- Fix block time text rendering vertically in explorer
- Update SVG logos with correct branding colors
2026-01-30 11:10:18 +03:00
github-actions[bot] 7e3a96ef5a fix: sort imports to pass ESLint 2026-01-22 18:45:11 +03:00
github-actions[bot] b6dab363ca fix: restore @pezkuwi/merkleize-metadata dependency 2026-01-22 18:18:05 +03:00
github-actions[bot] b7b32f9a18 merge: resolve conflicts from master 2026-01-22 18:11:44 +03:00
github-actions[bot] 42d2133428 fix: rebrand @polkadot/hw-ledger-transports to @pezkuwi/hw-ledger-transports 2026-01-22 18:07:32 +03:00
github-actions[bot] 3cbd19873c [CI Skip] bump/beta 1.0.2-1-x
skip-checks: true
2026-01-22 17:42:21 +03:00
github-actions[bot] bb00ade867 refactor: use @pezkuwi/merkleize-metadata instead of @polkadot-api/merkleize-metadata 2026-01-22 17:11:14 +03:00
github-actions[bot] 51776a9da1 chore: update @pezkuwi package versions and regenerate yarn.lock 2026-01-22 16:54:20 +03:00
github-actions[bot] 252ec718cc chore: update yarn.lock for @pezkuwi/vanitygen 2026-01-22 15:45:39 +03:00
github-actions[bot] 0dfd378e2e fix: workflow fixes and vanitygen rebrand
Workflows:
- lock.yml: GH_PAT_BOT → github.token
- chain-endpoints.yml: repo name polkadot-js/apps → pezkuwichain/pezkuwi-apps
- test-nightly.yml: add 120min timeout
- auto-approve.yml: update token and authors
- auto-merge.yml: update token

Dependencies:
- @polkadot/vanitygen → @pezkuwi/vanitygen
2026-01-22 15:43:25 +03:00
github-actions[bot] 9a2dca4b03 [CI Skip] bump/beta 1.0.2-1-x
skip-checks: true
2026-01-18 03:14:42 +00:00
github-actions[bot]andClaude Opus 4.5 934d0fbf44 Fix GH_PAT format for GITHUB_TOKEN authentication
GITHUB_TOKEN requires x-access-token: prefix for git push URLs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 05:52:50 +03:00
github-actions[bot] 5ebf39a5be Fix git credentials for gh-pages deployment 2026-01-18 04:48:32 +03:00
github-actions[bot] 0e4b043848 [CI Skip] bump/beta 1.0.2-0-x
skip-checks: true
2026-01-18 01:42:49 +00:00
github-actions[bot] 2ddbc7f65a Add permissions to Main workflow for GITHUB_TOKEN push access 2026-01-18 04:37:15 +03:00
github-actions[bot] 4d98ae49c9 [CI Skip] release/stable 1.0.1
skip-checks: true
2026-01-18 04:24:49 +03:00
github-actions[bot]andClaude Opus 4.5 8ac4904573 Fix extension-dapp resolution: upgrade to 0.62.20
The 0.62.19 package had a broken structure (missing types field,
wrong main entry pointing to non-existent index.js).

Version 0.62.20 has the correct package structure with:
- main: "./build/cjs/index.js"
- types: "./build/index.d.ts"

Updated resolutions in package.json to force 0.62.20 instead of
^0.62.18 which resolved to the broken 0.62.19.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 03:32:14 +03:00
github-actions[bot] 71ed429101 Trigger CI 2026-01-18 01:14:40 +03:00
github-actions[bot] 63dd8d03a3 Fix styled-components TS2742 error in TrackDropdown 2026-01-18 00:42:01 +03:00
github-actions[bot] 6265fab115 Add fresh yarn.lock for yarn berry 2026-01-18 00:16:05 +03:00
github-actions[bot] 043eb7c772 chore: trigger workflow refresh 2026-01-17 23:24:25 +03:00
github-actions[bot] 8bcd331809 fix: pin TypeScript to 5.5.4 and fix webpack header 2026-01-17 19:51:32 +03:00
Kurdistan Tech Ministry a663274a7e Update package versions to match root resolutions 2026-01-17 18:42:49 +03:00
Kurdistan Tech Ministry ce478eb493 Update @pezkuwi/extension packages to 0.62.18 2026-01-17 16:31:45 +03:00
Kurdistan Tech MinistryandClaude Opus 4.5 0db06287a0 feat: add landing page for network.pezkuwichain.io
- Added hero landing page with Digital Kurdistan State branding
- Header with Explorer and Go to Home Page buttons
- Background image with Kurdistan map
- Landing page shows when no hash route, app loads on #/explorer

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 13:50:44 +03:00
Kurdistan Tech Ministry 9d188e6a05 chore: update @pezkuwi/phishing to 0.25.28 2026-01-09 04:29:03 +03:00
Kurdistan Tech Ministry 331bb72166 chore: update @pezkuwi/phishing to 0.25.27 2026-01-09 04:21:30 +03:00
Kurdistan Tech Ministry d45ed809cb chore: update @pezkuwi/extension-inject to 0.62.14 2026-01-09 03:34:21 +03:00
Kurdistan Tech Ministry 01e80cafd6 fix: add extension-dapp and extension-inject to resolutions
Fixed nested node_modules chainType mismatch by adding @pezkuwi/extension-dapp
and @pezkuwi/extension-inject to resolutions to ensure consistent bizinikiwi
chainType across all packages.
2026-01-09 03:22:19 +03:00
Kurdistan Tech Ministry 6532bc136c chore: update @pezkuwi/extension-inject to 0.62.14 2026-01-09 03:12:48 +03:00
Kurdistan Tech MinistryandClaude Opus 4.5 2b3eb415f8 chore: update @pezkuwi/ui packages to 3.17.2
- Update resolutions to use @pezkuwi/ui-* packages 3.17.2
- Fix webpack alias for @pezkuwi/ui-shared (flat package structure)
- Regenerate yarn.lock with correct dependencies

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 02:05:52 +03:00
Kurdistan Tech MinistryandClaude Opus 4.5 a9681f7c9f chore: update pezkuwi-ui dependencies to 3.17.1
- Update @pezkuwi/react-identicon to ^3.17.1
- Update @pezkuwi/react-qr to ^3.17.1
- Update @pezkuwi/ui-keyring to ^3.17.1
- Update @pezkuwi/ui-settings to ^3.17.1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 01:36:18 +03:00