Point the portal operations-guide link at the repository root

The MSP portal support row deep-linked docs/MSP.md at blob/main, which
the repo-docs link-drift guard rightly rejects: a released portal build
must not reference branch-tip docs that can move out from under it.
The row keeps the docs/MSP.md path as text and links the repository
root instead, matching every other runtime surface. Portal dist rebuilt
alongside.
This commit is contained in:
rcourtman
2026-07-11 11:11:58 +01:00
parent 32f0fd4244
commit 6b18652812
3 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
{
"source_hash": "d8861eb2959ecc855b778cfdd3c5e94973b115a01bb720778786fa8bf6d2a7da",
"source_hash": "ee52f635ea8a84c74ebb9212dae66b651f24d41a3bbf9f0ebea9f951c6136d20",
"build_inputs": [
"package.json",
"tsconfig.json",
+1 -1
View File
@@ -3343,7 +3343,7 @@
var hostedViewOnly = isHosted && !canManageHostedTasks;
var retryCopy = isHosted ? hostedViewOnly ? hasBillingSection ? "Review " + primarySectionLabel + " or Access first. If billing is involved, hand it to an owner or admin before you escalate." : "Review " + primarySectionLabel + " or Access first. If account ownership is involved, hand it to an owner or admin before you escalate." : "Retry the same " + primarySectionLabel + (hasBillingSection ? ", Access, or Billing" : " or Access") + " step before you escalate." : "Retry the same Billing step before you escalate.";
var supportActions = isHosted ? '<button type="button" class="btn-secondary btn-compact" data-shell-action="activate-section" data-shell-section="workspaces">' + escapeHTML(primarySectionLabel) + '</button><button type="button" class="btn-secondary btn-compact" data-shell-action="activate-section" data-shell-section="access">Access</button>' + (hasBillingSection ? '<button type="button" class="btn-secondary btn-compact" data-shell-action="activate-section" data-shell-section="billing">Billing</button>' : "") : '<button type="button" class="btn-secondary btn-compact" data-shell-action="activate-section" data-shell-section="billing">Billing</button>';
var providerOpsRow = context.bootstrap.provider_hosted_mode === true ? '<div class="portal-support-simple-row"><strong>Operations guide</strong><span>Backups, upgrades, firewall baseline, and the validation checklist live in <a href="https://github.com/rcourtman/Pulse/blob/main/docs/MSP.md" target="_blank" rel="noopener">docs/MSP.md</a>.</span></div>' : "";
var providerOpsRow = context.bootstrap.provider_hosted_mode === true ? '<div class="portal-support-simple-row"><strong>Operations guide</strong><span>Backups, upgrades, firewall baseline, and the validation checklist live in <a href="https://github.com/rcourtman/Pulse" target="_blank" rel="noopener">docs/MSP.md</a> in the Pulse repository.</span></div>' : "";
return '<section class="portal-support-panel"><p>Most issues clear on a retry of the same step. If it fails twice, email the details below and we will pick it up from there.</p><div class="portal-support-simple"><div class="portal-support-simple-card"><div class="portal-support-simple-list"><div class="portal-support-simple-row"><strong>Try first</strong><span>' + escapeHTML(retryCopy) + '</span></div><div class="portal-support-simple-row"><strong>Scope</strong><span>' + escapeHTML(supportRunbookPathCopy(isHosted, hostedViewOnly, showSelfHostedCommercial, hasHostedBillingAccounts(accounts), clientLanguage)) + '</span></div><div class="portal-support-simple-row"><strong>Include</strong><span>Account, email, and the exact action that failed.</span></div>' + providerOpsRow + '</div><div class="portal-support-simple-actions">' + supportActions + '<a class="portal-support-link" href="mailto:' + escapeAttr(supportEmail) + '">' + escapeHTML(supportEmail) + "</a></div></div></div></section>";
}
function renderHeaderHTML(context) {
@@ -1569,7 +1569,7 @@ function renderSupportSection(context: ShellViewContext): string {
)
: '<button type="button" class="btn-secondary btn-compact" data-shell-action="activate-section" data-shell-section="billing">Billing</button>';
var providerOpsRow = context.bootstrap.provider_hosted_mode === true
? '<div class="portal-support-simple-row"><strong>Operations guide</strong><span>Backups, upgrades, firewall baseline, and the validation checklist live in <a href="https://github.com/rcourtman/Pulse/blob/main/docs/MSP.md" target="_blank" rel="noopener">docs/MSP.md</a>.</span></div>'
? '<div class="portal-support-simple-row"><strong>Operations guide</strong><span>Backups, upgrades, firewall baseline, and the validation checklist live in <a href="https://github.com/rcourtman/Pulse" target="_blank" rel="noopener">docs/MSP.md</a> in the Pulse repository.</span></div>'
: '';
return (
'<section class="portal-support-panel">' +