Commit Graph
31 Commits
Author SHA1 Message Date
Satoshi Qazi Muhammed d700f9dc07 Bump @pezkuwi/dev to 0.86.7
0.86.7 makes toBeNull, not.toHaveLength, toHaveProperty and toThrow behave as
in jest: toThrow with a string matches an error that contains it.
2026-10-11 05:22:21 +04:00
Satoshi Qazi Muhammed 61c681567d Run the module-mocked page specs with @pezkuwi/dev 0.86.6
@pezkuwi/dev 0.86.6 passes --experimental-test-module-mocks through to
node and gives the browser env jsdom's own events, the DOM node
hierarchy and the layout observers. The test scripts pass the flag, and
the five integration specs that were excluded while they depended on
jest.mock (Accounts, Create, Contacts, Bounties, AccountSidebar) run
again.
2026-10-10 11:42:13 +04:00
Satoshi Qazi Muhammed 0599973705 Run the page and component unit specs in yarn test
`yarn test` excluded every ^page- and ^react- spec, and test:all (the
nightly) is disabled, so 21 of the 25 specs ran nowhere and had broken
unnoticed. The exclusions now name only the integration specs still
built on jest.mock (Accounts, Create, Contacts, Bounties, the account
sidebar) and the two that hang (Modal, Popup), plus the .slow. ones;
13 spec files run instead of 1 (137 tests). @pezkuwi/dev 0.86.5 brings
the dev-test fix toEqual(expect.arrayContaining(...)) needs.
2026-10-10 07:12:12 +04:00
Satoshi Qazi Muhammed 09fbca8121 react-tooltip 4 -> 6
react-tooltip 4 brought uuid 7 (open advisory, fixed only in 11) and
had not been maintained since 2022. Tooltip now wraps the v6 component
(no more cast); triggers use data-tooltip-id instead of data-for and
data-tip (Icon, Badge, Tag, claims payload). v6 renders the content in
.react-tooltip-content-wrapper and draws the arrow as its own element
that inherits the background, so the wrapper's child selectors point
there and the ::after arrow colours for accounts-badge are gone.

The accounts-badge block in the global styles was never closed (as
upstream); it is closed now with the same nesting, so its link colours
still apply only inside badge tooltips.

Checked in a headless browser on Zagros, the "available on all
networks" account badge: with v4 the tooltip was one 1525px line
starting off-screen at x=-260; with v6 it is 300px wide (the max-width
already in the styles), wrapped, on screen, arrow on the badge, and in
the light accounts-badge style the styles define.
2026-10-10 06:02:46 +04:00
Satoshi Qazi Muhammed 7fae8bc279 apps-config: drop the foreign chains' type bundles
typesBundle carried overrides for 140 chains inherited from upstream;
none of them is a Pezkuwi chain. The live Pezkuwi and Zagros runtimes
(pezkuwichain, asset-hub-pezkuwichain, people-pezkuwichain, zagros and
its asset hub, bridge hub, collectives, coretime and people) match no
entry and need none: they carry metadata v14+.

The spec files, the Cere chain bundle, the custom derives and the 32
npm packages they came from are removed, among them GPL-3.0-only ones
(pontem, moonbeam, subsocial, jamton) that were bundled into this
Apache-2.0 app. The spec/chain/derives mechanism stays, empty, for a
chain that ever needs one. typesBundle.ts is regenerated (15 lines).
yarn.lock loses 3250 lines, elliptic and the old @polkadot/api trees
with them.
2026-10-10 04:54:16 +04:00
Satoshi Qazi Muhammed 52da277126 Dependencies: drop unused and dead ones, close the remaining advisories
- yarn.lock refreshed within existing ranges for the open advisories.
- copy-webpack-plugin 11 -> 14 (serialize-javascript 7) and
  terser-webpack-plugin 5.6: build:www output is identical except four
  chunks where terser now emits `a ?? b` for `null == a ? b : a`.
- testcontainers (page-addresses, test-support) and devtron were never
  imported: removed (undici, @fastify/busboy, highlight.js went with
  them).
- The crypto-browserify webpack fallback was dead: build:www is
  byte-identical without it, so the fallback and the dependency are gone
  and a future `crypto` import fails the build instead of shipping a
  polyfill.
- braces resolves to @pezkuwi/braces 3.0.4, which limits nesting depth
  (CVE-2026-93687; no upstream release).
2026-10-10 04:09:47 +04:00
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 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
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 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 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] 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] b6dab363ca fix: restore @pezkuwi/merkleize-metadata dependency 2026-01-22 18:18:05 +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] 0e4b043848 [CI Skip] bump/beta 1.0.2-0-x
skip-checks: true
2026-01-18 01:42:49 +00: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] 6265fab115 Add fresh yarn.lock for yarn berry 2026-01-18 00:16:05 +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 ce478eb493 Update @pezkuwi/extension packages to 0.62.18 2026-01-17 16:31:45 +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 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 7a4bbeac25 fix: update extension packages and fix type compatibility for pezkuwi-sdk
- Update @pezkuwi/extension-inject to ^0.62.13 with proper /types exports
- Update @pezkuwi/extension-dapp to ^0.62.13
- Update @pezkuwi/extension-compat-metamask to ^0.62.13
- Fix IconTheme type to include 'bizinikiwi' and 'pezkuwi' themes
- Fix endpoint array issues (getTeleports -> direct array references)
- Add type assertions for external package compatibility (acala, moonbeam, parallel)
- Fix subspace.ts dynamic class typing
- Fix conviction type in page-referenda
- Update Pallet type names to Pezpallet prefix across codebase
- Define InjectedExtension types locally for module resolution
- Add styled-components DefaultTheme augmentation
- Add react-copy-to-clipboard type declaration for React 18

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 16:24:19 +03:00
Kurdistan Tech Ministry 0247a5238e chore: update yarn.lock for @pezkuwi/dev@0.85.3 2026-01-08 01:45:39 +03:00
Kurdistan Tech Ministry 67d71e128d feat: implement dark/light theme switching
- Add ui-settings resolution for v3.16.9
- Add CSS variables for dark/light themes in GlobalStyle
- Set default data-theme attribute on html element
- Simplify theme creation in Root.tsx
- Disable webpack error overlay for cleaner dev experience
2026-01-07 19:22:38 +03:00
Kurdistan Tech Ministry a91f2cf714 fix: update URLs, logos, and package versions
- Fix GitHub URLs from pezkuwi-js/apps to pezkuwichain/pezkuwi-apps
- Fix wiki URL from wiki.pezkuwi.network to wiki.pezkuwichain.io
- Fix support/statement URLs to use pezkuwichain.io domain
- Fix chain logos import (use variables instead of strings)
- Update @pezkuwi/networks to ^14.0.9
- Update @pezkuwi/types-known to ^16.5.8
2026-01-07 16:23:36 +03:00
Kurdistan Tech Ministry d21bfb1320 feat: initial Pezkuwi Apps rebrand from polkadot-apps
Rebranded terminology:
- Polkadot → Pezkuwi
- Kusama → Dicle
- Westend → Zagros
- Rococo → PezkuwiChain
- Substrate → Bizinikiwi
- parachain → teyrchain

Custom logos with Kurdistan brand colors (#e6007a → #86e62a):
- bizinikiwi-hexagon.svg
- sora-bizinikiwi.svg
- hezscanner.svg
- heztreasury.svg
- pezkuwiscan.svg
- pezkuwistats.svg
- pezkuwiassembly.svg
- pezkuwiholic.svg
2026-01-07 13:05:27 +03:00