Commit Graph
17 Commits
Author SHA1 Message Date
Satoshi Qazi Muhammed 1978e00ad1 Run the slow specs again
- Removes the skip from Bounties and CreateAccount.
- test:slow runs only the .slow. specs.
- Each step waits up to 20s instead of the 1s default, since it waits on a
  live chain. The previous setting is restored when the file ends.
- assertDevNode fails a spec at once when no dev node answers. Without it the
  api keeps reconnecting and the spec waits until the job's timeout.
2026-10-12 01:46:05 +04:00
Satoshi Qazi Muhammed 3767c819e3 Accounts, Contacts and Sidebar specs: follow the current table layout, run them
The three suites were skipped since the table rework. What changed under them:

- An account or contact spans three rows (main, total balance, details),
  marked from isFirst; the helpers paired rows by two and filtered on a
  row class the rows no longer carry. A collapsed details row is hidden,
  so rows are read including hidden ones.
- Accounts render one table per account group; the page object reads the
  rows of every group table in order, and the sorting fixture keeps its
  three accounts in one group, since sorting applies within a group.
- The expand toggle is the row's expand column, not a row-toggle element.
- useAccountInfo reads ownership from the keyring context, which the test
  page did not provide, so saving a name did nothing; the page now renders
  the real KeyringCtxRoot. The mock api gains consts.system.ss58Prefix.
- Badge popups (react-tooltip v6) render only while hovered; the specs
  hover the badge first. The multisig badge needs the isMultisig flag.
- Addresses are shown in full and shortened by css; the fixtures with
  shortened addresses are gone.
- The total balance, transferable and locked cards are always shown, as
  placeholders without accounts; the specs check that instead of their
  absence.
- Checks that needed matchers the runner lacks (not.toHaveLength,
  toHaveProperty, toThrow with a contained message) are written against
  the DOM directly.
2026-10-10 16:28:39 +04:00
Satoshi Qazi Muhammed 0c5b47ce0e Integration specs: node:test module mocks instead of jest.mock
The account, address, sidebar and bounties specs replaced hooks with
jest.mock, which the node:test runner does not have, so all five failed
to load and were excluded from yarn test. They now register mocks with
mock.module from node:test and import the page under test afterwards,
since Node only swaps a module that has not been loaded yet.

- test-support/mocks: mockPageHooks() replaces the hooks a Page reads.
  An ES module mock replaces every export, so each mock lists them all
  (useBestNumber's useBestNumberRelay included). The real useAccountInfo
  is wrapped, typed now, with the fixture identity merged in a typed
  helper.
- The page-specific mocks live with their page: useMultisigApprovals in
  page-accounts/test, useAddresses in page-addresses/test.
- jest-dom matchers were never registered for this runner; specs and
  page elements use assertHasClass, assertTextContent and assertVisible
  from test-support, with the same meaning.
- Page's mock api gains apiIdentity, which useAccountInfo reads.
- The bounties voting tooltip renders hidden and fades in, so the spec
  waits for it to become visible.
- jest/expect-expect counts the assert* helpers as assertions; the
  disable comments that only existed for that are removed.

Create and Bounties run green. Accounts, Addresses and Sidebar load and
stay skipped as upstream left them (their FIXMEs are about the reworked
tables). Needs @pezkuwi/dev 0.86.6 for the module mocks flag and the
fuller browser env.
2026-10-10 11:42:13 +04:00
Satoshi Qazi Muhammed 9302b4ff16 Tests: build types by the app's names; fix rebrand-broken fixtures
- The static metadata in @pezkuwi/types-support predates the rename and
  only knows Pallet* names, while the app (and the test-support creation
  helpers) use PezpalletBountiesBountyStatus, PezpalletAllianceCid, ...
  createAugmentedApi now also registers the @pezkuwi/types-augment
  lookup definitions, and createLookupRegistry gives specs a plain
  registry that knows them.
- calculateBountyBond: the description had been rewritten from
  "Kusama" (24 bytes) to "Dicle" (23 bytes) with the expected bond left
  for 24; now "Pezkuwi network UI Bounty" (25 bytes) and its value.
- page-alliance had no tsconfig.spec.json, so its spec was never
  type-checked; added, and specs are excluded from its build config.
2026-10-10 07:12:12 +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
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] 9a2dca4b03 [CI Skip] bump/beta 1.0.2-1-x
skip-checks: true
2026-01-18 03:14:42 +00: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
Kurdistan Tech Ministry a663274a7e Update package versions to match root resolutions 2026-01-17 18:42:49 +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 8416c121a1 chore: update copyright year to 2026 2026-01-08 00:30:05 +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