mozilla / mozilla/experimenter

Remove the allowedNotificationOrigins PRESERVED_TARGETING_KEYS stopgap once the manifest records it

Open
#17,342 0 comments 0 reactions 1 assignee View on GitHub

@jaredlockhart is already working on this.

Since Sep 16, 2026.

Dominant language
Python
Stars
151
Forks
229
Avg merge
1d 8h
Merged PRs (30d)
212

Description

Blocked. Do not start until the gate below is met.

allowedNotificationOrigins is listed in PRESERVED_TARGETING_KEYS_BY_APPLICATION[Application.DESKTOP] in experimenter/targeting/constants.py. That entry is a stopgap: it lets the has_allowed_notifications targeting config reference an attribute that the in-repo recorded targeting context manifest does not yet contain, so test_validate_targeting_config_fields accepts it.

The attribute itself landed in mozilla-central under bug 2069104, which added the ASRouterTargeting getter, the TargetingContextRecorder.sys.mjs entry and the allowed_notification_origins Glean probe in one commit. Its JEXL-to-SQL column mapping landed separately in #17338.

Gate

An Update External Configs PR has to land the new features/manifests/firefox-desktop/TargetingContextRecorder.sys.mjs, i.e. the copy whose ATTRIBUTE_TRANSFORMS includes allowedNotificationOrigins: typeAssertions.quantity. Check with:

grep -c allowedNotificationOrigins experimenter/experimenter/features/manifests/firefox-desktop/TargetingContextRecorder.sys.mjs

Once that returns non-zero on main, TargetingContextFields.for_application(Application.DESKTOP) resolves the attribute from the manifest and the allowlist entry is redundant.

Acceptance criteria

  • The allowedNotificationOrigins entry and its accompanying comment are removed from PRESERVED_TARGETING_KEYS_BY_APPLICATION[Application.DESKTOP].
  • test_validate_targeting_config_fields still passes for has_allowed_notifications, resolving the attribute from the manifest rather than the allowlist.
  • test_desktop_targeting_context_fields_are_mapped still passes, resolving the attribute via JEXL_TO_BQ_COLUMN.
  • make code_format check passes.

┆Issue is synchronized with this Jira Task

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.