Skip to content

feat: options avancées (sampleRate/trackQuery/queryParams/respectDnt/enabled/scrubUrl) + Mode::Sdk#2

Merged
Akayashuu merged 2 commits into
mainfrom
feat/advanced-options
Jun 19, 2026
Merged

feat: options avancées (sampleRate/trackQuery/queryParams/respectDnt/enabled/scrubUrl) + Mode::Sdk#2
Akayashuu merged 2 commits into
mainfrom
feat/advanced-options

Conversation

@Akayashuu

Copy link
Copy Markdown
Member

Expose les options avancées du moteur takt-core côté PHP, à parité avec le snippet 0.5.0.

Options

6 nouveaux champs Options (null par défaut = non défini, seule une valeur non-défaut est rendue) :

  • sampleRatedata-sample-rate
  • trackQuerydata-track-query
  • queryParamsdata-query-params
  • respectDntdata-respect-dnt
  • enableddata-enabled
  • scrubUrl → fonction JS brute (pas d'attribut data-*)

fromArray accepte snake_case et camelCase.

Mode::Sdk

Nouveau mode qui rend un <script type="module">import{init}…;init({json})</script> bootant le SDK complet — seul mode capable d'exprimer scrubUrl. Le module est chargé depuis {scriptOrigin}/takt/takt.esm.js si scriptOrigin est défini, sinon depuis jsDelivr (@vskstudio/takt-core@0.5.0/+esm). scrubUrl est greffé via Object.assign hors du JSON et le corps passe par neutralizeScriptClose.

Garde-fou

Le constructeur de SnippetRenderer lève une InvalidArgumentException si scrubUrl est défini hors de Mode::Sdk. scrubUrl est injecté verbatim → contrôlé par le dev uniquement, jamais construit depuis une entrée utilisateur.

Divers

  • Bundle re-vendoré en 0.5.0 (sync-bundle.sh), pin CDN 0.4.2 → 0.5.0.
  • Tests : 41 verts, phpstan OK, cs clean.
  • README mis à jour (Mode::Sdk + section options avancées + note sécurité scrubUrl).

@Akayashuu Akayashuu merged commit b148357 into main Jun 19, 2026
10 checks passed
@Akayashuu Akayashuu deleted the feat/advanced-options branch June 19, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant