Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a rule for ciaopeople.it #320

Merged
merged 4 commits into from
Dec 28, 2023
Merged

Add a rule for ciaopeople.it #320

merged 4 commits into from
Dec 28, 2023

Conversation

seia-soto
Copy link
Contributor

The CMP in ohga.it looks like unique. I couldn't find a matching CMP in npm and publicwww. You can see the cookie consent popup in ohga.it.

The value for runContext.urlPattern was referenced from the sidebar of ciaopeople.it.

refs ghostery/broken-page-reports#318

Copy link
Member

@muodov muodov left a comment

Choose a reason for hiding this comment

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

I have a couple suggestions, but it's a nice find, thank you!

rules/autoconsent/ciaopeople-it.json Outdated Show resolved Hide resolved
rules/autoconsent/ciaopeople-it.json Outdated Show resolved Hide resolved
rules/autoconsent/ciaopeople-it.json Outdated Show resolved Hide resolved
@muodov
Copy link
Member

muodov commented Dec 27, 2023

One more thing, could you please add a .spec.ts file with a couple test URLs and check if they pass local testing? Just copypaste one of the existing spec files, and run the tests with npx playwright test --grep ciaopeople

@seia-soto
Copy link
Contributor Author

I added the test file and ran test but the result is not stable. CMP is only appearing on iphoneSE profile and I can't get the popup consistently. Even guest profile of Chromium without any extensions failed.

IP address
{
    "ip": "",
    "location": {},
    "as": {
        "asn": 9318,
        "name": "SKB-AS",
        "route": "175.112.0.0/13",
        "domain": "http://www.skbroadband.com/",
        "type": "Cable/DSL/ISP"
    },
    "isp": "SK Broadband Co Ltd",
    "proxy": {
        "proxy": false,
        "vpn": false,
        "tor": false
    }
}
Details
% npx playwright test --grep ciaopeople-it

Running 32 tests using 4 workers

  ✘  1 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  (27.4s)
  ✘  2 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  (28.3s)
  -  3 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn 
  ✘  4 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  (28.1s)
  -  5 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut 
  -  6 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn 
  -  7 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut 
  -  8 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn 
  -  9 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut 
  -  10 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn 
  -  11 [iphoneSE] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut 
  ✘  12 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  (27.6s)
  ✘  13 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  (27.9s)
  ✘  14 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  (28.4s)
  ✘  15 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  (27.6s)
  ✘  16 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  (28.6s)
  ✘  17 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  (28.5s)
  ✘  18 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  (27.1s)
  ✘  19 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  (27.8s)
  ✘  20 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  (28.0s)
  ✘  21 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  (27.2s)
  ✘  22 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  (28.1s)
  ✘  23 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  (28.4s)
  ✘  24 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  (27.0s)
  ✘  25 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  (28.0s)
  ✘  26 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  (28.1s)
  ✘  27 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  (26.5s)
  ✘  28 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  (26.8s)
  ✘  29 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  (26.9s)
  ✘  30 [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  (26.1s)
  ✘  31 [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  (26.7s)
  ✘  32 [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  (26.7s)


  1) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  ─────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-ohga-it-KR-optIn--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  2) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  ────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-ohga-it-KR-optOut--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  3) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  ─────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-lexplain-it-KR-optIn--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  4) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  ────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-lexplain-it-KR-optOut--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  5) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  ───────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-wamily-it-KR-optIn--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  6) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  ──────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-wamily-it-KR-optOut--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  7) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  ──────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-fanpage-it-KR-optIn--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  8) [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  ─────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

    attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
    test-results/ciaopeople-it-ciaopeople-it-fanpage-it-KR-optOut--webkit/test-failed-1.png
    ────────────────────────────────────────────────────────────────────────────────────────────────

  9) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  ────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  10) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  ──────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  11) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  ───────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  12) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  ──────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  13) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  ─────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  14) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  ────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  15) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  ────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  16) [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  ───────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  17) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  ────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  18) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  ───────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  19) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  ────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  20) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  ───────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  21) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  ──────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  22) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  ─────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  23) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  ─────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  24) [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  ────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

      125 |       // wait for all messages and assertions
      126 |       await waitFor(() => isMessageReceived({ type: "cmpDetected", cmp: expectedCmp }), 50, 500);
    > 127 |       expect(isMessageReceived({ type: "cmpDetected", cmp: expectedCmp })).toBe(true);
          |                                                                            ^
      128 |
      129 |       await waitFor(() => isMessageReceived({ type: "popupFound", cmp: expectedCmp }), options.expectPopupOpen ? 50 : 5, 500);
      130 |       expect(isMessageReceived({ type: "popupFound", cmp: expectedCmp })).toBe(options.expectPopupOpen);

        at /Users/aa/local/repos/autoconsent/playwright/runner.ts:127:76

  Slow test file: [firefox] › ../playwright/runner.ts (3.7m)
  Slow test file: [webkit] › ../playwright/runner.ts (3.7m)
  Slow test file: [chrome] › ../playwright/runner.ts (3.6m)
  Consider splitting slow test files to speed up parallel execution
  24 failed
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  ──────────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  ─────────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  ──────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  ─────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  ────────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  ───────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  ───────────────
    [webkit] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  ──────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  ─────────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  ────────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  ─────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  ────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  ───────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  ──────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  ──────────────
    [firefox] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  ─────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optIn  ──────────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › ohga.it/ .KR optOut  ─────────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optIn  ──────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › lexplain.it/ .KR optOut  ─────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optIn  ────────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › wamily.it/ .KR optOut  ───────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optIn  ───────────────
    [chrome] › ../playwright/runner.ts:50:9 › ciaopeople-it › fanpage.it/ .KR optOut  ──────────────
  8 skipped

tests/ciaopeople-it.spec.ts Outdated Show resolved Hide resolved
@muodov muodov self-requested a review December 28, 2023 14:08
Copy link
Member

@muodov muodov left a comment

Choose a reason for hiding this comment

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

I think the tests were failing because of that typo, now they all pass. I'm going to approve and merge this, thanks for the contribution!

@muodov muodov added minor Increment the minor version when merged release Create a release when this pr is merged labels Dec 28, 2023
@muodov muodov merged commit bf23618 into duckduckgo:main Dec 28, 2023
3 checks passed
@seia-soto
Copy link
Contributor Author

Oh, nice finding. Thanks for your kind support. :)

private-face pushed a commit to tempest-tech-ltd/autoconsent that referenced this pull request Apr 11, 2024
* Add a deferred check for usercentrics (duckduckgo#322)

* Update CHANGELOG.md [skip ci]

* Bump version to: 6.6.1 [skip ci]

* Add a rule for csu-landtag.de (duckduckgo#324)

* Add a rule for roofingmegastore.co.uk (duckduckgo#325)

refs ghostery/broken-page-reports#344

* Add a rule for ciaopeople.it (duckduckgo#320)

* Add a rule for ohga.it

refs ghostery/broken-page-reports#318

* Rename ohga.it to ciaopeople.it and add relations

- ohga.it
- lexplain.it
- wamily.it
- fanpage.it

* Add test for ciaopeople-it and remove obsoletes

* Update tests/ciaopeople-it.spec.ts

---------

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

* Update CHANGELOG.md [skip ci]

* Bump version to: 6.7.0 [skip ci]

* Fix CSP errors when running eval rules in MV3 extension (duckduckgo#318)

* Pass eval snippet function directly to avoid CSP errors

* Make microsoft rule pass on github

* Update CHANGELOG.md [skip ci]

* Bump version to: 7.0.0 [skip ci]

* Improve Tealium support (duckduckgo#315)

* Publish coverage data (duckduckgo#330)

Co-authored-by: Dax the Deployer <dax@duckduckgo.com>

* iWink rule (duckduckgo#123)

* iWink rule

* Make iWink rule more specific

---------

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

* Update CHANGELOG.md [skip ci]

* Bump version to: 7.1.0 [skip ci]

* Bump the dev-dependencies group with 4 updates (duckduckgo#328)

Bumps the dev-dependencies group with 4 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser), [chai](https://github.com/chaijs/chai) and [esbuild](https://github.com/evanw/esbuild).


Updates `@typescript-eslint/eslint-plugin` from 6.15.0 to 6.17.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.17.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.15.0 to 6.17.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.17.0/packages/parser)

Updates `chai` from 4.3.10 to 5.0.0
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/main/History.md)
- [Commits](chaijs/chai@v4.3.10...v5.0.0)

Updates `esbuild` from 0.19.9 to 0.19.11
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.19.9...v0.19.11)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Single selector in hide rules (duckduckgo#334)

* Improve Tealium rule

* Change compile target for the test bundle to support optional chaining in evals

* Add test cases for tealium

* Make the hide rule accept a single selector (duckduckgo#316)

* Make the `hide` rule accept a single selector instead of a list

* Change the Hide rule in json files

* Update element selector docs

* Add a note about hide rule only supporting CSS selectors

* Update CHANGELOG.md [skip ci]

* Bump version to: 8.0.0 [skip ci]

* Add a rule for hema.com (duckduckgo#319)

* Add a rule for hema.com

`hema.com` includes Cookiebot CMP script inside their website but it's unused in actual.

* Remove unnecessary wait in the cookiebot rule

* Tweak the hema rule

* Add runContext for hema-com

Co-authored-by: Sam Macbeth <smacbeth@duckduckgo.com>

* Adjust rule trigger for hema

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

---------

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>
Co-authored-by: Sam Macbeth <smacbeth@duckduckgo.com>

* Test a subset of sites found in the coverage crawl in CI (duckduckgo#323)

* Add a test to test a subset of sites from the coverage data

* Run subset test on Jenkins

* Use webkit for CI

* Make number of sites configurable

* Allow other branches to be checked out.

* Run tests together in a single step

* Add browser to description

* Increase the test timeout

* Update test result paths

* Don't upload screenshots

* Improve env block

* Revert test root

* Only use sites where the popup is open by default as examples (duckduckgo#336)

* Add a rule for ing.de (duckduckgo#337)

Testing this site results in IP address ban.

* Update CHANGELOG.md [skip ci]

* Bump version to: 8.1.0 [skip ci]

* Klaro: fix toggle selectors (duckduckgo#339)

* Klaro: use "disable all" button when available.

* Exclude 'required-only'

* Support multiline eval snippets and update klaro to test all possible APIs

* Improve Klaro self test snippet

* Tidy spacing

* Handle some more design variants

* Update CHANGELOG.md [skip ci]

* Bump version to: 8.2.0 [skip ci]

* Bump the dev-dependencies group with 3 updates (duckduckgo#335)

Bumps the dev-dependencies group with 3 updates: [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome), [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).


Updates `@types/chrome` from 0.0.254 to 0.0.256
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

Updates `@typescript-eslint/eslint-plugin` from 6.17.0 to 6.18.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.18.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.17.0 to 6.18.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.18.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Configurable logs (duckduckgo#332)

* Make logs togglable via config

* Wrap rule executors in a class instance

* Refactor unit tests

* Make logs toggleable from the extension popup

* Rename rule-executors to dom-actions

* Make logs more granular

* Normalize config before initialization

* Fix dom actions tests

* post-merge mixes

* Remove commented lines

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.0.0 [skip ci]

* Add a rule for lightbox CMP (duckduckgo#329)

* Add a rule for voba-rhein-erft-koeln.de

refs ghostery/broken-page-reports#420

* Rename to lightbox and add relevant websites

* feat: add a detailed rule for lightbox

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

---------

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.1.0 [skip ci]

* Handle popup right after first popup detected (duckduckgo#326) (duckduckgo#327)

* Handle popup right after first popup detected (duckduckgo#326)

refs duckduckgo#326
refs duckduckgo#319

* Remove useless additional function call

* Remove useless default for function argument

* Convert Promise based `detectPopups` to async/await

Co-authored-by: Sam Macbeth <smacbeth@duckduckgo.com>

* fix: only accept fullfilled promises

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

* fix: await on first popup appears callback

We may return unassigned `result` variable before the callback function of `onFirstPopupAppears` because Promise of `detectPopups` can be resolved before the Promise of `handlePopup`.

* Handle popup right after first popup detected (duckduckgo#326)

refs duckduckgo#326
refs duckduckgo#319

* Remove useless additional function call

* Remove useless default for function argument

* Convert Promise based `detectPopups` to async/await

Co-authored-by: Sam Macbeth <smacbeth@duckduckgo.com>

* fix: only accept fullfilled promises

Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

* fix: await on first popup appears callback

We may return unassigned `result` variable before the callback function of `onFirstPopupAppears` because Promise of `detectPopups` can be resolved before the Promise of `handlePopup`.

* fix: unhandled exception

---------

Co-authored-by: Sam Macbeth <smacbeth@duckduckgo.com>
Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.2.0 [skip ci]

* Handle absence of structuredClone() (duckduckgo#356)

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.2.1 [skip ci]

* Update the EZoic rule (duckduckgo#344)

* Fix the Canonical rule (duckduckgo#345)

* Add rules from Jan 10 Ghostery fixes (duckduckgo#341)

* Add a rule for canyon.com

refs ghostery/broken-page-reports#277

* Add a rule for transip.nl

This website requires us to be redirect to opt-out. Successful test wasn't generated.

* Add a rule for rog-forum.asus.com

* Add a rule for hetzner.com

* Add a rule for strato.de

* Remove cosmetic flags

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.3.0 [skip ci]

* Add rule for bahn.de (duckduckgo#348)

* Complianz regression fixes (duckduckgo#347)

* Update the rule Complianz-optin

* Fix Complianz-categories

* Fix more Complianz sites

* Increase timeout in the sourcepoint rule (duckduckgo#349)

* Make a rejecting osano rule (duckduckgo#350)

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.4.0 [skip ci]

* Improve cookie-law-info rule (duckduckgo#352)

* Add extra hiding to workaround pop-ups that are shown on mouse mve after opt-out (duckduckgo#353)

* Support another version of uniconsent (duckduckgo#355)

* More site-specific rules (duckduckgo#358)

* Add rule for instagram

* Add rules for europa.eu

* Add rule for xvideos

* Add rule for temu

* Add rule for ecosia

* Add rule for verizon

* Add rule for fides CMP (duckduckgo#359)

* Bump the dev-dependencies group with 7 updates (duckduckgo#360)

Bumps the dev-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.40.1` | `1.41.1` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) | `0.0.256` | `0.0.259` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.0` | `6.20.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.0` | `6.20.0` |
| [chai](https://github.com/chaijs/chai) | `5.0.0` | `5.0.3` |
| [esbuild](https://github.com/evanw/esbuild) | `0.19.11` | `0.20.0` |
| [web-ext](https://github.com/mozilla/web-ext) | `7.9.0` | `7.11.0` |


Updates `@playwright/test` from 1.40.1 to 1.41.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.40.1...v1.41.1)

Updates `@types/chrome` from 0.0.256 to 0.0.259
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

Updates `@typescript-eslint/eslint-plugin` from 6.18.0 to 6.20.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.20.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.18.0 to 6.20.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.20.0/packages/parser)

Updates `chai` from 5.0.0 to 5.0.3
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/main/History.md)
- [Commits](chaijs/chai@v5.0.0...v5.0.3)

Updates `esbuild` from 0.19.11 to 0.20.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.19.11...v0.20.0)

Updates `web-ext` from 7.9.0 to 7.11.0
- [Release notes](https://github.com/mozilla/web-ext/releases)
- [Commits](mozilla/web-ext@7.9.0...7.11.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: web-ext
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: paypal-us (duckduckgo#361)

* Fix Ketch and eu-cookie-compliance (duckduckgo#351)

* Improve the Ketch rule

* Better handle `if` without `else`

* Improve eu-cookie-compliance rule

* Address PR comments

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.5.0 [skip ci]

* Fix reddit rule (duckduckgo#362)

* Handle Tealium implicit modal (duckduckgo#363)

* Add rule for webflow (duckduckgo#364)

* regression fix: Do not run opt-out unless a pop-up is actually shown (duckduckgo#365)

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.6.0 [skip ci]

* More site-specific pop-ups (duckduckgo#366)

* Add rule for asus.com

* Add rule for xe.com

* Add rule for ourworldindata

* Add rule for svt.se

* Rule for productz.com

* Add rule for dndbeyond

* tweak the default rule template

* Cosmetic rule for wolframalpha

* Rule for arbeitsagentur

* Add rule for jdsports

* Add rule for hashicorp

* Rule for setapp.com

* Add rule for livejasmin

* Add a rule for mobile twitch notice

* Add rule for aliexpress

* Work around randomized classnames in livejasmin and svt

* More rules for common CMPs (duckduckgo#367)

* Add rule for openli

* Add rule for cookieconsent v2.x.x

* Add rule for cookieconsent v3

* Add rule for cookieacceptbar

* Add rules for termsfeed

* Rule for hu-manity

* Rule for OM Cookie manager

* Rule for pabcogypsum.com

* Rule for abconcerts.be

* Add a rule for Taunton sites

* Add a rule for lineagrafica

* tweak taunton rule

* Address PR comments

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.7.0 [skip ci]

* Avoid :has selectors in detect rules (duckduckgo#370)

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.7.1 [skip ci]

* tweak some site-specific rules to support mobile versions (duckduckgo#371)

* Update CHANGELOG.md [skip ci]

* Bump version to: 9.7.2 [skip ci]

* Publish coverage data (duckduckgo#372)

Co-authored-by: Dax the Deployer <dax@duckduckgo.com>

* Bump the dev-dependencies group with 5 updates (duckduckgo#374)

Bumps the dev-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.41.1` | `1.41.2` |
| [@puppeteer/replay](https://github.com/puppeteer/replay) | `2.13.4` | `3.0.0` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) | `0.0.259` | `0.0.260` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.20.0` | `6.21.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.20.0` | `6.21.0` |


Updates `@playwright/test` from 1.41.1 to 1.41.2
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.41.1...v1.41.2)

Updates `@puppeteer/replay` from 2.13.4 to 3.0.0
- [Release notes](https://github.com/puppeteer/replay/releases)
- [Changelog](https://github.com/puppeteer/replay/blob/main/CHANGELOG.md)
- [Commits](puppeteer/replay@v2.13.4...v3.0.0)

Updates `@types/chrome` from 0.0.259 to 0.0.260
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

Updates `@typescript-eslint/eslint-plugin` from 6.20.0 to 6.21.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.21.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.20.0 to 6.21.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.21.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@puppeteer/replay"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Setup github status reporting for Jenkins multibranch job (duckduckgo#373)

* Setup github status reporting for Jenkins multibranch job

* Disable junit checks publishing

* Ensure correct branch is checked out on multi-branch runs

* Suppress logging in CI

* Fix some issues with stale commits

* Mark run as failed if there are too many failures

* Update action-asana-sync (duckduckgo#378)

* Update asana.yml

* Bump the dev-dependencies group with 4 updates (duckduckgo#377)

Bumps the dev-dependencies group with 4 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser), [chai](https://github.com/chaijs/chai) and [mocha](https://github.com/mochajs/mocha).


Updates `@typescript-eslint/eslint-plugin` from 6.21.0 to 7.0.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.0.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 6.21.0 to 7.0.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.0.1/packages/parser)

Updates `chai` from 5.0.3 to 5.1.0
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/main/History.md)
- [Commits](chaijs/chai@v5.0.3...v5.1.0)

Updates `mocha` from 10.2.0 to 10.3.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](mochajs/mocha@v10.2.0...v10.3.0)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the dev-dependencies group with 7 updates (duckduckgo#382)

Bumps the dev-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.11` | `4.3.12` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) | `0.0.260` | `0.0.261` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `7.0.1` | `7.1.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.0.1` | `7.1.0` |
| [auto](https://github.com/intuit/auto) | `11.0.4` | `11.1.1` |
| [esbuild](https://github.com/evanw/esbuild) | `0.20.0` | `0.20.1` |
| [eslint](https://github.com/eslint/eslint) | `8.56.0` | `8.57.0` |


Updates `@types/chai` from 4.3.11 to 4.3.12
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

Updates `@types/chrome` from 0.0.260 to 0.0.261
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

Updates `@typescript-eslint/eslint-plugin` from 7.0.1 to 7.1.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.1.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.0.1 to 7.1.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.1.0/packages/parser)

Updates `auto` from 11.0.4 to 11.1.1
- [Release notes](https://github.com/intuit/auto/releases)
- [Changelog](https://github.com/intuit/auto/blob/main/CHANGELOG.md)
- [Commits](intuit/auto@v11.0.4...v11.1.1)

Updates `esbuild` from 0.20.0 to 0.20.1
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.20.0...v0.20.1)

Updates `eslint` from 8.56.0 to 8.57.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](eslint/eslint@v8.56.0...v8.57.0)

---
updated-dependencies:
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: auto
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Support reject button in clinch (duckduckgo#375)

* Update CHANGELOG.md [skip ci]

* Bump version to: 10.0.0 [skip ci]

* Publish coverage data (duckduckgo#383)

Co-authored-by: Dax the Deployer <dax@duckduckgo.com>

* sync package-lock.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: HoJeong Go <seia@outlook.kr>
Co-authored-by: Sam Macbeth <runner@fv-az1113-302.v4dlmfbwbvlezlyjnbnry1jt3f.cx.internal.cloudapp.net>
Co-authored-by: Maxim Tsoy <maks.tsoy@gmail.com>
Co-authored-by: Sam Macbeth <runner@fv-az979-838.lnrek1131jeubcfwnjesvv4kld.dx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1022-218.qszcca3gaylehey5nrg125joga.dx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <sammacbeth@users.noreply.github.com>
Co-authored-by: Dax the Deployer <dax@duckduckgo.com>
Co-authored-by: Tomassie91 <github@tomasklinkenberg.nl>
Co-authored-by: Sam Macbeth <runner@fv-az1435-110.w10t344lelvuxfmjd4pvrrtsxg.cx.internal.cloudapp.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sam Macbeth <runner@fv-az735-909.3fam5btdjptetor2mdbeum0p5b.dx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <smacbeth@duckduckgo.com>
Co-authored-by: Sam Macbeth <runner@fv-az532-920.yhfsaq54z0vebhuvdla3z0z0vh.cx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az885-671.m43iyx0u3v4e1h2pvvlabjukza.cx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az881-524.kxqfgnpkrxgetcyd3drl2yrtfd.ex.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1538-407.upsp13a5k4ou3ds4kr34xzh2lh.cx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1055-919.mrg2vkl14epehdn0xjtgmxanmg.phxx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az802-90.15taxv3x2l5urdl5ou4x200swd.phxx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az569-219.howdd30p31kevpcfp33h0nwd0f.bx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az735-561.3fam5btdjptetor2mdbeum0p5b.dx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az777-164.lfui0zr1uqperkldaumeavowed.bx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1242-670.5v455grvumqehdtexsenyv1bfb.ex.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1487-932.vpy2y30pan5uhaa0ktko4c43jh.ex.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az564-163.umv0eqcl5qku3cwf2dcfspuvdc.ex.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1198-835.olij14r4f4eezasrnq2weippdh.phxx.internal.cloudapp.net>
Co-authored-by: Sam Macbeth <runner@fv-az1532-911.r45ftdqj0iiudj1ovfs3chqk3e.ex.internal.cloudapp.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
minor Increment the minor version when merged release Create a release when this pr is merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants