Clearer default custom-domain DNS instructions and configurable DNS target
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
- #2071 @superdav42 による — マージされずにクローズ
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
調査の方向性
Start in inc/managers/class-domain-manager.php, at default_domain_mapping_instructions(), get_domain_mapping_instructions() and the domain_mapping_instructions setting near line 800. Before editing, read the failing PHP 8.2 to 8.5 CI logs from the linked PR #2071, since that attempt did not pass. Done means the default text covers apex CNAME/A fallback, www, conflicting records and Cloudflare, %DNS_TARGET% works, and stored custom instructions and the filter are unchanged.
索引モデルが issue の本文から書いたものです。
説明
What
Improve UM's default custom-domain DNS instructions and let network admins set a recommended DNS target, so end customers can map domains correctly without support.
Why
Domain_Manager::default_domain_mapping_instructions() (inc/managers/class-domain-manager.php) only says "create a new CNAME record pointing to %NETWORK_DOMAIN%". Customers struggle because:
- many DNS providers do not allow a CNAME on the apex; the text gives no A-record fallback even though
%NETWORK_IP%exists; - it does not mention the
wwwrecord (UM'sauto_create_www_subdomaincreates it, so it needs DNS too); - hosts often want customers to point at a dedicated hosting hostname, not the network's main domain; there is no setting for that;
- Cloudflare users get no guidance (proxy on/off, SSL/TLS Full (strict)).
Real case (2026-10-31): a customer on a hosted UM network pointed www.<their-domain> at an unrelated domain of theirs and needed operator help; the host had to hand-write instructions per network.
How
Files to Modify
- EDIT:
inc/managers/class-domain-manager.php—default_domain_mapping_instructions()(rewrite the default text: apex CNAME if the provider supports it, otherwise A to%NETWORK_IP%;wwwCNAME; remove conflicting records; Cloudflare note; first HTTPS visit can take a minute while SSL is issued);get_domain_mapping_instructions()(add a%DNS_TARGET%placeholder); settings registration near thedomain_mapping_instructionsfield (~line 800) — add an optionaldomain_mapping_dns_targetsetting (defaults to the network domain) and document the new placeholder in the fielddesc. - Keep the
wu_get_domain_mapping_instructionsfilter signature backward compatible.
Hazards
- Stored custom instructions must render unchanged; only the default changes.
%NETWORK_IP%comes fromDomain_Mapping\Helper::get_network_public_ip(); behind proxies/NAT it can be wrong, so phrase the A record as a fallback and letdomain_mapping_dns_targettake priority.- All new strings translatable (
ultimate-multisitetext domain).
Verification
- PHPUnit for
Domain_Managerif present; otherwise focused test ofget_domain_mapping_instructions()with: empty setting (new default), custom setting (unchanged),domain_mapping_dns_targetset (%DNS_TARGET%replaced). - Manual: Network Admin → Settings → Domain Mapping shows the new field; the add-domain modal shows the new default.
Files Scope
- inc/managers/class-domain-manager.php
Acceptance Criteria
- Default instructions cover apex CNAME/A fallback,
www, conflicting records, and Cloudflare. - Network admins can set a recommended DNS target used by
%DNS_TARGET%and the default text. - Existing custom instructions and the filter keep working.
aidevops.sh v3.39.49 plugin for OpenCode
CI Repair Feedback (from PR #2071)
The previous worker's PR #2071 had terminal failed CI checks. A head-bound
finalizer is routing this issue for redispatch. The next worker should address these failures.
Terminal failed checks
- PHP 8.5: failure — check URL — primary failing-check evidence
- PHP 8.4: failure — check URL — primary failing-check evidence
- PHP 8.3: failure — check URL — primary failing-check evidence
- PHP 8.2: failure — check URL — primary failing-check evidence
Worker guidance
- Recover the previous PR branch/commits and continue that work; do not restart from scratch.
- Read every terminal check URL above and preserve the accumulated evidence.
- Rebase the recovered work onto current
origin/main, then fix the code rather than weakening CI. - Run every listed local check and create the replacement PR from the recovered branch.
Routed by deterministic merge pass (pulse-merge.sh).
In-place repair fallback
- Reason: the bounded PR-branch repair session exhausted its retry budget
- Retry: re-run the deterministic merge pass after restoring access to branch
feature/auto-20261031-195544-gh2067; keep PR #2071 open until that retry is impossible.
In-place repair attempt outcomes
- Attempt 1: stage=
worktree_create; result=launch_failed; failure_reason=worktree_helper_failed; next_action=inspect_worktree_helper_log_and_retry - Attempt 2: stage=
worktree_create; result=launch_failed; failure_reason=worktree_helper_failed; next_action=inspect_worktree_helper_log_and_retry
- 主要言語
- PHP
- スター
- 218
- フォーク
- 87
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 101
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Ultimate-Multisite/ultimate-multisite のほかの issue
-
fix: send payment_received receipt after manual payment confirmation and email verification対応中かも @superdav42 が 5 日前に担当しました。 オープンbug origin:interactive status:in-review tier:standard
Ultimate-Multisite/ultimate-multisite#2055 · コメント 12 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
perf: lazy-load the top My Sites toolbar and defer initial site-list hydration再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンenhancement origin:worker priority:medium source:conflict-feedback status:available tier:standard
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
Ultimate-Multisite/ultimate-multisite#2015 · コメント 192 件 ·
メンテナーはふだん 1 日以内に返信
-
auto-dispatch needs-investigation origin:worker security status:available tier:standard type:bug
難易度 3/5 半日 初心者へのやさしさ 30/100
Ultimate-Multisite/ultimate-multisite#1930 ·
メンテナーはふだん 1 日以内に返信
-
hold-for-review no-auto-dispatch origin:interactive status:available type:bug
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
Ultimate-Multisite/ultimate-multisite#1892 ·
メンテナーはふだん 1 日以内に返信
-
auto-dispatch hold-for-review origin:worker review-followup source:review-scanner status:available tier:standard
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
Ultimate-Multisite/ultimate-multisite#1867 · コメント 7 件 ·
メンテナーはふだん 1 日以内に返信
Ultimate-Multisite/ultimate-multisite の issue をすべて見る
似ている issue
-
jira-created
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
grokability/snipe-it#19996 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
Add a dark themeオープンgood first issue laravel-appointment-reminders
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100