Skip to content

Fix external link audit findings and geofencing PE/PAAS images#392

Merged
vvlladd28 merged 7 commits into
mainfrom
fix/external-links-audit
May 19, 2026
Merged

Fix external link audit findings and geofencing PE/PAAS images#392
vvlladd28 merged 7 commits into
mainfrom
fix/external-links-audit

Conversation

@vvlladd28
Copy link
Copy Markdown
Member

Summary

  • Resolve external link audit findings: dead 404s, redirect chains, problematic domains, author metadata, and one dropped distributor.
  • Pin geofencing Example 1 image sources to the existing -ce assets so the ImageGallery resolver falls back to them on PE/PAAS instead of hitting a missing CDN URL.
  • Override --sl-color-bg-inline-code inside .thumb-tooltip so inline <code> in captions renders transparent against the dark tooltip background.

vvlladd28 added 7 commits May 19, 2026 11:21
- trendz-analytics: wrap `<code>http://thingsboard{...}:8080</code>` in a
  JSX template literal so the remark-gfm autolinker no longer captures the
  unevaluated expression and renders an `http://thingsboard%7Bprops.product`
  anchor.
- device-library (68 files): replace `<a href="https://YOUR_TB_HOST">` and
  the markdown-form variant with an inline-code placeholder
  (`ThingsBoard account at \`YOUR_TB_HOST\``). The 2 `YOUR_TB_HOST/signup`
  links in dsgw-210 now point at the real `https://thingsboard.cloud/signup`.
- partners/distributors: pre-render all 97 cards as static HTML with real
  `<a href>` attributes so the link audit sees them, SEO indexes them, and
  no-JS users get the list. Client-side filter toggles `hidden` on cards
  instead of rebuilding the DOM. Country select is now pre-populated with
  every country so filtering by country alone works; the reset button and
  filter logic treat region/country as independent AND filters.
- AgroSense data-converters (3 device pages, 12 URLs): the
  raw.githubusercontent.com/thingsboard/data-converters paths used
  `VENDORS/Makerfabs/...` but the public repo lays them out under
  `VENDORS/AgroSense/...` (Makerfabs is the manufacturer, AgroSense is
  the product line / folder name).
- gcp-marketplace.mdx: drop the broken
  cloud.google.com/marketplace/docs/partners/integrated-saas/pricing
  link wrapping "BYOL"; the page never existed, and the surrounding
  sentence already explains the acronym in parentheses.
- edge-vs-cloud blog post: halosmartiot.com renamed `/news/` → `/blog/`.
- mqtt-broker/mqtt-over-ws: nodejs.org dropped
  `/en/learn/getting-started/how-to-install-nodejs`; point at the
  Download page since the link sits behind "Install Node.js".
- comfort-v2 leak sensor: replace the dead
  `tektelic.com/wp-content/uploads/TEKTELIC_Comfort_Vivid_v2_UG.pdf`
  with the official user guide on `knowledgehub.tektelic.com`.
- digital-ocean install guide: DigitalOcean migrated docs to a separate
  subdomain — `www.digitalocean.com/docs/...` →
  `docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/`.
- azure-marketplace.mdx: bare `azure.microsoft.com` redirects to
  `/en-us`; match the other 4 Azure references that already use the
  locale-explicit URL.
Replaces external URLs that were reachable only via a 3xx hop with
their final canonical destination. Removes the redirect roundtrip
and keeps the URL stable against further upstream restructuring.

Host/protocol moves:
- http://wiki.seeedstudio.com/, http://www.dragino.com/ → https
- chirpstack.io → www.chirpstack.io/
- angular.io → angular.dev/
- cloudflare.com → www.cloudflare.com/
- claude.ai/download → claude.com/download
- console.anthropic.com/settings/keys → platform.claude.com/...
- console.thethingsnetwork.org/ → console.cloud.thethings.network/
- docs.anthropic.com/.../claude-code/overview → code.claude.com/docs/en/overview
- cloud.google.com/<svc>/docs/... → docs.cloud.google.com/<svc>/docs/...
  (16 specific URLs across compute, dns, k8s, memorystore, sql)
- cloud.google.com/sdk/downloads → docs.cloud.google.com/sdk/docs/install-sdk

Path renames:
- aws.amazon.com/marketplace/pp/B07V8S6JLG → /pp/prodview-wohnfuiqbf5w4
- aws.amazon.com/premiumsupport/.../route-53-create-alias-records/ → repost.aws/...
- docs.aws.amazon.com/cli/.../install-cliv2.html → getting-started-install.html
- developer.apple.com/app-store/submissions/ → /submitting/
- developer.apple.com/help/account/manage-keys/ → /help/account/keys/
- developer.apple.com/.../information_property_list/ → information-property-list/
- developer.mozilla.org/.../HTTP/Headers/ → HTTP/Reference/Headers/
- developers.cloudflare.com/fundamentals/get-started/reference/ → /reference/policies-compliances/

Trailing slash / canonical form:
- sixfab.com/alpon, /product/alpon-x4 (add /)
- lansitec.com/products/{lorawan-smart-badge-tracker,uwb-anchor} (add /)
- elastel.com/docs/ElastPro/{Getting_Started,intro} (add /)
- jetbrains.com/idea/download (add /)
- thethingsnetwork.org/docs/applications/mqtt/api (add /)
- namecheap.com KB article 9646 (add /; was the actual 4xx, the
  bare-host one is bot-detection)
- docs.mistral.ai/getting-started/quickstart/ → quickstarts (plural;
  canonical lives at /quickstarts without trailing slash)
- Milesight (5 device pages): the manufacturer migrated from
  milesight-iot.com to milesight.com and reorganized the path
  (lorawan/<gateway|sensor>/<id> → iot/product/lorawan-<gateway|sensor>/<id>).
  Updated UG56/UG65/UG67 gateway and WS101/WS202 sensor links to the
  new canonical URLs.
- exp4j: trailing slash on objecthunter.net/exp4j → /exp4j/ to skip the
  301. The underlying domain is fine for browsers; only the audit fails
  on it because the server doesn't serve the intermediate certificate
  and curl can't fetch it via AIA the way browsers do.
- Sensolyze: their domain (sensolyze.com) now serves the cyon.ch
  "Domain nicht eingerichtet" placeholder — the hosting account is no
  longer active and the company appears gone. Drop the `link` field
  from the clients-feedback entry; FeedbackCard already renders the
  logo without an anchor when link is absent.
- thingsboard-user-meetup-2025 blog post: it-novum reorganized the
  vol-6 meetup recordings under /mediathek/thingsboard/ — the old
  /video/<slug>/ URLs 301 to the new path. Update all 9 links inline
  to the canonical destination.
- Voxney PLSC, Inc. distributor: voxney.com returns a 500 from the
  audit and looks defunct; remove the entry from the distributors
  list (97 → 96 distributors).
- Pin Example 1 image sources to the existing -ce assets so the ImageGallery
  resolver falls back to them on PE/PAAS instead of hitting a missing CDN URL
- Override --sl-color-bg-inline-code on .thumb-tooltip so inline <code> in
  captions renders transparent against the dark tooltip background
- DockerComposeUpgradeSteps: handle deleted thingsboard-pe-docker-compose
  release branches by rendering the manifests label as plain text, and fix
  branch URL pattern (PE branches drop the trailing .0 for X.Y.0 releases).
- Update TPS company link to its new domain (tps.company → tps-factory.com).
- Replace dead TBMQ CE GitHub Discussions link with GitHub Issues.
- Drop obsolete ceGhTagOverride for Edge 4.0.1 (tag and package suffix now match).
@vvlladd28 vvlladd28 merged commit 797f6d8 into main May 19, 2026
4 of 5 checks passed
@vvlladd28 vvlladd28 deleted the fix/external-links-audit branch May 20, 2026 08:20
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.

1 participant