Skip to content

Add Focus Item scripts developer page (split Focus scripts) - #614

Draft
promptless-for-oss wants to merge 22 commits into
mautic:7.3from
Promptless:promptless/pr-16926-focus-split-scripts
Draft

promptless-for-oss wants to merge 22 commits into
mautic:7.3from
Promptless:promptless/pr-16926-focus-split-scripts

Conversation

@promptless-for-oss

@promptless-for-oss promptless-for-oss commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

Open in Promptless

Adds a new developer page docs/mauticjs_api/focus_scripts.rst documenting the consent-aware split of Focus Item embed scripts introduced by mautic/mautic PR #16926, mirroring the existing "Script scopes and split scripts" model on the tracking-script page.

Updated to match the now-ready source PR (head ebe9fdfb). This suggestion was first drafted against an earlier draft of the source PR; it has been reconciled to the current implementation.

The page documents:

  • The RUNTIME / DISPLAY / TRACKING scope model (a Focus-specific FocusJsScope enum, distinct from BuildJsScope — the two share no code path and gate different script families).
  • The three public endpoints — /focus/{id}/display.js (display, no tracking), /focus/{id}/tracking.js (tracking layer), and the preserved legacy /focus/{id}.js aggregate — all sending Cache-Control: private, no-store.
  • The public activation API window.MauticFocus.enableTracking(<id>), plus the supporting globals window.MauticFocusItems, window.MauticFocusTrackingQueue, and window.MauticFocusUseMauticTrackingConsent, and the mautic:tracking-enabled document event.
  • Dynamic Web Content injection behavior: same-origin /focus/{id}/display.js is always injected; the legacy /focus/{id}.js is injected additionally (not instead) only when MauticJS.trackingEnabled is true.

A matching mautic:tracking-enabled bullet was added to the tracking-script page and the new page registered in the MauticJS API toctree.

Reconciliation note: the earlier draft described a generated per-item enableMauticFocusTracking{id}() callback; that named callback does not exist in the ready source. The documented public entry point is window.MauticFocus.enableTracking(<id>), which the copied 'Consent-managed' snippet calls inline (with a window.MauticFocusTrackingQueue fallback).

Targets the 7.2 docs branch (source base 7.x).

Document the split Focus Item embed scripts from mautic/mautic PR #16926:
the /focus/{id}/display.js and /focus/{id}/tracking.js endpoints (legacy
/focus/{id}.js preserved), the RUNTIME/DISPLAY/TRACKING scope model, and the
client-side runtime globals (MauticFocusItems, MauticFocusTrackingQueue,
MauticFocusUseMauticTrackingConsent), the enableMauticFocusTracking{id}()
callback, and the mautic:tracking-enabled event. Add a matching event bullet
and toctree entry.
@patrykgruszka

Copy link
Copy Markdown
Member

@promptless-for-oss the source PR was updated, re-check and update the docs.

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

Thanks @patrykgruszka — on it. We're re-checking the updated source PR (mautic/mautic#16926) and refreshing this developer page to match the current endpoints, runtime globals, and activation API. We'll follow up on this thread once the updated changes are ready.

Update the developer docs for the split Focus scripts to match the now-ready
state of mautic/mautic PR #16926 (source head ebe9fdfb):

- Foreground the public window.MauticFocus.enableTracking(<id>) API and remove
  the no-longer-existent generated enableMauticFocusTracking{id}() callback.
- Distinguish the Focus scope enum (FocusJsScope) from BuildJsScope, noting they
  share no code path and gate different script families.
- Clarify that Dynamic Web Content injects the legacy /focus/{id}.js additively
  on top of the always-allowed display.js once tracking is enabled.
- Add a runnable registry/queue inspection example and tighten the
  mautic:tracking-enabled cross-reference.
@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

Update: we've refreshed this developer page to match the current source PR. Highlights: the public activation API is now documented as window.MauticFocus.enableTracking(<id>) (the earlier draft-era enableMauticFocusTracking{id}() callback no longer exists in the ready PR and was removed), the FocusJsScope-vs-BuildJsScope distinction is sharpened (separate enums, distinct script families, no shared code path), and the Dynamic Web Content behavior is clarified (the legacy /focus/{id}.js is injected additively on top of the always-allowed display.js once tracking is enabled). A runnable registry/queue inspection example was added and citations re-anchored to the current source. Ready for another look.

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

@patrykgruszka done — we've re-checked this developer page against the updated source PR and pushed the corrected changes.

The key fix: the activation API is now documented as the public window.MauticFocus.enableTracking(<id>) call, since the earlier per-item enableMauticFocusTracking{id}() callback no longer exists in the current implementation. We also:

  • Sharpened the FocusJsScope-vs-BuildJsScope distinction (separate enums, distinct script families, no shared code path).
  • Clarified that Dynamic Web Content injects the legacy /focus/{id}.js additively on top of the always-allowed display.js once tracking is enabled.
  • Added a runnable registry/queue inspection example.
  • Re-anchored all citations to the current source.

The PR is updated and ready for another look. Since PR #16926 isn't merged yet, we'll reconcile again if further code changes land before merge.

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

I noticed that some CI checks failed for this PR. I'm investigating whether the failures are caused by this suggestion. If they're unrelated or pre-existing, I'll leave this suggestion unchanged and create a separate suggestion if a standalone docs fix is needed.

@adiati98 adiati98 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@promptless-for-oss please address the Vale errors and warnings.

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

Thanks, @adiati98 — on it. We're running Vale on docs/mauticjs_api/focus_scripts.rst (and the other files this PR touches), fixing every error and warning it flags, and we'll push the updates and follow up here shortly.

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

Update: Vale is done running. We're fixing the 8 findings in the new docs/mauticjs_api/focus_scripts.rst (passive voice, a parentheses fix, an unexpanded acronym, and a couple of false-positive 'page' flags we'll rephrase), then re-running to confirm it's clean. One remaining Vale error is in tracking_script.rst on a pre-existing line this PR doesn't change — it sits inside a cross-reference path that must stay lowercase to resolve, so we're leaving it untouched. Details to follow when we push.

Resolve Vale suggestions in docs/mauticjs_api/focus_scripts.rst per
maintainer review on PR mautic#614: recast passive sentences to active voice,
remove a parenthetical, and spell out 'CMP' as 'consent-management
platform' throughout so no undefined acronym remains.

.. vale on

Mautic splits Focus embedding into three scopes:

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:19

FocusJsScope enum (RUNTIME/DISPLAY/TRACKING, plugins/MauticFocusBundle/Enum/FocusJsScope.php) is a distinct type from BuildJsScope (RUNTIME/ESSENTIAL/TRACKING, app/bundles/CoreBundle/Event/BuildJsScope.php), backing the three-scope model and the "aren't the same enum" claim. Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb.

Source: FocusJsScope.php:7 · ebe9fdf

* - Endpoint
- Included scopes
- Purpose
* - ``/focus/{id}/display.js``

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:42

Confirmed routes: mautic_focus_generate -> /focus/{id}.js (legacy, PublicController::generateAction), mautic_focus_generate_display -> /focus/{id}/display.js (PublicController::displayAction), mautic_focus_generate_tracking -> /focus/{id}/tracking.js (PublicController::trackingAction). Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb.

Source: config.php:21 · ebe9fdf

- ``RUNTIME``, ``DISPLAY``, and ``TRACKING``
- The legacy aggregate script. Unchanged and backward compatible; still returns the full combined script.

All three endpoints send the ``Cache-Control: private, no-store`` response header.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:52

Confirmed: the private buildJavascript() helper sets 'Cache-Control' => 'private, no-store' on the Response, and generateAction/displayAction/trackingAction all route through this same helper (with different $acceptedScopes defaults), so all three public endpoints send the header. Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb.

Source: PublicController.php:85 · ebe9fdf

Mautic splits Focus embedding into three scopes:

* ``RUNTIME`` - the anonymous bootstrap that the other scopes depend on. It performs no tracking.
* ``DISPLAY`` - loads and renders the Focus Item. It adds no tracking pixel, no Contact tokens, and no ``mauticform[focusId]`` marker.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:22

Confirmed: form.html.twig only renders the hidden 'mauticform[focusId]' input when trackingEnabled is true (line 103-105), so the TRACKING scope gates the Form focus-id marker. Test coverage: plugins/MauticFocusBundle/Tests/Functional/Controller/PublicControllerTest.php (current path, not FocusModel.php) asserts assertStringNotContainsString('viewpixel.gif', $displayContent) and assertStringNotContainsString('contactfield', $displayContent) for the display-only endpoint. Corrected file reference from FocusModel.php (doesn't contain the relevant assertions) and from a nonexistent test path in the prior citation. Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb.

Source: form.html.twig:103 · ebe9fdf


The split scripts expose a small set of client-side global variables, a public method, and an event so a site can control when tracking activates:

* ``window.MauticFocus.enableTracking(<id>)`` - the public API for activating tracking on a displayed Focus Item after consent. If the Focus Item is registered in ``window.MauticFocusItems[id]``, it calls that item's ``loadTracking()``; otherwise it sets ``window.MauticFocusTrackingQueue[id] = true``, which the display script consumes once it registers the item.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:63

Confirms window.MauticFocusItems registry (keyed by focus.id) holding each item's runtime, which exposes loadTracking()/activateTracking()/queueTrackingActivation() methods (lazy tracking activation); window.MauticFocusTrackingQueue buffers activation requests before the tracking layer registers the item and is flushed once it loads (L990-992); window.MauticFocusUseMauticTrackingConsent gates auto-activation tied to the 'mautic:tracking-enabled' document event (L980-988); the trackingOnly code path installs the view pixel (trackingPixelUrl) and the mauticform[focusId] hidden input. Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb.

Source: generate.js.twig:131 · ebe9fdf

* ``window.MauticFocusItems`` - a registry keyed by Focus Item ID. Each entry is the runtime for that Focus Item and exposes methods to load and activate the tracking layer. The display script uses it to lazily inject and activate tracking.
* ``window.MauticFocusTrackingQueue`` - a queue that bridges consent. The queue holds activation requests made before the tracking layer is ready and flushes them once it loads.
* ``window.MauticFocusUseMauticTrackingConsent`` - when set to ``true``, the Focus display script auto-activates tracking as soon as Mautic website tracking becomes enabled, instead of waiting for a manual or consent-management platform activation. The copied website-tracking snippet sets it to ``true`` when an administrator turns on the 'Use Mautic consent for Focus tracking' option.
* ``mautic:tracking-enabled`` - a document event the tracking layer dispatches once tracking initializes. The Focus runtime listens for it to bridge consent, mirroring the tracking layer's own dispatch of this event, documented in the ``mautic:tracking-enabled`` bullet under :ref:`Client-side runtime globals<mauticjs_api/tracking_script:Client-side runtime globals>`. This is the event-dispatch signal, not the ``mauticEssentialReady`` / ``MauticJS.runtimeReady`` readiness-guard pattern.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:67

Confirms the tracking-layer JS dispatches the mautic:tracking-enabled document event (m.dispatchEvent('mautic:tracking-enabled')) once the tracking build initializes. Re-anchored to canonical mautic/mautic ready-for-merge SHA ebe9fdfb; doc line corrected from 68 to 67 (actual current position of the mautic:tracking-enabled bullet in Client-side runtime globals).

Source: BuildJsSubscriber.php:193 · ebe9fdf

* ``window.MauticFocus.enableTracking(<id>)`` - the public API for activating tracking on a displayed Focus Item after consent. If the Focus Item is registered in ``window.MauticFocusItems[id]``, it calls that item's ``loadTracking()``; otherwise it sets ``window.MauticFocusTrackingQueue[id] = true``, which the display script consumes once it registers the item.
* ``window.MauticFocusItems`` - a registry keyed by Focus Item ID. Each entry is the runtime for that Focus Item and exposes methods to load and activate the tracking layer. The display script uses it to lazily inject and activate tracking.
* ``window.MauticFocusTrackingQueue`` - a queue that bridges consent. The queue holds activation requests made before the tracking layer is ready and flushes them once it loads.
* ``window.MauticFocusUseMauticTrackingConsent`` - when set to ``true``, the Focus display script auto-activates tracking as soon as Mautic website tracking becomes enabled, instead of waiting for a manual or consent-management platform activation. The copied website-tracking snippet sets it to ``true`` when an administrator turns on the 'Use Mautic consent for Focus tracking' option.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:66

Confirms the exact admin-facing config option label "Use Mautic consent for Focus tracking" (mautic.page.config.tracking.script.focus_shared_consent.label) that, when enabled, makes the copied website-tracking snippet (_config_trackingconfig_widget.html.twig, L60/L95) set window.MauticFocusUseMauticTrackingConsent = true. Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb; doc line moved from 65 to 66.

Source: messages.ini:218 · ebe9fdf


.. vale on

The Dynamic Web Content build-JS subscriber now parses Dynamic Web Content through the DOM rather than treating it as opaque markup. It injects only same-origin Focus scripts through two independent allow-rules. It always allows ``/focus/{id}/display.js`` so a Focus Item renders regardless of consent state. When ``MauticJS.trackingEnabled`` is ``true``, it additionally allows the legacy ``/focus/{id}.js`` — this injection is added on top of the always-allowed display script, not in place of it — so the combined tracking-capable script loads through Dynamic Web Content only once tracking is active.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:107

Confirms MauticJS.enhanceDynamicContent parses DWC content through a DOM container (container.innerHTML + querySelectorAll('script[src]')) instead of regex, and for each same-origin script src evaluates a single condition (L100): focusUrl.origin === mauticBaseUrl.origin && (isDisplayEndpoint || (MauticJS.trackingEnabled && isLegacyEndpoint)). isDisplayEndpoint (matches /focus/{id}/display.js) has no trackingEnabled guard, so display.js is always allowed for same-origin URLs; isLegacyEndpoint (matches /focus/{id}.js) is allowed only when MauticJS.trackingEnabled is true. Because the loop evaluates every script[src] tag found in the DWC markup independently and calls MauticJS.insertScript for each one that matches, a display.js reference and a legacy .js reference present in the same DWC content are both inserted once tracking is enabled - confirming the injection is additive (display.js plus legacy), not a replacement of one for the other.

Source: BuildJsSubscriber.php:100 · ebe9fdf

* ``MauticJS.runtimeReady`` - set to ``true`` once the runtime bootstrap has loaded. Tracking code guards on it before running.
* ``MauticJS.trackingEnabled`` - ``false`` in the essential or runtime build and ``true`` once the tracking layer loads.
* ``MauticJS.requestWithCredentials`` - ``false`` by default in the essential or runtime build and ``true`` once tracking loads.
* ``mautic:tracking-enabled`` - a document event the tracking layer dispatches once tracking initializes. See :doc:`/mauticjs_api/focus_scripts` for how the Focus runtime consumes it to bridge consent.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/tracking_script.rst:226

New mautic:tracking-enabled bullet: confirms the tracking layer dispatches this document event once tracking initializes (m.dispatchEvent('mautic:tracking-enabled')), which the Focus runtime (see focus_scripts.rst) listens for to bridge consent. Re-anchored from draft-fork URL (patrykgruszka/mautic@e3620a2c) to canonical mautic/mautic at ready-for-merge SHA ebe9fdfb.

Source: BuildJsSubscriber.php:193 · ebe9fdf


The split scripts expose a small set of client-side global variables, a public method, and an event so a site can control when tracking activates:

* ``window.MauticFocus.enableTracking(<id>)`` - the public API for activating tracking on a displayed Focus Item after consent. If the Focus Item is registered in ``window.MauticFocusItems[id]``, it calls that item's ``loadTracking()``; otherwise it sets ``window.MauticFocusTrackingQueue[id] = true``, which the display script consumes once it registers the item.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:63

Confirmed: window.MauticFocus.enableTracking = function (id) { var item = window.MauticFocusItems && window.MauticFocusItems[id]; if (item) { item.loadTracking(); return; } window.MauticFocusTrackingQueue = window.MauticFocusTrackingQueue || {}; window.MauticFocusTrackingQueue[id] = true; }; - exactly matches the doc's described behavior: if the Focus Item is registered in window.MauticFocusItems[id] it calls loadTracking(), otherwise it sets window.MauticFocusTrackingQueue[id] = true. This is the public activation API (L118-129); it is defined once per page load and shared across all Focus Items. Verified there is no separate generated per-item "enableMauticFocusTracking{id}()" callback anywhere in mautic/mautic at this SHA (confirmed via full-text search and direct review of generate.js.twig and details.html.twig) - see corrections for doc-writer regarding that claim elsewhere in this file.

Source: generate.js.twig:119 · ebe9fdf

* ``DISPLAY`` - loads and renders the Focus Item. It adds no tracking pixel, no Contact tokens, and no ``mauticform[focusId]`` marker.
* ``TRACKING`` - resolves the tracked Contact, generates the trackable redirect, and installs the view pixel and the Form focus-id marker.

These are Focus-specific scope labels. They mirror the ``BuildJsScope`` model documented on the tracking script reference, but they aren't the same ``enum`` and share no code path: ``BuildJsScope`` pairs ``RUNTIME`` and ``TRACKING`` with ``ESSENTIAL`` rather than ``DISPLAY``, and gates the ``mtc.js`` / ``mautic-tracking.js`` / ``mautic-essential.js`` script family, whereas these Focus scopes gate only the Focus scripts. Don't gate Focus code on ``BuildJsScope`` cases or vice versa.

@promptless-for-oss promptless-for-oss Sep 2, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Citation

docs/mauticjs_api/focus_scripts.rst:25

Confirms the scope-collision claim: BuildJsScope (app/bundles/CoreBundle/Event/BuildJsScope.php) is a distinct enum type from FocusJsScope (plugins/MauticFocusBundle/Enum/FocusJsScope.php) with cases RUNTIME/ESSENTIAL/TRACKING (not DISPLAY) - pairing RUNTIME and TRACKING with ESSENTIAL as the doc states. Confirmed via CoreBundle/Config/config.php (routes: /mtc.js -> JsController::indexAction, /mautic-essential.js -> essentialAction, /mautic-tracking.js -> trackingAction) and CoreBundle/Controller/JsController.php (essentialAction uses [RUNTIME, ESSENTIAL]; trackingAction uses [TRACKING]; indexAction/mtc.js defaults to all three) that BuildJsScope gates the mtc.js/mautic-tracking.js/mautic-essential.js family. Confirmed no shared code path: FocusJsScope is referenced only in plugins/MauticFocusBundle/Controller/PublicController.php (and FocusModel), never alongside BuildJsScope; BuildJsScope is referenced only in CoreBundle/DynamicContentBundle/NotificationBundle/PageBundle subscribers and JsController, never alongside FocusJsScope.

Source: BuildJsScope.php:7–11 · ebe9fdf

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

Thanks @adiati98 — we've addressed the Vale findings on docs/mauticjs_api/focus_scripts.rst: recast the flagged passive sentences to active voice, removed the parenthetical Vale objected to, and spelled out 'CMP' as 'consent-management platform' everywhere so the abbreviation is no longer left undefined. Vale now reports zero errors, warnings, and suggestions on the page, and the changes are pushed to PR #614.

One note: the remaining Vale error CI may still show is on docs/mauticjs_api/tracking_script.rst line 64 (plugins→Plugins) — that's pre-existing content outside this PR's changes, and it sits inside a cross-reference path (plugins/event_listeners) that must stay lowercase to resolve, so we left it untouched. Addressing it would need a separate change (e.g. a Vale vocabulary exception) rather than a casing edit that would break the reference.

dependabot Bot and others added 2 commits September 9, 2026 11:05
Bumps [linkify-it-py](https://github.com/tsutsu3/linkify-it-py) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/tsutsu3/linkify-it-py/releases)
- [Changelog](https://github.com/tsutsu3/linkify-it-py/blob/main/CHANGELOG.md)
- [Commits](tsutsu3/linkify-it-py@v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: linkify-it-py
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
allcontributors Bot and others added 11 commits September 16, 2026 07:30
Adds missing review credit for shinde-rahul, and adds fedys,
patrykgruszka, adiux, and TomasVotruba, who were already credited
in README.md but missing from .all-contributorsrc.
Consolidates contributors from 7.0 and main into 7.2's contributor
list, since those branches had documentation contributors that were
never carried forward. Adds 11 people: kuzmany, OfficialJhimmy,
Teebarh, putzwasser, dcjarvis, abhisekmazumdar, fengfeng-zi,
tlfranko-star, khawarlatifkhan, thmclellan, and Entrepositive.
Reorders both files from oldest to newest contributor, based on the
date each person was first added to .all-contributorsrc across any
branch.
…rsrc-7.2

docs: sync, consolidate, and reorder all-contributor list
docs: add escopecz as a contributor for review
…-it-py-2.2.0

chore(deps): bump linkify-it-py from 2.1.1 to 2.2.0 in /docs
@adiati98 adiati98 added this to the 7.3 milestone Sep 19, 2026
@adiati98

Copy link
Copy Markdown
Member

@promptless-for-oss please rebase to 7.3 branch.

@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

In reply to this discussion

On it — I'll retarget this PR onto the new 7.3 branch and re-run the docs checks. I'll follow up here once it's rebased.

…cus-split-scripts

# Conflicts:
#	.all-contributorsrc
@promptless-for-oss
promptless-for-oss changed the base branch from 7.2 to 7.3 September 19, 2026 04:48
@promptless-for-oss

Copy link
Copy Markdown
Contributor Author

In reply to this discussion

Done — PR #614 now targets the 7.3 branch as requested. Because 7.3 had already diverged from 7.2, I merged 7.3 in and resolved the repo-metadata files (.all-contributorsrc, README.md, docs/requirements.txt, docs/themes/getting_started.rst) to 7.3's versions, so the PR now diffs cleanly against 7.3 with exactly the same three documentation-file changes as before (+109/−0). It's mergeable with no conflicts, pending the usual review/checks, and re-running Vale against 7.3 surfaced no new findings from the rebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants