Skip to content

backport: translations 2026-10 (#7984) - #7989

Merged
PastaPastaPasta merged 1 commit into
dashpay:v24.0.xfrom
PastaPastaPasta:backport/v24.0.x-7984-translations
Oct 31, 2026
Merged

PastaPastaPasta merged 1 commit into
dashpay:v24.0.xfrom
PastaPastaPasta:backport/v24.0.x-7984-translations

Conversation

@PastaPastaPasta

@PastaPastaPasta PastaPastaPasta commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Issue being fixed or feature implemented

Note: AI-translated. Most new strings here were translated by AI, as in #7984. See that PR for exactly which strings and how they were checked.

Backport of #7984 (develop, merged as 6b79455) to v24.0.x. v24.0.0 adds about 1,176 new GUI strings (masternode registration wizard, shared masternodes, governance proposals and voting, network widget, wallet migration, new core errors). Without this backport, every non-English UI in v24.0.0 final shows them in English.

What was done?

git cherry-pick -m1 -x 6b79455102e, as one commit. It applied without textual conflicts. One problem didn't show up as a conflict, and it is resolved inside that same commit and described in its message:

  • chore: Translations 2026-10 #7984's language files were generated against develop's source strings (2718). Develop no longer has five strings that v24.0.x still uses (2706), so taking develop's files as-is would have lost their existing translations in all 20 languages:

    • PSBTOperationsDialog "Dialog"
    • QObject "Internal"
    • the three -reindex-chainstate option is not compatible with -txindex/-coinstatsindex/-blockfilterindex errors

    Those 100 messages (5 strings in each of the 20 languages) are restored verbatim from this branch's previous files, in dash_en.ts order. Nothing is newly translated.

  • The source strings are left as they are on v24.0.x. chore: Translations 2026-10 #7984 doesn't touch dash_en.ts, dash_en.xlf or dashstrings.cpp, and make -C src translate on this branch produces no diff (2706 strings, 0 new). That means no develop-only strings enter the v24.0.x source.

The language files still contain 17 develop-only messages, such as the network names in QObject and the external-signer errors. No v24.0.x source string matches them, so the GUI never shows them. They are kept so the files differ from develop only by the five restored strings.

How Has This Been Tested?

  • Coverage: every one of this branch's 2706 dash_en.ts source strings has a finished translation in all 20 languages.
  • lrelease: compiles every .ts file, with 2723/2723 finished per language. make -C src qt/qrc_dash_locale.cpp and the matching object file build against depends.
  • Post-processing: contrib/devtools/update-translations.py changes nothing.
  • Provenance: apart from develop's files, every line in this commit already exists in that language's file on v24.0.x.
  • Lint: lint-qt-translation.py, lint-files.py, lint-whitespace.py and lint-git-commit-check.py pass.

Breaking Changes

None.

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

🤖 Generated with Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-31T02:42:49.306243Z
We couldn’t complete this review. Comment @codex review to try again.
1b93143 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@PastaPastaPasta PastaPastaPasta added this to the 24 milestone Oct 31, 2026
@thepastaclaw

thepastaclaw commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

♻️ No change to this PR's diff since commit 1b93143 (an empty commit, a merge of the base or a rebase onto it): that review stands — approved; @thepastaclaw review asks for a review of this commit (commit 4f4d188)

@thepastaclaw thepastaclaw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Final validation — Phase 1 + Phase 2

No actionable issues were found in the translation backport at 1b93143. Static verification confirmed all 20 cherry-picks match their source patches, all 2,706 English message keys have finished translations in every changed catalog, and the 100 restored messages match the base versions. No builds or tests were run locally; current CI reports lint and the fuzz build passing, nine source-build checks pending, and no failed checks.

Review provenance

Source: reviewer 1: muse-spark-1.3-contributor (agent: phase1-reviewer, role: general); reviewer 2: gpt-6.1-sol (agent: phase2-reviewer, role: general); reviewer 3: gpt-6.1-sol (agent: phase2-reviewer, role: backport-reviewer); reviewer 4: gpt-6.1-sol (agent: phase2-reviewer, role: dash-core-commit-history); final verifier: gpt-6.1-sol (agent: sol-verifier, role: final-verifier)

  • Triage: normal by gpt-6.1-sol (effort low) — This large translation update changes user-visible GUI text across 20 languages and requires coverage, placeholder, and backport-preservation checks, but does not change critical executable surfaces.
  • Phase 1 reviewers: muse-spark-1.3-contributor — general (completed, effort xhigh); agent phase1-reviewer
  • Phase 1 model: muse-spark-1.3-contributor — not quota-gated; passed over gemini-3.8-flash-high (antigravity quota lookup failed), glm-5.3-flash (not used above high effort; tier asks max)
  • Fresh verifier: gpt-6.1-sol — final-verifier; agent sol-verifier
  • Phase 2 reviewers: gpt-6.1-sol — general (completed, effort high); agent phase2-reviewer, gpt-6.1-sol — backport-reviewer (completed, effort high); agent phase2-reviewer, gpt-6.1-sol — dash-core-commit-history (completed, effort high); agent phase2-reviewer

@thepastaclaw thepastaclaw added the pastaclaw:approved thepastaclaw's latest review approved this PR label Oct 31, 2026
83e817f zh_TW (pasta)
5aaed6c zh_CN (pasta)
a935764 vi (pasta)
403a9cd tr (pasta)
9177f92 th (pasta)
ae598ed sk (pasta)
b2acc98 ru (pasta)
6456385 ro (pasta)
2c198eb pt (pasta)
b2f41ac pl (pasta)
eed8d3c nl (pasta)
e9a77e7 ko (pasta)
b40b565 ja (pasta)
8bc1b94 it (pasta)
f5d5251 fr (pasta)
ba34fe0 fi (pasta)
702c6f9 es (pasta)
82e0f63 de (pasta)
3aa0119 bg (pasta)
02c5b51 ar (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Note: AI-translated (see below for exactly which strings).

  v24.0.0 adds about 1,176 new GUI strings: the masternode registration wizard, shared masternodes, the governance proposal list and voting dialog, the network/information widget, wallet migration, and new core error messages. None of them are translated in any shipped language yet, so without this PR every non-English UI would show them in English in v24.0.0 final.

  ## What was done?
  The English source is already current on `develop` (regenerated in b8f10bc). Running `make translate` again on this base produces no diff, so unlike dashpay#7141 there is no `en` commit. Each commit below updates one language and is named by its language code.

  Source of each string, per language (ar bg de es fi fr it ja ko nl pl pt ro ru sk th tr vi zh_CN zh_TW):

  | | per language |
  |---|---|
  | Kept as-is (existing translations, identical to Transifex) | 1,542 |
  | Updated from Transifex | 0, except ru: 1 (`ProposalModel` "Funded": Профинансировано → Финансируемое) |
  | **AI-translated** (strings with no translation in the repo or on Transifex) | **1,176** |
  | Dropped (no longer in the English source) | 110 |

  - **Transifex:** the translations were pulled read-only (`tx pull --translations --force --all`). The Transifex resource still has the pre-v24 source (1,652 strings), so it doesn't have the new strings yet. For all 20 shipped languages its translations match the repo, apart from the ru change above. Where a Transifex translation exists, it is used.
  - **AI translations:** these were written per language, with terminology taken from that language's existing file (masternode, collateral, InstantSend, ChainLocks, Dash, Platform, formality, pt-BR, etc.). Format specifiers, HTML tags and attributes, accelerators, and plural forms follow the source and the file's existing plural count. No existing translation was rewritten.
  - **Other Transifex languages:** Transifex also has 22 languages that we don't ship (af, bar, be, ca, cs, da, el, eo, et, fa, hu, id, kk, lt, lv, mk, ms, nb, sl, sv, uk, yo). Each is at most about 20% translated against the new source. They aren't added here, so `dash_locale.qrc` and `Makefile.qt_locale.include` are unchanged.
  - **File format:** the files were written in en.ts order and then post-processed with `contrib/devtools/update-translations.py`, so their format matches the existing files (no locations, no XML declaration).

  ## How Has This Been Tested?
  - **update-translations.py:** post-processing reports no format-specifier mismatches and drops nothing. Running it again changes nothing.
  - **Extra checks on every AI string:** a stricter checker covered Qt `%N` and printf specifiers, HTML tag and attribute equality, `&` accelerator count, newline count, script and language detection, and address patterns. It also checked for misalignment: digits that don't match the source, length outliers, and one translation reused for different source strings. It found 0 errors in all 20 languages.
  - **Provenance:** every message in the final files was checked to come from the existing file, Transifex or the reviewed AI output, with nothing else changed.
  - **Manual review:** an independent review of a sample from every language (all plural, HTML and accelerator strings, plus a random sample) looked for the kinds of mistakes fixed in dashpay#7142: wrong or unrelated meaning, leftover English, broken plurals, and inconsistent terms. Its findings are fixed here.
  - **Build:** `lrelease` compiles all 21 files (2,718/2,718 finished each), and `make -C src qt/qrc_dash_locale.cpp` builds. The "Removed plural forms" notices from lrelease were already there on `develop`.
  - **Lint:** `lint-qt-translation.py`, `lint-files.py`, `lint-whitespace.py` and `lint-git-commit-check.py` pass.

  ## Breaking Changes
  None.

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

  🤖 Generated with [Claude Code](https://claude.com/claude-code)

ACKs for top commit:
  UdjinM6:
    utACK 83e817f

Tree-SHA512: fec3eb4a7544d4eb692dfa4cc51b1dee6d0e83c577517bb1abc9104a16064d063efe3ba5d05718e68979e42502d6c5ce378b242c28d7284aab9da5d35b8b2dd6

Backport notes for v24.0.x: dashpay#7984's language files were generated
against develop's source strings, which drop five strings that
v24.0.x still has. Keeping develop's files as-is would lose their
existing translations in every language, so they are restored
verbatim from this branch's previous files, in dash_en.ts order:

- PSBTOperationsDialog: "Dialog"
- QObject: "Internal"
- dash-core: the three "-reindex-chainstate option is not compatible
  with -txindex/-coinstatsindex/-blockfilterindex" errors

The source strings (dash_en.ts, dash_en.xlf, dashstrings.cpp) are
unchanged; dashpay#7984 does not touch them and `make -C src translate` on
v24.0.x produces no diff.

(cherry picked from commit 6b79455)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PastaPastaPasta
PastaPastaPasta force-pushed the backport/v24.0.x-7984-translations branch from 1b93143 to 4f4d188 Compare October 31, 2026 05:41
@thepastaclaw thepastaclaw added pastaclaw:approved thepastaclaw's latest review approved this PR and removed pastaclaw:approved thepastaclaw's latest review approved this PR labels Oct 31, 2026
@PastaPastaPasta
PastaPastaPasta merged commit d693c69 into dashpay:v24.0.x Oct 31, 2026
45 of 46 checks passed
@thepastaclaw thepastaclaw removed the pastaclaw:approved thepastaclaw's latest review approved this PR label Oct 31, 2026
PastaPastaPasta added a commit that referenced this pull request Nov 2, 2026
914c052 docs: add #8003 to the v24.0.0 release notes and man pages (pasta)
e81c511 Merge #8003: fix(net): don't refuse to start over the automatic onion service unless -listenonion=1 (merge-script)
41b4578 ci: run cppcheck as test/lint/cppcheck-dash.py, as develop does since #7966 (pasta)
c97f3b3 docs: regenerate man pages for v24.0.0-rc.6 (pasta)
784312c docs: add the v24.0.0-rc.6 changes to the v24.0.0 release notes (pasta)
f15a53a Merge #7991: fix(qt): shared masternode wizard fixes for taken shares, unconfirmed funding and reply handling (merge-script)
1c46224 Merge #7995: fix(wallet): don't let a waiting CoinJoin promotion/demotion queue block standard mixing (merge-script)
546db2f Merge #7996: fix(wallet): fill a CoinJoin promotion with sibling coins when needed (merge-script)
349859f Merge #7957: fix(qt): validate shared-masternode shares with the consensus rules (merge-script)
9091f0b Merge #8005: backport: bitcoin#27114, bitcoin#33395 (merge-script)
e915ab5 Merge #7990: fix(wallet): pay for 3 byte input and output counts so 253+ input sends work (merge-script)

Pull request description:

  ## Issue being fixed or feature implemented

  Backports and release prep for v24.0.0-rc.6, on top of `v24.0.x` at d693c69 (the v24.0.0-rc.5 tag 8163290 plus the 2026-10 translations, #7989). After this PR, rc.6 only needs tagging and building.

  ## What was done?

  Cherry-picked (`git cherry-pick -m1 -x`) every develop merge since rc.5 that carries `backport-candidate-24.0.x`, in develop merge order:

  - #7990 fix(wallet): pay for 3 byte input and output counts so 253+ input sends work
  - #8005 backport: bitcoin#27114, bitcoin#33395
  - #7957 fix(qt): validate shared-masternode shares with the consensus rules
  - #7996 fix(wallet): fill a CoinJoin promotion with sibling coins when needed
  - #7995 fix(wallet): don't let a waiting CoinJoin promotion/demotion queue block standard mixing
  - #7991 fix(qt): shared masternode wizard fixes for taken shares, unconfirmed funding and reply handling (labeled for 24.0.x, milestone 24.1)
  - #8003 fix(net): don't refuse to start over the automatic onion service unless -listenonion=1 (picked after the CI commit below, once it merged)

  Every pick changes exactly the same lines as its develop merge, except for one test-only adaptation in #8005, described in its commit message, and #8003's `doc/release-notes-7300.md` hunk, which lands in `doc/release-notes.md` (that file was folded in for v24.0.0 by #7970). bitcoin#27114 makes `wallet_import_rescan.py` restart its pruned nodes with their real `-prune` arguments; before, the restart passed only `-whitelist`, so they never actually ran pruned. On develop, #7860 removed the governance-disabled warning that pruned nodes print to stderr. This branch doesn't have #7860, so the test failed at shutdown on the unexpected stderr. The pick now stops the pruned nodes at the end of `run_test` with `EXPECTED_STDERR_NO_GOV_PRUNE`, the way `feature_pruning.py` does.

  Release prep, in commits after the picks:

  - `doc/release-notes.md`: `doc/release-notes-27114.md` is folded in and removed, as rc.5 did with the other individual notes (#7970). Also added: #8005's change that address-based `-whitelist` permissions no longer apply to onion inbound peers, and the CoinJoin conversion behaviour from #7995 and #7996. #7990, #7957 and #7991 fix code that is new in v24, so they get no release note.
  - #8003's release-note change replaces the v24 bullet that said nodes with `-bind` and no onion bind "refuse to start", in a separate docs commit after the #8003 pick that also regenerates `dashd.1` and `dash-qt.1` for its `-bind`/`-listenonion` help.
  - `doc/man/*.1`: regenerated with `contrib/devtools/gen-manpages.py` from a build of this branch with `CLIENT_VERSION_IS_RELEASE` set temporarily (not committed), as in #7974. Every page reads `v24.0.0`. They pick up #8005's `-whitelist`, `-whitelistrelay`, `-whitelistforcerelay` and `-blocksonly` help changes, and the `-assumevalid` defaults from #7980, which merged after the v24.0.0 man pages were generated.

  One CI-only commit follows the first six picks. Pull requests into `v24.0.x` run develop's workflow files (`pull_request_target`), and since #7966 develop runs cppcheck in its own job as `test/lint/cppcheck-dash.py`. This branch still had `test/lint/lint-cppcheck-dash.py`, so that job failed with "No such file or directory". The commit takes only #7966's rename (the script is unchanged), which also keeps develop's lint job from running cppcheck a second time through `all-lint.py`. This branch's own `lint.yml` now calls the renamed script after `ci/dash/lint.sh`, so its push CI still runs cppcheck. The rest of #7966 (the ci-slim cppcheck build and the separate job) is left out.

  Nothing else needs to change for the tag:
  - `configure.ac` is already 24.0.0 with `CLIENT_VERSION_IS_RELEASE` false, so the build takes its version string from the `v24.0.0-rc.6` tag.
  - The 2026-10 translations are already on the branch (#7989).
  - `SECURITY.md` and the flatpak entry were done in #7972.

  ## How Has This Been Tested?

  Linux x86_64 against depends, `--enable-debug --enable-werror --disable-hardening`. `dashd`, `dash-qt`, `test_dash` and `test_dash-qt` build cleanly.

  - `make check`: all unit suites pass, and `test_dash-qt` passes (run with `QT_QPA_PLATFORM=minimal`).
  - Functional tests, all passing: every test #8005 touches that the runner lists (`feature_cltv.py`, `feature_csv_activation.py`, `feature_dersig.py`, `feature_fee_estimation.py`, `interface_rest.py`, `interface_zmq.py`, `mempool_packages.py`, `p2p_filter.py`, `p2p_invalid_block.py`, `p2p_permissions.py`, `rpc_packages.py`, `rpc_rawtransaction.py`, `wallet_abandonconflict.py`, `wallet_avoidreuse.py`, `wallet_backup.py`, `wallet_balance.py`, `wallet_basic.py`, `wallet_create_tx.py`, `wallet_fundrawtransaction.py`, `wallet_groups.py`, `wallet_hd.py`, `wallet_import_rescan.py`, `wallet_importdescriptors.py`, `wallet_listreceivedby.py`, `wallet_listsinceblock.py`, `wallet_listtransactions.py`, `wallet_send.py`), plus `feature_bind_extra.py`, `feature_masternode_shares.py` and `rpc_coinjoin.py`.
  - After the #8003 pick: `feature_bind_extra.py`, `feature_proxy.py`, `interface_zmq.py`, `p2p_permissions.py` and `torcontrol_tests` pass. #8003 changes the framework's port allocation, so the full non-extended functional suite was run as well: 313 passed, 12 skipped, 0 failed (`test_runner.py -j12` on a RAM disk).
  - `wallet_import_rescan.py --legacy-wallet` failed before the adaptation above and passes with it.
  - Each pick's changed lines were compared with its develop merge.
  - Checked that every `doc/man/*.1` reads `v24.0.0` with no rc, git hash or `-dirty` suffix.

  ## Breaking Changes

  Carried over from the picked PRs:

  - #8005: address-based `-whitelist` permissions no longer apply to peers that connect through the onion service. Before, an entry such as `-whitelist=noban@127.0.0.1` gave every Tor peer its permissions. `-whitelist` also accepts `in`/`out` flags, so its permissions can apply to manual outbound connections; the default is still incoming only.
  - #8003, relative to rc.5: nodes with `-bind` and no `=onion` bind start again, as on v23, and get the default onion bind unless `-listenonion=0` is set. If the default onion bind fails, the node starts without an onion service, unless `-listenonion=1` was set explicitly. A wildcard `=onion` bind is still an error while `-listenonion` is enabled; v23 accepted it.
  - #7990: in wallets with 253 or more spendable coins, changeless transactions pay for 2 more bytes of fee.
  - #7995: while a wallet still has coins to mix, it joins promotion/demotion queues that others opened, but opens its own only when it has no standard mixing session to join or start.

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

  🤖 Generated with [Claude Code](https://claude.com/claude-code)

Top commit has no ACKs.

Tree-SHA512: 2dfc830eb45d7fbd5d39066fcd9cdb783340b28f15ac5e78c85aedfb2d8eae7d42a1c291811a5ce8e899a675e1144324eda9dca8824108e236a514dbe0297a7e
@PastaPastaPasta PastaPastaPasta mentioned this pull request Nov 4, 2026
3 of 5 tasks
PastaPastaPasta added a commit that referenced this pull request Nov 5, 2026
d6c066f chore: add v23.1.10 to the flatpak release history (pasta)
202632c chore: release v24.0.0 (pasta)

Pull request description:

  ## Issue being fixed or feature implemented

  `v24.0.x` is at `v24.0.0-rc.7` (`111a2c533e`) and still builds as a pre-release: `CLIENT_VERSION_IS_RELEASE` is `false`, so the binaries show the "This is a pre-release test build" warning. The final tag needs that flag set, and the v24.0.0 release notes don't yet list v23.1.10 (released Nov 2), which shipped after the notes were written.

  ## What was done?

  - `configure.ac`: set `_CLIENT_VERSION_IS_RELEASE` to `true`. The version is already 24.0.0.
  - `doc/release-notes/dash/release-notes-23.1.10.md`: archive the v23.1.10 notes, copied byte for byte from the `v23.1.10` tag.
  - `doc/release-notes.md`: add v23.1.10 to "Older releases" and start the "set of changes" link from `v23.1.10` instead of `v23.1.9`. v23.1.10 is the last release before v24.0.0 and is an ancestor of this branch.

  - `contrib/flatpak/org.dash.dash-core.metainfo.xml`: add the `23.1.10` entry, copied from the `v23.1.10` tag (`2026-10-30`, the date that tag recorded). The `24.0.0` entry dated `2026-11-05` was already there.

  Nothing else changes. Code, consensus and activation parameters, chainparams, seeds, translations and man pages are as they were at rc.7. Those were updated earlier in #7974, #7982 and #7989.

  ## How Has This Been Tested?

  - `git diff v24.0.0-rc.7` touches only the four files above. In `configure.ac` the only change is the `_CLIENT_VERSION_IS_RELEASE` line.
  - The archived notes match `git show v23.1.10:doc/release-notes.md` exactly (`cmp`).
  - CI runs on the PR head and is linked from this PR.
  - `xmllint --noout` passes on the metainfo file.
  - Local build of `202632c83c` on macOS with Homebrew Autoconf 2.73 (the later metainfo commit doesn't affect the build). This passed only with a local workaround, so it isn't a clean build pass:
    - `./autogen.sh && ./configure` succeeds, and the generated `src/config/bitcoin-config.h` has `#define CLIENT_VERSION_IS_RELEASE true`.
    - The first `make -C src dash-cli` failed with `bitcoin-cli.cpp:151:32: error: use of undeclared identifier 'PACKAGE_NAME'`. This Autoconf leaves all six `PACKAGE_*` macros as `#undef` in the generated header, although configure sets them in `confdefs.h`.
    - Apart from the release flag, the build inputs are the same as rc.7, so this is a local toolchain issue. Guix builds use their own autotools.
    - After copying the six `PACKAGE_*` defines from configure's `confdefs.h` into the generated, untracked header, `dash-cli` and `warnings.cpp` compiled. No tracked file was changed.
    - `dash-cli -version` prints `Dash Core RPC client version v24.0.0`. The compiled `warnings.o` no longer contains the "pre-release test build" string.

  ## Breaking Changes

  None.

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

  🤖 Generated with [Claude Code](https://claude.com/claude-code)

Top commit has no ACKs.

Tree-SHA512: 5acc7c15a58cb6f49d14c2bf02e36e8af083416375a03f35e35341db3cafb1caf81319cff6f2b14d4e86539b8dd75dca4ecc926638e39093d69cc8e4d609701e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants