Merge master to release#421
Merged
Merged
Conversation
… Calls The peFeature Banner on the Custom REST API Calls section claimed the feature was PE/Cloud only. The corresponding controller — RuleEngineController in thingsboard/thingsboard (application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java) — is a regular @RestController in CE with four POST endpoints under /api/rule-engine/... accessible to SYS_ADMIN, TENANT_ADMIN, and CUSTOMER_USER. The feature is not PE-only. The banner's path also pointed to recipes/solution-templates/swimming-pool-scada-system, which does not mention rule engine, Custom REST API Calls, or any REST endpoint — so even if the feature had been PE-only, the link target was unrelated to the topic.
* Add noindex meta to Hardware Partner Apply form page The form page (/partners/hardware/apply/) does not need to be indexed — it's a transactional form, not a content page. Matches the existing noindex pattern used by apply-thanks, careers, 404, and other utility pages, and will also be excluded from the sitemap (PR #408). * Fix broken image references on docs and device-library pages Markdown ![]() and raw <img> tags with /src/assets/* paths render the URL as-is and 404 in production — Astro doesn't serve src/ directly. Replace with <DocImage> so paths flow through import.meta.glob() and getImage() (yields hashed WebP via the asset pipeline). Affected references: - shared-subscription-demo.gif (TBMQ shared subscriptions) - sodaq-demo-dashboard.gif (SODAQ universal tracker) - seeed-grove-demo.gif (Seeed Grove Base Hat) - demonstration_show.gif (Raspberry Pi CM4) - temco-tstat10-dashboard-ce.png (Temco Tstat10) — also restored the missing asset from img.thingsboard.io * Optimize oversized images and replace 9 MB blog GIF with MP4 video Five images flagged by the SEO audit as oversized are re-encoded in place (Sharp). Total -73% (17.0 MB → 4.6 MB). PSNR sampled ≥38 dB → quality difference is not visually perceptible. Per-file: - district-night-background.png 3.30 MB → 0.94 MB (-71%) - office-room.png 1.79 MB → 0.57 MB (-67%, resized 3400→1920px) - building-background.png 1.11 MB → 0.83 MB (-25%) - maps-4.webp 1.41 MB → 0.13 MB (-90%, re-encoded q=80) - DarkMode-2.gif (9.39 MB) → MP4 1.96 MB + poster 0.19 MB (-77%) The blog GIF migrates to <video autoPlay muted loop playsInline> in dark-mode-for-a-dashboard.mdx — the standard autoplay-compatible replacement for animated GIFs (works on iOS/Safari via muted+playsInline). A first-frame JPEG poster prevents layout shift before metadata loads. Dashboard background PNGs in /resources/docs/tutorial/ are user- downloadable assets — ThingsBoard scales them to the dashboard canvas on render, so the 1920-px resize on office-room.png does not affect the tutorial. Aspect ratio preserved.
CE page consolidated to PE via canonicalConsolidationMap while the PE stub points back to CE via frontmatter override, forming a canonical loop. Mark the CE page selfCanonical since it owns the real content and PE is a stub redirect.
The default Sharp pipeline re-encodes GIFs to WebP, which drops every frame after the first (losing animation) and also blows past Sharp's default pixel limit on large multi-frame GIFs — e.g. shared-subscription-demo.gif (1846x1004, 317 frames) fails the build with "Input image exceeds pixel limit". GIFs now skip raster processing and are served as-is, the same way SVGs already are.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Type of change
src/content/docs/**)src/content/_includes/**)src/components/**,src/styles/**)src/pages/**,src/data/**)src/data/redirects.ts)releaseskill)Affected products
Related issues
Checklist
pnpm checkpasses (Astro / TypeScript)pnpm lint:eslintpassespnpm lint:slugcheckpasses (required if pages were added/renamed/moved across languages)pnpm lint:linkcheckpasses locally — required to merge; run it before requesting review (usepnpm lint:linkcheck:nobuildif you already ran a build)src/data/redirects.ts, andpnpm generate:redirectswas runsrc/data/versions.ts