openvibers/openvibe.coupons CHANGELOG.md

CHANGELOG.md

main 1.8 KB · 9 lines · markdown

Changelog

Unreleased

  • llms.txt lists the merchant lookup correctly (SEO-34): GET /api/v1/merchants/resolve needs ?host=, and canonicalUrl drops a query string unless it is named, so the file advertised a URL that answers 400 to a plain GET. The link is now a worked example (?host=amazon.com) and test/pages-discovery.test.js sweeps every URL the file lists for a non-error answer and pins the parameter.
  • The front page is curated (server/render/home.js): a shop search and the site's numbers beside the hero, then codes reported working, ending soon and new as tickets that show the code itself (the list showed only deal headlines), the shops, the Companion, what every code tells you and six questions (FAQPage, ItemList and WebSite JSON-LD); the page is 1080 px wide. DealNews' feed terms are kept (server/domain/source-policy.js): its codes say "via DealNews" on every page and never reach a browser extension (extension origins and install tokens). Budgets: html 33.7 KB, css 21.8 KB.
  • openvibe-contracts is pinned to v0.97.0 (and openvibe-shared to v2.9.0): all six Coupons capabilities are released there, so the local proposed-id fallback in server/auth/capabilities.js is gone and checkCapability is the library's check. STATUS.json and the README pins now match package.json; test/capabilities.test.js locks the released ids, the delegated check and the Coupons-local install scopes.
  • Every page is rendered through openvibe-publishing/layout (v1.2.0, on openvibe-shared/shell v2.6.0): the head, the Frame, the noscript navigation, the footer and its init come from the shared document; robots and the canonical still come from the indexability gate's decision. The shell adds web-runtime.js to every page; the home page's JS budget still holds (5 files, 239.1 KB, 56.3 KB brotli), so no budget was raised.