From e881dab9f7481e6eb1cb1cb0dbf48c7a664a6186 Mon Sep 17 00:00:00 2001 From: dshvaika Date: Fri, 22 May 2026 15:50:10 +0300 Subject: [PATCH 1/6] docs(rule-engine): drop incorrect PE-only banner from Custom REST API Calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- src/content/_includes/docs/user-guide/rule-engine.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/content/_includes/docs/user-guide/rule-engine.mdx b/src/content/_includes/docs/user-guide/rule-engine.mdx index 4cce21dff..ea9fa7ff7 100644 --- a/src/content/_includes/docs/user-guide/rule-engine.mdx +++ b/src/content/_includes/docs/user-guide/rule-engine.mdx @@ -185,8 +185,6 @@ configuration details, submit and retry strategies, and the three built-in queue ## Custom REST API Calls - - ThingsBoard provides an HTTP API to send custom requests directly to the Rule Engine and return the processing result in the response body — useful for extending the platform API, enriching calls with device/asset attributes, or powering custom widgets. From 361905352102adf0d1c3a110a89535e8e6985b49 Mon Sep 17 00:00:00 2001 From: Vladyslav Prykhodko Date: Mon, 25 May 2026 12:59:32 +0300 Subject: [PATCH 2/6] SEO audit fixes: noindex, broken images, oversized assets (#414) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 tags with /src/assets/* paths render the URL as-is and 404 in production — Astro doesn't serve src/ directly. Replace with 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