Skip to content

Comments

feat(nimbus) - Add targeting for TOU accepted before Dec 9, 2025#13805

Merged
lmegviar merged 2 commits intomainfrom
tou-accepted-before-nov-12-2025
Nov 19, 2025
Merged

feat(nimbus) - Add targeting for TOU accepted before Dec 9, 2025#13805
lmegviar merged 2 commits intomainfrom
tou-accepted-before-nov-12-2025

Conversation

@lmegviar
Copy link
Contributor

@lmegviar lmegviar commented Oct 29, 2025

Because

  • We need to show a message to users who accepted the TOU before Dec 9, 2025 alerting them to a privacy notice update.

This commit

  • Add this new targeting and comment explaining the way we'll determine accepted variant of TOU moving forward.

Fixes #13804

@lmegviar lmegviar requested a review from mimizillaa October 29, 2025 16:00
@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch from 7335828 to c48f08a Compare October 29, 2025 16:01
@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch from c48f08a to aadcd9d Compare October 29, 2025 16:53
@lmegviar
Copy link
Contributor Author

Nov 12 date isn't final, so updated patch with TODOs until that's solidified.

@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch from aadcd9d to a3b42f6 Compare November 3, 2025 13:51
@lmegviar lmegviar changed the title feat(nimbus) - Add targeting for TOU accepted before November 12, 2025 feat(nimbus) - Add targeting for TOU accepted before Dec 9, 2025 Nov 14, 2025
),
targeting=f"""
(
!os.isLinux
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We only want to exclude Linux in the "before dec 9" targeting and not in the "on or after dec 9" targeting.

@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch 2 times, most recently from c9e80cb to 213c1cc Compare November 14, 2025 21:07
@lmegviar lmegviar marked this pull request as ready for review November 14, 2025 21:10
@lmegviar lmegviar marked this pull request as draft November 17, 2025 13:34
@lmegviar lmegviar marked this pull request as ready for review November 17, 2025 13:34
@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch 2 times, most recently from 887713e to 0907acb Compare November 17, 2025 13:36
@lmegviar
Copy link
Contributor Author

Thanks, @freshstrangemusic - updated.

Copy link
Collaborator

@jaredlockhart jaredlockhart left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@jaredlockhart
Copy link
Collaborator

@lmegviar Ah looks like some JEXL validation errors:

self = <Sequence expression = _ (conditional_expression / binary_expression / unary_expression / complex_value) _>
text = "\n    (\n        !os.isLinux\n        &&\n        ('termsofuse.acceptedDate'|preferenceValue != '0')\n        &&\n        ((('termsofuse.acceptedDate'|preferenceValue * 1) | date) < 1765324740000|date)\n    )\n    "
pos = 0

    def match(self, text, pos=0):
        """Return the parse tree matching this expression at the given
        position, not necessarily extending all the way to the end of ``text``.
    
        Raise ``ParseError`` if there is no match there.
    
        :arg pos: The index at which to start matching
    
        """
        error = ParseError(text)
        node = self.match_core(text, pos, defaultdict(dict), error)
        if node is None:
>           raise error
E           parsimonious.exceptions.ParseError: Rule 'binary_operator' didn't match at '| date) < 1765324740' (line 7, column 59).

/usr/local/lib/python3.13/site-packages/parsimonious/expressions.py:158: ParseError

--------

self = <experimenter.targeting.tests.test_targeting_configs.TestTargetingConfigs testMethod=test_targeting_config_has_valid_jexl_227>
targeting_config = NimbusTargetingConfig(name='Accepted TOU on or after Dec 9, 2025', slug='accepted_tou_on_or_after_dec_9_2025', description='User accepted TOU on or after Dec 9, 2025', targeting="\n    (\n        ('termsofuse.acceptedDate'|preferenceValue != '0')\n        &&\n        ((('termsofuse.acceptedDate'|preferenceValue * 1) | date) >= 1765324740000|date)\n    )\n    ", desktop_telemetry='', sticky_required=False, is_first_run_required=False, application_choice_names=('DESKTOP',))

    @parameterized.expand([(t,) for t in TargetingConstants.TARGETING_CONFIGS.values()])
    def test_targeting_config_has_valid_jexl(self, targeting_config):
        if targeting_config.targeting:
            try:
                JEXLParser().parse(targeting_config.targeting)
            except ParseError as e:
>               raise Exception(
                    f"JEXL Parse error in {targeting_config.name}: {e}"
                ) from e
E               Exception: JEXL Parse error in Accepted TOU on or after Dec 9, 2025: Rule 'binary_operator' didn't match at '| date) >= 176532474' (line 5, column 59).

experimenter/targeting/tests/test_targeting_configs.py:24: Exception

@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch from 255d31d to db19e0a Compare November 17, 2025 19:21
@lmegviar
Copy link
Contributor Author

@lmegviar Ah looks like some JEXL validation errors:

Thanks @jaredlockhart - I think they're addressed, I still see two CircleCI failures but they seem unrelated (I think you mentioned there are a couple that can be flaky and I don't have permission to get them to rerun).

@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch 2 times, most recently from 6d6bb61 to 93f1c42 Compare November 18, 2025 17:53
@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch 4 times, most recently from f502ced to 712dad2 Compare November 18, 2025 19:21
@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch from 712dad2 to 60490b0 Compare November 18, 2025 19:21
@jaredlockhart jaredlockhart added this pull request to the merge queue Nov 18, 2025
github-merge-queue bot pushed a commit that referenced this pull request Nov 18, 2025
)

Because

- We need to show a message to users who accepted the TOU before Dec 9,
2025 alerting them to a privacy notice update.

This commit

- Add this new targeting and comment explaining the way we'll determine
accepted variant of TOU moving forward.

Fixes #13804
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 18, 2025
@lmegviar lmegviar enabled auto-merge November 18, 2025 21:20
@lmegviar lmegviar force-pushed the tou-accepted-before-nov-12-2025 branch from 3d3141f to 60490b0 Compare November 18, 2025 22:50
@lmegviar lmegviar added this pull request to the merge queue Nov 19, 2025
Merged via the queue into main with commit 5ab8741 Nov 19, 2025
17 checks passed
@lmegviar lmegviar deleted the tou-accepted-before-nov-12-2025 branch November 19, 2025 01:32
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.

[Targeting] Users who accepted the Terms of User before November 12, 2025

4 participants