Skip to content

fix(enterprise): point "Submit docs issue" button to GitHub instead of support site#7090

Merged
jstirnaman merged 14 commits intomasterfrom
claude/fix-influxdb-docs-7089-FLOCN
Apr 21, 2026
Merged

fix(enterprise): point "Submit docs issue" button to GitHub instead of support site#7090
jstirnaman merged 14 commits intomasterfrom
claude/fix-influxdb-docs-7089-FLOCN

Conversation

@jstirnaman
Copy link
Copy Markdown
Contributor

@jstirnaman jstirnaman commented Apr 10, 2026

The Enterprise condition was overriding the wrong link variable, causing
the "Submit docs issue" button to redirect to the support site. Move the
support site override to the product issue button instead.

closes #7089

https://claude.ai/code/session_01BsiKmYPhBefTYx3xs7RwjH

Please review the button links in the following pages:

…f support site

The Enterprise condition was overriding the wrong link variable, causing
the "Submit docs issue" button to redirect to the support site. Move the
support site override to the product issue button instead.

closes #7089

https://claude.ai/code/session_01BsiKmYPhBefTYx3xs7RwjH
@jstirnaman jstirnaman requested a review from a team as a code owner April 10, 2026 18:33
@jstirnaman jstirnaman requested review from sanderson and removed request for a team April 10, 2026 18:33
jstirnaman

This comment was marked as outdated.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

PR Preview Action v1.4.8
🚀 Deployed preview to https://influxdata.github.io/docs-v2/pr-preview/pr-7090/
on branch gh-pages at 2026-04-20 23:57 UTC

@jstirnaman
Copy link
Copy Markdown
Contributor Author

Visual test of PR Preview shows that now both buttons link to docs-v2 repo. Enterprise "Submit issue" should link to the support site. Telegraf "Submit issue" should link to the Telegraf repo. We should store these and others in configuration data to avoid logic conditions in templates and JavaScript.

claude added 3 commits April 11, 2026 08:34
The feedback partial used string-munged namespace logic and a hardcoded
Enterprise override to compute each product's "Submit issue" link. The
Enterprise override targeted the wrong variable, causing the "Submit docs
issue" button to redirect to the support site instead of GitHub.

Replace both patterns with a product_issue_url field on each product in
data/products.yml. The template now reads the URL directly from config,
removing the $productNamespace computation and the conditional override.

- Adds product_issue_url to all 12 products that render the feedback
  template (influxdb3_*, influxdb, influxdb_cloud, enterprise_influxdb,
  telegraf, chronograf, kapacitor, flux)
- InfluxDB 3 Enterprise now points "Submit InfluxDB 3 Enterprise issue"
  at https://support.influxdata.com/s/ (customers file issues via support)
- "Submit docs issue" correctly points to docs-v2 issues for all products

closes #7089

https://claude.ai/code/session_01BsiKmYPhBefTYx3xs7RwjH
Adds a two-layer check that guards against the class of bug fixed in
#7089, where a conditional override in feedback.html routed the wrong
button to the support site. The refactor moved URLs into products.yml;
this test prevents regression to the conditional pattern.

Layer 1 (static, no Hugo): validates that every product with a
content_path in data/products.yml has a product_issue_url field, and
that layouts/partials/article/feedback.html contains no hardcoded
product URLs ('/issues/new/choose', 'support.influxdata.com/s/').

Layer 2 (rendered HTML): after Hugo build, picks one rendered page per
product and verifies the hrefs of 'Submit docs issue' and 'Submit
<product> issue' buttons match the expected values from products.yml.

Wired into CI as a dedicated GitHub Actions workflow
(.github/workflows/pr-feedback-links.yml) that runs on every PR
touching the relevant files — cannot be bypassed with --no-verify.
Also wired into Lefthook pre-commit for local early-warning (Layer 1
only; Layer 2 requires a Hugo build).

Verified manually: the script catches both a missing product_issue_url
and a hardcoded '/issues/new/choose' URL in the template, emitting
GitHub Actions annotations and exiting 1.

Related: #7089, #7094 (agent CI-first verification skill)

https://claude.ai/code/session_01BsiKmYPhBefTYx3xs7RwjH
Pre-commit hook reformatting that didn't make it into ffef82e because
the prettier hook only re-stages on failure.

https://claude.ai/code/session_01BsiKmYPhBefTYx3xs7RwjH
Copy link
Copy Markdown
Contributor Author

@jstirnaman jstirnaman left a comment

Choose a reason for hiding this comment

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

Users with Support contracts should use the Support site

Comment thread data/products.yml Outdated
Comment thread data/products.yml Outdated
Comment thread data/products.yml Outdated
Comment thread data/products.yml Outdated
Comment thread data/products.yml Outdated
…site

Addresses review feedback on #7090: users with support contracts should
file product issues via the Support site, not GitHub. This applies to
all paid products (self-hosted or managed):

- InfluxDB 3 Cloud Serverless
- InfluxDB 3 Cloud Dedicated
- InfluxDB 3 Clustered
- InfluxDB Cloud (TSM)
- InfluxDB Enterprise v1

Free and OSS products (Core, InfluxDB OSS v1/v2, Telegraf, Chronograf,
Kapacitor, Flux) continue to route to their respective GitHub issue
trackers.

InfluxDB 3 Enterprise was already routed to Support in the earlier
refactor commit.

https://claude.ai/code/session_01BsiKmYPhBefTYx3xs7RwjH
@jstirnaman
Copy link
Copy Markdown
Contributor Author

In PR Preview, why does the Submit issue button for Enterprise link to https://influxdata.github.io/docs-v2/pr-preview/pr-7090/influxdb3/enterprise/get-started/

@jstirnaman
Copy link
Copy Markdown
Contributor Author

@claude Review the link-checker job error output. The button labels are "Submit an issue", without the product or version name.

Output:

Layer 1b — feedback.html template purity
  ✅ feedback.html contains no hardcoded product issue URLs
  Error: 'Submit InfluxDB 3 Core issue' button not found on sample page for 'influxdb3_core'
  Error: 'Submit InfluxDB 3 Enterprise issue' button not found on sample page for 'influxdb3_enterprise'
  Error: 'Submit InfluxDB 3 Explorer issue' button not found on sample page for 'influxdb3_explorer'
Layer 2 — rendered HTML grep
  Error: 'Submit InfluxDB Cloud Serverless issue' button not found on sample page for 'influxdb3_cloud_serverless'
  Error: 'Submit InfluxDB Cloud Dedicated issue' button not found on sample page for 'influxdb3_cloud_dedicated'
  Error: 'Submit InfluxDB Clustered issue' button not found on sample page for 'influxdb3_clustered'
  Error: 'Submit InfluxDB issue' button not found on sample page for 'influxdb'
  Error: 'Submit InfluxDB Cloud (TSM) issue' button not found on sample page for 'influxdb_cloud'
  Error: 'Submit Telegraf issue' button not found on sample page for 'telegraf'
  Error: 'Submit Chronograf issue' button not found on sample page for 'chronograf'
  Error: 'Submit Kapacitor issue' button not found on sample page for 'kapacitor'
  Error: 'Submit InfluxDB Enterprise v1 issue' button not found on sample page for 'enterprise_influxdb'
  Error: 'Submit Flux issue' button not found on sample page for 'flux'

… key

The feedback partial's `$productKey` derivation only remapped influxdb3
paths, leaving `/influxdb/cloud/*` pages falling back to the `influxdb`
(OSS) entry — so Cloud (TSM) pages got the OSS GitHub issue URL instead
of the support URL declared under `influxdb_cloud` in products.yml.
OSS v1/v2 pages also showed the bare label "Submit InfluxDB issue"
instead of the version-specific names already present in products.yml
(`name__v1`, `name__v2`).

Changes:
- layouts/partials/article/feedback.html: remap `/influxdb/cloud/*` to
  the `influxdb_cloud` product key and prefer `name__{version}` when the
  product defines it.
- .ci/scripts/check-feedback-links.js:
  - iterate version-keyed `content_path` maps so `influxdb` is checked
    once per version with the corresponding `name__v*` label;
  - handle Hugo-minified unquoted attributes when extracting button
    hrefs (the old regex required quoted `class=` and `href=`).
- cypress/e2e/content/article-feedback.cy.js: new spec — asserts label
  and href for every product, catching what a build-only script can't
  (e.g. label resolution under real browser rendering).
Treat product_issue_url as an opt-in OSS marker: absence means "render no
product issue button" (licensed products get only the docs issue button —
support info is already in the left column of the feedback block, so a
second CTA pointing to the same destination is redundant).

- data/products.yml: remove product_issue_url from influxdb3_enterprise,
  influxdb3_cloud_serverless, influxdb3_cloud_dedicated, influxdb3_clustered,
  influxdb_cloud, and enterprise_influxdb. Keep on all OSS products.
- layouts/partials/article/feedback.html: wrap the product issue button
  in {{ with $productIssueUrl }}.
- .ci/scripts/check-feedback-links.js: Layer 1a no longer requires the
  field on every product (only type-checks when present). Layer 1b drops
  the support.influxdata.com/s/ forbidden-literal check (no longer
  meaningful — the template doesn't link to support). Layer 2 asserts
  absence of the product button on licensed products as a regression guard.
- cypress/e2e/content/article-feedback.cy.js: split cases into OSS
  (two buttons) and licensed (one button, product button absent).
PR preview deploys mount the site under /pr-preview/pr-N/, so
.RelPermalink starts with /docs-v2/pr-preview/pr-N/... On those builds
the first path segment is "docs-v2" and the second is "pr-preview" —
no product_issue_url was resolved, so every product button disappeared
from PR previews and the support paragraph rendered an empty product
name.

.File.Dir is always content-relative (e.g., "influxdb3/core/get-started")
and immune to baseURL subpaths. Use it when available; fall back to
.RelPermalink only for virtual pages with no source file. Guard against
empty path data (top-level pages like content/CLAUDE.md) so the partial
renders a minimal "Submit docs issue" button instead of crashing.
@jstirnaman jstirnaman merged commit 59d9f47 into master Apr 21, 2026
17 checks passed
github-actions bot added a commit that referenced this pull request Apr 21, 2026
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.

Submit a docs issue button for 3 Enterprise goes to Support site

3 participants