Skip to content

[pull] latest from ag-grid:latest - #897

Merged
pull[bot] merged 4 commits into
code:latestfrom
ag-grid:latest
Aug 21, 2026
Merged

[pull] latest from ag-grid:latest#897
pull[bot] merged 4 commits into
code:latestfrom
ag-grid:latest

Conversation

@pull

@pull pull Bot commented Aug 21, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

markdurrant and others added 4 commits August 21, 2026 13:11
Homepage hero gains Free Trial and Buy Now CTAs; the Get Started For Free
section CTA becomes Explore the Docs with a Try Enterprise Free CTA beside
it, and Integrated Charts gains a Free Trial CTA.

Adds an optional secondaryCta to LandingPageSection so a section can carry
a second CTA, and shares the demo video tour link across all four demo
pages, renamed to Video Tour.
* [Excel Export] - Fixed Row Outline

* [Excel Export] - Fixed Column Outline

* [Excel Export] - Row Outline coverage for groupHideOpenParents
…anged (#14930)

The `/sitemap` page lists the pages in the sitemap, but the sitemap is only
generated once every page — including that one — has been built, so production
and archive builds ran `astro build` twice unconditionally to catch it up.

The first build now records which sitemap its sitemap pages rendered from, and
`buildWithSitemapCache` only builds again when that differs from the sitemap the
build went on to generate. Since the sitemap pages render nothing but the `<loc>`
list, that is the comparison made — `<lastmod>` changes on every build and never
reaches either page.

- Archive builds skip the second build outright: they register no sitemap
  integrations at all, so nothing a second build produces can differ.
- `agCacheSitemap` now keys the cache on the page list rather than the git hash,
  which answered neither "did the page list move" question: a commit can touch no
  page, and a rebuild at the same commit can still change the page list.
- The docs `build` nx input narrows from the whole sitemap cache folder to
  `sitemap-0.xml`, so the `buildDate` in the cached `meta.json` no longer forces
  a rebuild on every run.
…14928)

* AG-3390 Fix the contact form captcha across client-side navigation

Ported from ag-studio (#2446). Both contact-form files were byte-identical
to studio's pre-fix copies, so they carry over verbatim.

darkmodeStore dispatched a CustomEvent named `message` on `window`, and
re-fired it on every `astro:after-swap`. reCAPTCHA's api.js parses
`event.origin` as a URL, which a CustomEvent does not have, so it threw
`Cannot read properties of undefined (reading 'match')` on every
navigation. Nothing in this repo consumes the event - integrated-charts
dark mode runs off a separate `document` `color-scheme-change` channel -
so the dispatch is removed rather than renamed.

ContactForm relied on api.js's one-shot auto-render, which never runs
again after a swap replaces the container, leaving an empty box. It now
loads reCAPTCHA in explicit-render mode and renders on each mount,
keeping the widget id: a bare `getResponse()` reads widget 0 and throws
`No reCAPTCHA clients exist.` once that widget's container is gone, so
the form silently refused to submit with no error shown.

initCaptcha now takes the container, so it reads the widget's own
response field - reCAPTCHA suffixes every field after the first, so the
bare-id lookup missed them and the timestamp never froze at solve time -
and returns a `stop()` the effect calls on unmount, instead of leaking
another 500ms ticker on every visit to the page.

* AG-3390 Share the reCAPTCHA load state across module instances

Park the in-flight promise on `window` instead of a module variable, and
skip the injection entirely when a usable `grecaptcha` is already present.
What the promise guards is global - the injected script tag and the
`grecaptcha` it defines - so a second module instance has to join the load
already under way rather than append a duplicate script.

Note that a tag-presence check would not do the job: an Astro page swap
removes the injected script from the head, so by the second visit there is
no tag left to find even though `grecaptcha` is still loaded.
@pull pull Bot locked and limited conversation to collaborators Aug 21, 2026
@pull pull Bot added the ⤵️ pull label Aug 21, 2026
@pull
pull Bot merged commit 0591b52 into code:latest Aug 21, 2026
5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants