diff options
Diffstat (limited to 'services/settings')
21 files changed, 1728 insertions, 867 deletions
diff --git a/services/settings/Attachments.sys.mjs b/services/settings/Attachments.sys.mjs index 5ddc6bb046..345bf1e8e6 100644 --- a/services/settings/Attachments.sys.mjs +++ b/services/settings/Attachments.sys.mjs @@ -33,6 +33,14 @@ class ServerInfoError extends Error { } } +class NotFoundError extends Error { + constructor(url, resp) { + super(`Could not find ${url} in cache or dump`); + this.name = "NotFoundError"; + this.resp = resp; + } +} + // Helper for the `download` method for commonly used methods, to help with // lazily accessing the record and attachment content. class LazyRecordAndBuffer { @@ -99,6 +107,9 @@ export class Downloader { static get ServerInfoError() { return ServerInfoError; } + static get NotFoundError() { + return NotFoundError; + } constructor(...folders) { this.folders = ["settings", ...folders]; @@ -122,15 +133,15 @@ export class Downloader { * @param {Object} record A Remote Settings entry with attachment. * If omitted, the attachmentId option must be set. * @param {Object} options Some download options. - * @param {Number} options.retries Number of times download should be retried (default: `3`) - * @param {Boolean} options.checkHash Check content integrity (default: `true`) - * @param {string} options.attachmentId The attachment identifier to use for + * @param {Number} [options.retries] Number of times download should be retried (default: `3`) + * @param {Boolean} [options.checkHash] Check content integrity (default: `true`) + * @param {string} [options.attachmentId] The attachment identifier to use for * caching and accessing the attachment. * (default: `record.id`) - * @param {Boolean} options.fallbackToCache Return the cached attachment when the + * @param {Boolean} [options.fallbackToCache] Return the cached attachment when the * input record cannot be fetched. * (default: `false`) - * @param {Boolean} options.fallbackToDump Use the remote settings dump as a + * @param {Boolean} [options.fallbackToDump] Use the remote settings dump as a * potential source of the attachment. * (default: `false`) * @throws {Downloader.DownloadError} if the file could not be fetched. @@ -143,12 +154,55 @@ export class Downloader { * `_source` `String`: identifies the source of the result. Used for testing. */ async download(record, options) { + return this.#fetchAttachment(record, options); + } + + /** + * Gets an attachment from the cache or local dump, avoiding requesting it + * from the server. + * If the only found attachment hash does not match the requested record, the + * returned attachment may have a different record, e.g. packaged in binary + * resources or one that is outdated. + * + * @param {Object} record A Remote Settings entry with attachment. + * If omitted, the attachmentId option must be set. + * @param {Object} options Some download options. + * @param {Number} [options.retries] Number of times download should be retried (default: `3`) + * @param {Boolean} [options.checkHash] Check content integrity (default: `true`) + * @param {string} [options.attachmentId] The attachment identifier to use for + * caching and accessing the attachment. + * (default: `record.id`) + * @throws {Downloader.DownloadError} if the file could not be fetched. + * @throws {Downloader.BadContentError} if the downloaded content integrity is not valid. + * @throws {Downloader.ServerInfoError} if the server response is not valid. + * @throws {NetworkError} if fetching the server infos and fetching the attachment fails. + * @returns {Object} An object with two properties: + * `buffer` `ArrayBuffer`: the file content. + * `record` `Object`: record associated with the attachment. + * `_source` `String`: identifies the source of the result. Used for testing. + */ + async get( + record, + options = { + attachmentId: record?.id, + } + ) { + return this.#fetchAttachment(record, { + ...options, + avoidDownload: true, + fallbackToCache: true, + fallbackToDump: true, + }); + } + + async #fetchAttachment(record, options) { let { retries, checkHash, attachmentId = record?.id, fallbackToCache = false, fallbackToDump = false, + avoidDownload = false, } = options || {}; if (!attachmentId) { // Check for pre-condition. This should not happen, but it is explicitly @@ -195,7 +249,7 @@ export class Downloader { // There is no local version that matches the requested record. // Try to download the attachment specified in record. - if (record && record.attachment) { + if (!avoidDownload && record && record.attachment) { try { const newBuffer = await this.downloadAsBytes(record, { retries, @@ -253,6 +307,9 @@ export class Downloader { throw errorIfAllFails; } + if (avoidDownload) { + throw new Downloader.NotFoundError(attachmentId); + } throw new Downloader.DownloadError(attachmentId); } diff --git a/services/settings/IDBHelpers.sys.mjs b/services/settings/IDBHelpers.sys.mjs index 6f2ef6937d..d77243b7a1 100644 --- a/services/settings/IDBHelpers.sys.mjs +++ b/services/settings/IDBHelpers.sys.mjs @@ -108,7 +108,7 @@ function executeIDB(db, storeNames, mode, callback, desc) { desc || "execute()" ) ); - transaction.oncomplete = event => resolve(result); + transaction.oncomplete = () => resolve(result); // Simplify access to a single datastore: if (stores.length == 1) { stores = stores[0]; diff --git a/services/settings/RemoteSettings.worker.mjs b/services/settings/RemoteSettings.worker.mjs index 66228f226e..bfffe9313d 100644 --- a/services/settings/RemoteSettings.worker.mjs +++ b/services/settings/RemoteSettings.worker.mjs @@ -140,7 +140,7 @@ let gPendingTransactions = new Set(); /** * Import the records into the Remote Settings Chrome IndexedDB. * - * Note: This duplicates some logics from `kinto-offline-client.js`. + * Note: This duplicates some logics from `kinto-offline-client.sys.mjs`. * * @param {String} bucket * @param {String} collection diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs index 7e95b9baab..c521b72123 100644 --- a/services/settings/RemoteSettingsClient.sys.mjs +++ b/services/settings/RemoteSettingsClient.sys.mjs @@ -34,7 +34,7 @@ ChromeUtils.defineLazyGetter(lazy, "console", () => lazy.Utils.log); function cacheProxy(target) { const cache = new Map(); return new Proxy(target, { - get(target, prop, receiver) { + get(target, prop) { if (!cache.has(prop)) { cache.set(prop, target[prop]); } diff --git a/services/settings/RemoteSettingsComponents.sys.mjs b/services/settings/RemoteSettingsComponents.sys.mjs index 9f7687514f..1b08d66978 100644 --- a/services/settings/RemoteSettingsComponents.sys.mjs +++ b/services/settings/RemoteSettingsComponents.sys.mjs @@ -15,7 +15,7 @@ RemoteSettingsTimer.prototype = { contractID: "@mozilla.org/services/settings;1", // By default, this timer fires once every 24 hours. See the "services.settings.poll_interval" pref. - notify(timer) { + notify() { lazy.RemoteSettings.pollChanges({ trigger: "timer" }).catch(e => console.error(e) ); diff --git a/services/settings/docs/index.rst b/services/settings/docs/index.rst index fb9cdc1f49..c91d5e6ba6 100644 --- a/services/settings/docs/index.rst +++ b/services/settings/docs/index.rst @@ -532,12 +532,14 @@ For example, they leverage advanced customization options (bucket, content-signa .. code-block:: js - const {RemoteSecuritySettings} = ChromeUtils.import("resource://gre/modules/psm/RemoteSecuritySettings.jsm"); + const {RemoteSecuritySettings} = + ChromeUtils.importESModule("resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs"); RemoteSecuritySettings.init(); - const {BlocklistPrivate} = ChromeUtils.import("resource://gre/modules/Blocklist.jsm"); + const {BlocklistPrivate} = + ChromeUtils.importESModule("resource://gre/modules/Blocklist.sys.mjs"); BlocklistPrivate.ExtensionBlocklistRS._ensureInitialized(); BlocklistPrivate.PluginBlocklistRS._ensureInitialized(); diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index b7fadac629..3e8d6e5524 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -3,6 +3,291 @@ { "stash": { "blocked": [ + "{1f7d545d-970e-49e8-acd8-834d4a9aff09}:1.1" + ], + "unblocked": [] + }, + "schema": 1712752562106, + "key_format": "{guid}:{version}", + "stash_time": 1712860505827, + "id": "a6c8570f-b4b3-4798-8a27-494046d2e2e7", + "last_modified": 1712860562321 + }, + { + "stash": { + "blocked": [ + "ownsolution@admingrouphelper:0.5.2", + "firepocket@dev:2024.1.24.1", + "invited@admcm:0.3.0", + "analyzer@appsntricks:1.2", + "official@traveltab:1.3", + "goya@flowerbag:0.1.5", + "umanager@tsolutions:0.1.7", + "official@traveltab:1.2", + "prod@achelper:0.3.0", + "invited@admcm:0.1.1", + "beta@agmanager:0.1.6", + "init@gadmininit:0.1.0", + "private@lmaker:0.1.1", + "acmanager@final:0.1.4", + "ownsolution@admingrouphelper:0.1.0", + "beta@agmanager:0.4.0", + "corganizer@final:0.2.1", + "yourmove@official:0.1.0", + "prod@achelper:0.1.1", + "listener@notfarinc:1.0.0", + "fivestar@fivestarpocket:0.0.3", + "ownsolution@admingrouphelper:0.7.0", + "ownsolution@admingrouphelper:0.5.4", + "ownsolution@admingrouphelper:0.2.0", + "modearn@prod:2023.11.16", + "umanager@tsolutions:0.2.2", + "ownsolution@admingrouphelper:0.5.1", + "official@traveltab:1.4", + "prodocly@main:0.0.2", + "acmanager@final:0.1.2", + "holder@cholder:0.1.5", + "moreapp@moreappfinal:0.0.7", + "beta@agmanager:0.1.2", + "prod@achelper:0.1.6", + "corganizer@final:0.1.6", + "corganizer@final:0.2.2", + "private@lmaker:0.3.0", + "ownsolution@admingrouphelper:0.5.7", + "corganizer@final:0.1.7", + "smasters@dev:2023.11.10.1", + "beta@agmanager:0.1.0", + "private@lmaker:0.5.0", + "moreapp@moreappfinal:0.0.8", + "monschedule@dev:2024.1.17.1", + "holder@cholder:0.1.7", + "goya@flowerbag:0.1.0", + "acmanager@beta:0.0.4", + "invited@admcm:0.4.0", + "ownsolution@admingrouphelper:0.5.3", + "init@gadmininit:0.1.7", + "beta@agmanager:0.1.3", + "corganizer@final:0.2.4", + "goya@flowerbag:0.0.4", + "debug@angelcookie.app:0.2.1", + "analyzer@appsntricks:1.1", + "malzapp@official:0.0.1", + "holder@cholder:0.5.0", + "holder@cholder:0.6.0", + "prod@achelper:0.1.0", + "holder@cholder:0.1.2", + "holder@cholder:0.1.0", + "yourmove@official:0.0.7", + "ownsolution@admingrouphelper:0.5.5", + "fivestar@fivestarpocket:0.0.1", + "acmanager@final:0.1.0", + "umanager@tsolutions:0.2.3", + "dexhouse@official:2024.2.16.1", + "holder@cholder:0.3.0", + "userapproved@uasystem:0.0.1", + "ownsolution@admingrouphelper:0.4.0", + "private@lmaker:0.2.0", + "beta@agmanager:0.1.1", + "modearn@prod:2023.11.15", + "goya@flowerbag:0.1.4", + "goya@flowerbag:0.0.2", + "umanager@tsolutions:0.1.5", + "invited@admcm:0.2.0", + "yourmove@official:0.0.6", + "prod@achelper:0.4.0", + "goya@flowerbag:0.0.5", + "acmanager@beta:0.0.2", + "goya@flowerbag:0.0.1", + "private@lmaker:0.1.0", + "beta@agmanager:0.1.4", + "umanager@tsolutions:0.2.0", + "beta@agmanager:0.2.0", + "fivestar@fivestarpocket:0.0.4", + "moreapp@moreappfinal:0.0.3", + "beta@agmanager:0.3.0", + "goya@flowerbag:0.0.6", + "goya@flowerbag:0.0.3", + "init@gadmininit:0.2.0", + "vertez@prod:2024.2.28.1", + "ownsolution@admingrouphelper:0.5.6", + "smasters@dev:2023.11.13.0", + "userapproved@uasystem:0.0.2", + "userapproved@uasystem:0.0.5", + "corganizer@final:0.1.5", + "goya@flowerbag:0.1.3", + "frypray@systems:0.0.1", + "holder@cholder:0.1.6", + "ownsolution@admingrouphelper:0.6.0", + "official@traveltab:1.0", + "official@traveltab:1.1", + "init@gadmininit:0.4.0", + "userapproved@uasystem:0.0.6", + "corganizer@final:0.2.0", + "yourmove@official:0.0.1", + "userapproved@uasystem:0.0.4", + "ownsolution@admingrouphelper:0.8.0", + "ownsolution@admingrouphelper:0.5.0", + "umanager@tsolutions:0.1.0", + "goya@flowerbag:0.1.2", + "moreapp@moreappfinal:0.0.5", + "invited@admcm:0.1.8", + "private@lmaker:0.6.0", + "corganizer@final:0.1.0", + "yourmove@official:0.0.5", + "yourmove@official:0.0.2", + "prodocly@main:0.0.1", + "moreapp@moreappfinal:0.0.1", + "yourmove@official:0.0.8", + "moreapp@moreappfinal:0.0.2", + "goya@flowerbag:0.0.9", + "moreapp@moreappfinal:0.0.6", + "init@gadmininit:0.1.5", + "acmanager@beta:0.0.1", + "umanager@tsolutions:0.2.1", + "prod@achelper:0.1.5", + "beta@agmanager:0.1.7", + "yourmove@official:0.0.4", + "private@lmaker:0.4.0", + "goya@flowerbag:0.1.1", + "invited@admcm:0.1.0", + "acmanager@beta:0.0.3", + "holder@cholder:0.2.0", + "listener@notfarinc:1.0.1", + "userapproved@uasystem:0.0.3", + "goya@flowerbag:0.0.8", + "goya@flowerbag:0.0.7", + "invited@admcm:0.1.6", + "holder@cholder:0.4.0", + "holder@cholder:0.1.1", + "corganizer@final:0.2.3", + "init@gadmininit:0.1.6", + "acmanager@final:0.1.3", + "moreapp@moreappfinal:0.0.9", + "prod@achelper:0.2.0", + "ownsolution@admingrouphelper:0.3.0", + "prod@achelper:0.1.8", + "invited@admcm:0.1.7", + "userapproved@uasystem:0.0.7", + "beta@agmanager:0.1.5", + "yourmove@official:0.0.3", + "moreapp@moreappfinal:0.0.4", + "init@gadmininit:0.1.1", + "userapproved@uasystem:1.1.9", + "userapproved@uasystem:1.1.8", + "invited@admcm:0.1.5", + "bmttools@prod:0.0.1", + "analyzer@appsntricks:1.0", + "init@gadmininit:0.3.0", + "fivestar@fivestarpocket:0.0.2", + "umanager@tsolutions:0.1.6", + "prod@achelper:0.1.7" + ], + "unblocked": [] + }, + "schema": 1712744602348, + "key_format": "{guid}:{version}", + "stash_time": 1712752505697, + "id": "8a549832-9ac4-4cfd-ab1b-190da763c3f4", + "last_modified": 1712752561961 + }, + { + "stash": { + "blocked": [ + "{bffa7976-db34-42e3-8d80-17acee672804}:19", + "{8858e73c-8617-402e-b57d-de5fcfdcd26a}:1.4" + ], + "unblocked": [] + }, + "schema": 1712342161525, + "key_format": "{guid}:{version}", + "stash_time": 1712601304195, + "id": "6e3e7b5a-0bc5-43f1-87fd-96e397f0bbca", + "last_modified": 1712601358306 + }, + { + "stash": { + "blocked": [ + "premiumblocker@addon:1.0", + "premiumblocker@addon:1.2", + "premiumblocker@addon:1.1" + ], + "unblocked": [] + }, + "schema": 1712314258197, + "key_format": "{guid}:{version}", + "stash_time": 1712342104382, + "id": "928afd6e-3aec-466b-8c59-bcfd8007ff13", + "last_modified": 1712342161400 + }, + { + "stash": { + "blocked": [ + "{7f72ddf5-1bd4-4515-81ca-82d58e0bf6b2}:1.0.0", + "{33bd1745-0a29-41b6-84a7-3029a3fe3719}:1.1.15", + "{7f72ddf5-1bd4-4515-81ca-82d58e0bf6b2}:1.0.2", + "{b171cb50-6590-4718-92a1-42dc50197e5d}:0.0.1", + "{17942f1e-9956-4191-a6a7-3c003ef8624a}:1.0", + "{8ceab6f8-b954-439b-b7e2-52ec58472842}:1.1.7", + "{3e9f3c3b-b14d-417b-9933-44f028e85a07}:2.1.0", + "{7f72ddf5-1bd4-4515-81ca-82d58e0bf6b2}:1.0.1", + "{5bb57a62-2c46-4f87-bc69-7f731f277250}:1.6", + "{dc72d0ad-67d1-4199-be96-9ee05ac2cc1e}:3.0", + "{55e16062-37e8-404f-a7cb-51c34f29190a}:3.2", + "{e24795ad-5cb8-4d59-81fd-f095a7d86725}:1.2.11", + "{33bd1745-0a29-41b6-84a7-3029a3fe3719}:1.1.14", + "{8ceab6f8-b954-439b-b7e2-52ec58472842}:1.1.8", + "{e24795ad-5cb8-4d59-81fd-f095a7d86725}:1.2.10" + ], + "unblocked": [] + }, + "schema": 1711391760286, + "key_format": "{guid}:{version}", + "stash_time": 1711564504509, + "id": "1cd17f74-8694-4314-b217-c69557882c51", + "last_modified": 1711564561309 + }, + { + "stash": { + "blocked": [ + "{5989dbf0-76bc-4ab2-9be4-a41c7ec054cb}:1.0", + "{e8526ae3-f86a-49f6-80e5-3a510b63b0f2}:1.0", + "{7f9d3107-5f02-4d08-b4c9-490d0ec2b27f}:1.0", + "{03f4624c-1f68-40d6-b35d-a9dce59ddd68}:1.0.0", + "{dda3cd29-b4a8-4d4a-b131-cfab6e8727aa}:1.2", + "{1aec60c2-46e6-4d7e-946d-f91b215db084}:1.0.0", + "{2883de72-c62b-4525-a81a-8acb7c3767a4}:1.0", + "{1aec60c2-46e6-4d7e-946d-f91b215db084}:1.1.0", + "{0cd74264-5b96-4e4e-9df2-c19735f4936b}:1.0", + "{b2439207-035f-4def-b9e8-2a9a17c2d6d2}:1.2", + "{101ea9e3-7eef-4cbd-bb3b-f6d6707557dc}:1.0", + "{5c365316-637d-4516-b668-60ce301bd0d5}:1.0", + "{3874328b-dbb8-4971-84ef-364fe214f432}:1.1.0", + "{805ac85d-ce15-4725-ba4e-96290ac94516}:1.1.0" + ], + "unblocked": [] + }, + "schema": 1711046158915, + "key_format": "{guid}:{version}", + "stash_time": 1711391704548, + "id": "fd45ebfd-135f-48c8-a9e3-d8b09c85560e", + "last_modified": 1711391760159 + }, + { + "stash": { + "blocked": [ + "{557505af-170c-424d-887f-fce817abd62b}:1.4" + ], + "unblocked": [] + }, + "schema": 1711039011310, + "key_format": "{guid}:{version}", + "stash_time": 1711046104269, + "id": "45d7d239-9fe6-4583-9658-a222ddab91b3", + "last_modified": 1711046158801 + }, + { + "stash": { + "blocked": [ "{c897d01a-2f32-4d90-b583-0db861a92a4d}:1.3" ], "unblocked": [] @@ -239,5 +524,5 @@ "last_modified": 1707395854769 } ], - "timestamp": 1710938159550 + "timestamp": 1712860562321 } diff --git a/services/settings/dumps/gen_last_modified.py b/services/settings/dumps/gen_last_modified.py index d03f8fc096..d16eaa01e3 100644 --- a/services/settings/dumps/gen_last_modified.py +++ b/services/settings/dumps/gen_last_modified.py @@ -52,6 +52,7 @@ def main(output): assert buildconfig.substs["MOZ_BUILD_APP"] in ( "browser", "mobile/android", + "mobile/ios", "comm/mail", "comm/suite", ), ( @@ -64,6 +65,8 @@ def main(output): dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": + dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": dumps_locations += ["services/settings/dumps/"] dumps_locations += ["comm/mail/app/settings/dumps/"] diff --git a/services/settings/dumps/main/cookie-banner-rules-list.json b/services/settings/dumps/main/cookie-banner-rules-list.json index 602b34a4b9..5d1c71818f 100644 --- a/services/settings/dumps/main/cookie-banner-rules-list.json +++ b/services/settings/dumps/main/cookie-banner-rules-list.json @@ -2,20 +2,518 @@ "data": [ { "click": { + "optIn": "#c-bns #c-p-bn", + "optOut": "#c-bns button.grey", + "presence": "#cm" + }, + "schema": 1711039008141, + "cookies": { + "optOut": [ + { + "name": "cc_cookie", + "value": "{\"level\":[\"necessary\"],\"revision\":0,\"data\":null,\"rfc_cookie\":false}" + } + ] + }, + "domains": [ + "yazio.com" + ], + "id": "B8CB497B-9E12-49A7-BA2A-B7842CAEDFC3", + "last_modified": 1711550955136 + }, + { + "click": { + "optIn": "#rgpd-btn-index-accept", + "optOut": "#rgpd-btn-index-continue", + "presence": "#modalTpl" + }, + "schema": 1711039008141, + "domains": [ + "rueducommerce.fr" + ], + "id": "BC3582FC-C5FA-4743-85E8-7E46F67629AB", + "last_modified": 1711550955133 + }, + { + "click": { + "optIn": "#cookieConsentAcceptButton", + "optOut": "#cookieConsentRefuseButton", + "presence": "#cookieConsentBanner" + }, + "schema": 1711039008141, + "domains": [ + "ldlc.com", + "ldlc.pro", + "materiel.net" + ], + "id": "4A767353-98B9-4284-857A-D98DC3ECDFE1", + "last_modified": 1711550955129 + }, + { + "click": { + "optIn": "#header_tc_privacy_button_3", + "optOut": "#header_tc_privacy_button", + "presence": "#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "domains": [ + "ovh.com", + "ovhcloud.com", + "ovhtelecom.fr" + ], + "id": "17B1F270-F499-451C-AED5-5C737106F003", + "last_modified": 1711550955125 + }, + { + "click": { + "optIn": "#popin_tc_privacy_button_2", + "optOut": "#optout_link", + "presence": "#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "domains": [ + "laredoute.fr" + ], + "id": "9022E9FE-2DC2-48DD-BE4A-EFA8A2C81E2B", + "last_modified": 1711550955121 + }, + { + "click": { + "optIn": "#popin_tc_privacy_button_2", + "optOut": "#popin_tc_privacy_button", + "presence": "#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "domains": [ + "quechoisir.org", + "quechoisirensemble.fr" + ], + "id": "5D50AA8D-D00E-4A51-8D32-64965A0575CA", + "last_modified": 1711550955117 + }, + { + "click": { + "optIn": "button#footer_tc_privacy_button_3", + "optOut": "button#footer_tc_privacy_button_2", + "presence": "div#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "cookies": {}, + "domains": [ + "labanquepostale.fr" + ], + "id": "6c1ebd2b-867a-40a5-8184-0ead733eae69", + "last_modified": 1711550955113 + }, + { + "click": { + "optIn": "button.orejime-Notice-saveButton", + "optOut": "button.orejime-Notice-declineButton", + "presence": "div.orejime-Notice" + }, + "schema": 1711039008141, + "domains": [ + "service-public.fr" + ], + "id": "7293dc4c-1d3d-4236-84a6-3c5cb3def55a", + "last_modified": 1711550955109 + }, + { + "schema": 1711039008141, + "cookies": { + "optIn": [ + { + "name": "cb", + "value": "1_2055_07_11_" + } + ], + "optOut": [ + { + "name": "cb", + "value": "1_2055_07_11_2-3" + } + ] + }, + "domains": [ + "threads.net" + ], + "id": "c232eab8-f55a-436a-8033-478746d05d98", + "last_modified": 1711550955105 + }, + { + "click": { + "optIn": "button#onetrust-accept-btn-handler", + "optOut": ".ot-pc-refuse-all-handler, #onetrust-reject-all-handler", + "presence": "div#onetrust-consent-sdk" + }, + "schema": 1711039008141, + "cookies": {}, + "domains": [ + "espncricinfo.com", + "blackboard.com", + "roche.com", + "apnews.com", + "nationalgeographic.com", + "espn.com", + "hotjar.com", + "marriott.com", + "hootsuite.com", + "wattpad.com", + "gamespot.com", + "apa.org", + "opendns.com", + "epicgames.com", + "zendesk.com", + "drei.at", + "ikea.com", + "search.ch", + "centrum.sk", + "zoom.us", + "pluska.sk", + "hp.com", + "ceskatelevize.cz", + "telenet.be", + "adobe.com", + "rottentomatoes.com", + "dhl.com", + "dhl.de", + "nvidia.com", + "cloudflare.com", + "webex.com", + "indeed.com", + "discord.com", + "sport.ro", + "ricardo.ch", + "stirileprotv.ro", + "1177.se", + "meinbezirk.at", + "orange.ro", + "ica.se", + "flashscore.pl", + "kuleuven.be", + "tutti.ch", + "post.at", + "rezultati.com", + "nbg.gr", + "behance.net", + "zemanta.com", + "grammarly.com", + "usatoday.com", + "cnet.com", + "npr.org", + "binance.com", + "linktr.ee", + "time.com", + "cisco.com", + "udemy.com", + "shutterstock.com", + "investopedia.com", + "cbsnews.com", + "okta.com", + "appsflyer.com", + "typepad.com", + "calendly.com", + "verisign.com", + "outbrain.com", + "zdnet.com", + "deloitte.com", + "hdfcbank.com", + "media.net", + "docker.com", + "avast.com", + "bluehost.com", + "nba.com", + "hostgator.com", + "scientificamerican.com", + "aljazeera.com", + "sahibinden.com", + "rackspace.com", + "namecheap.com", + "people.com", + "branch.io", + "tv2.dk", + "criteo.com", + "trustpilot.com", + "hm.com", + "mailchimp.com", + "surveymonkey.com", + "mckinsey.com", + "rollingstone.com", + "slate.com", + "dictionary.com", + "coursera.org", + "msn.com", + "chegg.com", + "variety.com", + "cnn.com", + "proximus.be", + "adevarul.ro", + "cnbc.com", + "oe24.at", + "reuters.com", + "booking.com", + "bluewin.ch", + "viaplay.dk", + "aib.ie", + "hbomax.com", + "rtlnieuws.nl", + "buienradar.be", + "viaplay.se", + "antena3.ro", + "statista.com", + "pixabay.com", + "constantcontact.com", + "atlassian.com", + "bmj.com", + "trendyol.com", + "meetup.com", + "vmware.com", + "bitbucket.org", + "viaplay.no", + "asana.com", + "freepik.com", + "heute.at", + "mtvuutiset.fi", + "buienradar.nl", + "nypost.com", + "panasonic.com", + "safeway.com", + "amd.com", + "atg.se", + "brother.de", + "brother.eu", + "brother.fr", + "corsair.com", + "crucial.com", + "dc.com", + "dn.no", + "epson.de", + "epson.es", + "epson.eu", + "epson.fr", + "epson.it", + "evga.com", + "fortnite.com", + "fujitsu.com", + "global.canon", + "gpuopen.com", + "info.lidl", + "inpost.es", + "inpost.eu", + "inpost.it", + "intel.com", + "kaufland.de", + "lg.com", + "lidl.co.uk", + "lidl.com", + "lidl.cz", + "lidl.de", + "lidl.fr", + "lidl.it", + "lidl.pl", + "lifewire.com", + "logitech.com", + "micron.com", + "mythomson.com", + "oki.com", + "otto.de", + "razer.com", + "rightmove.co.uk", + "sbb.ch", + "seagate.com", + "soundcloud.com", + "trello.com", + "unrealengine.com", + "askubuntu.com", + "mathoverflow.net", + "serverfault.com", + "stackapps.com", + "stackexchange.com", + "stackoverflow.com", + "superuser.com", + "carrefour.fr" + ], + "id": "6c7366a0-4762-47b9-8eeb-04e86cc7a0cc", + "last_modified": 1711550955100 + }, + { + "click": { + "optIn": "#footer_tc_privacy_button", + "optOut": "#footer_tc_privacy_button_2", + "presence": ".tc-privacy-wrapper.tc-privacy-override.tc-privacy-wrapper" + }, + "schema": 1711039008141, + "domains": [ + "arte.tv", + "urssaf.fr" + ], + "id": "cc818b41-7b46-46d3-9b17-cf924cbe87d1", + "last_modified": 1711550955095 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "optOut": "span.didomi-continue-without-agreeing", + "presence": "div#didomi-popup" + }, + "schema": 1711039008141, + "cookies": {}, + "domains": [ + "theconversation.com", + "leparisien.fr", + "lesechos.fr", + "numerama.com", + "jofogas.hu", + "orange.fr", + "meteofrance.com", + "subito.it", + "hasznaltauto.hu", + "zdnet.de", + "intersport.fr", + "decathlon.fr", + "leboncoin.fr", + "boursorama.com", + "boursobank.com", + "intermarche.com", + "bricomarche.com", + "entrepot-du-bricolage.fr", + "lesnumeriques.com", + "seloger.com", + "societe.com", + "manomano.fr", + "pagesjaunes.fr", + "sncf-connect.com", + "largus.fr" + ], + "id": "c1d7be10-151e-4a66-b83b-31a762869a97", + "last_modified": 1711550955088 + }, + { + "click": { + "optIn": "button#footer_tc_privacy_button_2", + "optOut": "button#footer_tc_privacy_button_3", + "presence": "div#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "cookies": {}, + "domains": [ + "cdiscount.com", + "laposte.net", + "laposte.fr" + ], + "id": "1871561d-65f8-4972-8e8a-84fa9eb704b4", + "last_modified": 1711550955084 + }, + { + "click": { + "optIn": "button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", + "optOut": "button#CybotCookiebotDialogBodyButtonDecline", + "presence": "div#CybotCookiebotDialog" + }, + "schema": 1711039008141, + "cookies": {}, + "domains": [ + "politiken.dk" + ], + "id": "1006f951-cd51-47cc-9527-5036cef4b85a", + "last_modified": 1711550955080 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "optOut": "button#didomi-notice-disagree-button", + "presence": "div#didomi-host" + }, + "schema": 1711039008141, + "cookies": {}, + "domains": [ + "doctolib.fr", + "pravda.sk", + "topky.sk", + "zoznam.sk", + "tvnoviny.sk", + "aukro.cz", + "krone.at", + "cas.sk", + "heureka.sk", + "free.fr", + "markiza.sk", + "willhaben.at", + "francetvinfo.fr", + "france.tv", + "france24.com", + "opodo.at", + "opodo.ch", + "opodo.co.uk", + "opodo.de", + "opodo.dk", + "opodo.fi", + "opodo.fr", + "opodo.it", + "opodo.nl", + "opodo.no", + "opodo.pl", + "opodo.pt", + "radiofrance.fr", + "rfi.fr", + "blablacar.fr", + "6play.fr" + ], + "id": "690aa076-4a8b-48ec-b52c-1443d44ff008", + "last_modified": 1711550955075 + }, + { + "click": { "optIn": "button#onetrust-accept-btn-handler", "optOut": "button.onetrust-close-btn-handler", "presence": "div#onetrust-consent-sdk" }, - "schema": 1710174339269, + "schema": 1711039008141, "cookies": {}, "domains": [ + "e.leclerc", "fnac.be", "fnac.ch", "fnac.com", - "fnac.pt" + "fnac.pt", + "leclercdrive.fr", + "mondialrelay.fr" ], "id": "2d821158-5945-4134-a078-56c6da4f678d", - "last_modified": 1710331175432 + "last_modified": 1711550955071 + }, + { + "click": { + "optIn": "#popin_tc_privacy_button", + "optOut": "#popin_tc_privacy_button_3", + "presence": "#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "domains": [ + "dpd.com", + "dpdgroup.com", + "edf.fr", + "totalenergies.fr" + ], + "id": "43ad2b6b-a57b-4f7a-9d76-e32e696ddc10", + "last_modified": 1711550955067 + }, + { + "click": { + "optIn": "#popin_tc_privacy_button_3", + "optOut": "#popin_tc_privacy_button_2", + "presence": "#tc-privacy-wrapper" + }, + "schema": 1711039008141, + "domains": [ + "bouyguestelecom.fr", + "enedis.fr", + "fortuneo.fr", + "lcl.fr", + "tf1.fr" + ], + "id": "98D89E26-F4B6-4C2D-BABF-4295B922E433", + "last_modified": 1711550955063 }, { "click": { @@ -47,20 +545,6 @@ { "click": { "optIn": "#popin_tc_privacy_button", - "optOut": "#popin_tc_privacy_button_3", - "presence": "#tc-privacy-wrapper" - }, - "schema": 1710174339269, - "domains": [ - "dpd.com", - "dpdgroup.com" - ], - "id": "43ad2b6b-a57b-4f7a-9d76-e32e696ddc10", - "last_modified": 1710331175424 - }, - { - "click": { - "optIn": "#popin_tc_privacy_button", "optOut": "#popin_tc_privacy_button_2", "presence": "#tc-privacy-wrapper" }, @@ -73,20 +557,6 @@ }, { "click": { - "optIn": "#popin_tc_privacy_button_3", - "optOut": "#popin_tc_privacy_button_2", - "presence": "#tc-privacy-wrapper" - }, - "schema": 1710174339269, - "domains": [ - "fortuneo.fr", - "lcl.fr" - ], - "id": "98D89E26-F4B6-4C2D-BABF-4295B922E433", - "last_modified": 1710331175416 - }, - { - "click": { "optIn": ".ei_btn_typ_validate", "optOut": ".ei_lb_btnskip", "presence": "#cookieLB" @@ -316,35 +786,6 @@ }, { "click": { - "optIn": "button#didomi-notice-agree-button", - "optOut": "span.didomi-continue-without-agreeing", - "presence": "div#didomi-popup" - }, - "schema": 1710174339269, - "cookies": {}, - "domains": [ - "theconversation.com", - "leparisien.fr", - "lesechos.fr", - "numerama.com", - "jofogas.hu", - "orange.fr", - "meteofrance.com", - "subito.it", - "hasznaltauto.hu", - "zdnet.de", - "intersport.fr", - "decathlon.fr", - "leboncoin.fr", - "boursorama.com", - "boursobank.com", - "intermarche.com" - ], - "id": "c1d7be10-151e-4a66-b83b-31a762869a97", - "last_modified": 1710331175364 - }, - { - "click": { "optOut": ".sp_choice_type_13", "presence": ".message-container > #notice", "runContext": "child" @@ -417,46 +858,6 @@ }, { "click": { - "optIn": "button#didomi-notice-agree-button", - "optOut": "button#didomi-notice-disagree-button", - "presence": "div#didomi-host" - }, - "schema": 1710174339269, - "cookies": {}, - "domains": [ - "doctolib.fr", - "pravda.sk", - "topky.sk", - "zoznam.sk", - "tvnoviny.sk", - "aukro.cz", - "krone.at", - "cas.sk", - "heureka.sk", - "free.fr", - "markiza.sk", - "willhaben.at", - "francetvinfo.fr", - "france24.com", - "opodo.at", - "opodo.ch", - "opodo.co.uk", - "opodo.de", - "opodo.dk", - "opodo.fi", - "opodo.fr", - "opodo.it", - "opodo.nl", - "opodo.no", - "opodo.pl", - "opodo.pt", - "radiofrance.fr" - ], - "id": "690aa076-4a8b-48ec-b52c-1443d44ff008", - "last_modified": 1710331175349 - }, - { - "click": { "optOut": "button[data-js-item=\"privacy-protection-default\"]", "presence": ".c-privacy-protection-banner" }, @@ -675,201 +1076,6 @@ }, { "click": { - "optIn": "button#onetrust-accept-btn-handler", - "optOut": ".ot-pc-refuse-all-handler, #onetrust-reject-all-handler", - "presence": "div#onetrust-consent-sdk" - }, - "schema": 1708699541450, - "cookies": {}, - "domains": [ - "espncricinfo.com", - "blackboard.com", - "roche.com", - "apnews.com", - "nationalgeographic.com", - "espn.com", - "hotjar.com", - "marriott.com", - "hootsuite.com", - "wattpad.com", - "gamespot.com", - "apa.org", - "opendns.com", - "epicgames.com", - "zendesk.com", - "drei.at", - "ikea.com", - "search.ch", - "centrum.sk", - "zoom.us", - "pluska.sk", - "hp.com", - "ceskatelevize.cz", - "telenet.be", - "adobe.com", - "rottentomatoes.com", - "dhl.com", - "dhl.de", - "nvidia.com", - "cloudflare.com", - "webex.com", - "indeed.com", - "discord.com", - "sport.ro", - "ricardo.ch", - "stirileprotv.ro", - "1177.se", - "meinbezirk.at", - "orange.ro", - "ica.se", - "flashscore.pl", - "kuleuven.be", - "tutti.ch", - "post.at", - "rezultati.com", - "nbg.gr", - "behance.net", - "zemanta.com", - "grammarly.com", - "usatoday.com", - "cnet.com", - "npr.org", - "binance.com", - "linktr.ee", - "time.com", - "cisco.com", - "udemy.com", - "shutterstock.com", - "investopedia.com", - "cbsnews.com", - "okta.com", - "appsflyer.com", - "typepad.com", - "calendly.com", - "verisign.com", - "outbrain.com", - "zdnet.com", - "deloitte.com", - "hdfcbank.com", - "media.net", - "docker.com", - "avast.com", - "bluehost.com", - "nba.com", - "hostgator.com", - "scientificamerican.com", - "aljazeera.com", - "sahibinden.com", - "rackspace.com", - "namecheap.com", - "people.com", - "branch.io", - "tv2.dk", - "criteo.com", - "trustpilot.com", - "hm.com", - "mailchimp.com", - "surveymonkey.com", - "mckinsey.com", - "rollingstone.com", - "slate.com", - "dictionary.com", - "coursera.org", - "msn.com", - "chegg.com", - "variety.com", - "cnn.com", - "proximus.be", - "adevarul.ro", - "cnbc.com", - "oe24.at", - "reuters.com", - "booking.com", - "bluewin.ch", - "viaplay.dk", - "aib.ie", - "hbomax.com", - "rtlnieuws.nl", - "buienradar.be", - "viaplay.se", - "antena3.ro", - "statista.com", - "pixabay.com", - "constantcontact.com", - "atlassian.com", - "bmj.com", - "trendyol.com", - "meetup.com", - "vmware.com", - "bitbucket.org", - "viaplay.no", - "asana.com", - "freepik.com", - "heute.at", - "mtvuutiset.fi", - "buienradar.nl", - "nypost.com", - "panasonic.com", - "safeway.com", - "amd.com", - "atg.se", - "brother.de", - "brother.eu", - "brother.fr", - "corsair.com", - "crucial.com", - "dc.com", - "dn.no", - "epson.de", - "epson.es", - "epson.eu", - "epson.fr", - "epson.it", - "evga.com", - "fortnite.com", - "fujitsu.com", - "global.canon", - "gpuopen.com", - "info.lidl", - "inpost.es", - "inpost.eu", - "inpost.it", - "intel.com", - "kaufland.de", - "lg.com", - "lidl.co.uk", - "lidl.com", - "lidl.cz", - "lidl.de", - "lidl.fr", - "lidl.it", - "lidl.pl", - "lifewire.com", - "logitech.com", - "micron.com", - "mythomson.com", - "oki.com", - "otto.de", - "razer.com", - "rightmove.co.uk", - "sbb.ch", - "seagate.com", - "soundcloud.com", - "trello.com", - "unrealengine.com", - "askubuntu.com", - "mathoverflow.net", - "serverfault.com", - "stackapps.com", - "stackexchange.com", - "stackoverflow.com", - "superuser.com" - ], - "id": "6c7366a0-4762-47b9-8eeb-04e86cc7a0cc", - "last_modified": 1708772697220 - }, - { - "click": { "optIn": ".cc-btn.cc-allow", "optOut": ".cc-btn.cc-deny", "presence": ".cc-window.cc-banner" @@ -2663,27 +2869,6 @@ }, { "click": { - "optIn": "button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", - "optOut": "button#CybotCookiebotDialogBodyButtonDecline", - "presence": "div#CybotCookiebotDialog" - }, - "schema": 1700784006705, - "cookies": { - "optOut": [ - { - "name": "CookieConsent", - "value": "{stamp:%277wlvZfVgG/Pfkj1y6Hfoz636NePkdUWVOV+lQLpJefS1O2ny+RqIdg==%27%2Cnecessary:true%2Cpreferences:false%2Cstatistics:false%2Cmarketing:false%2Cmethod:%27explicit%27%2Cver:5%2Cutc:1699462925195%2Ciab2:%27CP07BsAP07BsACGABBENDeCgAAAAAH_AAAAAAAAS4gGgAgABkAEQAJ4AbwA_AEWAJ2AYoBMgC8wGCAS4AAAA.YAAAAAAAAAAA%27%2Cgacm:%271~%27%2Cregion:%27de%27}" - } - ] - }, - "domains": [ - "politiken.dk" - ], - "id": "1006f951-cd51-47cc-9527-5036cef4b85a", - "last_modified": 1700826062547 - }, - { - "click": { "optIn": "#iubenda-cs-accept-btn iubenda-cs-btn-primary", "presence": "div#iubenda-cs-banner" }, @@ -3234,41 +3419,6 @@ }, { "click": { - "optIn": "#footer_tc_privacy_button", - "optOut": "#footer_tc_privacy_button_2", - "presence": ".tc-privacy-wrapper.tc-privacy-override.tc-privacy-wrapper" - }, - "schema": 1690070404721, - "domains": [ - "arte.tv" - ], - "id": "cc818b41-7b46-46d3-9b17-cf924cbe87d1", - "last_modified": 1690359097318 - }, - { - "schema": 1690070404721, - "cookies": { - "optIn": [ - { - "name": "cb", - "value": "1_2055_07_11_" - } - ], - "optOut": [ - { - "name": "cb", - "value": "1_2055_07_11_2-3" - } - ] - }, - "domains": [ - "threads.net" - ], - "id": "C232EAB8-F55A-436A-8033-478746D05D98", - "last_modified": 1690359097314 - }, - { - "click": { "optIn": "#didomi-notice-agree-button", "presence": "#didomi-popup" }, @@ -9069,20 +9219,6 @@ }, { "click": { - "optIn": "button#footer_tc_privacy_button_2", - "optOut": "button#footer_tc_privacy_button_3", - "presence": "div#tc-privacy-wrapper" - }, - "schema": 1670460541263, - "cookies": {}, - "domains": [ - "cdiscount.com" - ], - "id": "1871561d-65f8-4972-8e8a-84fa9eb704b4", - "last_modified": 1670498155756 - }, - { - "click": { "optIn": "button#accept-cookies", "optOut": "button#decline-cookies", "presence": "div#cookie-popup" @@ -9230,5 +9366,5 @@ "last_modified": 1670498155641 } ], - "timestamp": 1710331175432 + "timestamp": 1711550955136 } diff --git a/services/settings/dumps/main/devtools-compatibility-browsers.json b/services/settings/dumps/main/devtools-compatibility-browsers.json index 013e451d25..6cf0847350 100644 --- a/services/settings/dumps/main/devtools-compatibility-browsers.json +++ b/services/settings/dumps/main/devtools-compatibility-browsers.json @@ -1,6 +1,141 @@ { "data": [ { + "name": "Deno", + "schema": 1712707507752, + "status": "current", + "version": "1.42", + "browserid": "deno", + "id": "a308f3c2-cc19-4a1e-825f-898696606328", + "last_modified": 1712840749681 + }, + { + "name": "Edge", + "schema": 1712707507922, + "status": "planned", + "version": "126", + "browserid": "edge", + "id": "c8bf4918-03b7-4be2-bf75-4d6139dbd7c9", + "last_modified": 1712840749678 + }, + { + "name": "Safari", + "schema": 1712707507975, + "status": "beta", + "version": "17.5", + "browserid": "safari", + "id": "24e30aff-fbf8-4a96-a036-84f970447d4b", + "last_modified": 1712840749675 + }, + { + "name": "Safari on iOS", + "schema": 1712707508032, + "status": "beta", + "version": "17.5", + "browserid": "safari_ios", + "id": "4375a82d-f2f1-4883-8da7-0aedfb05b8f9", + "last_modified": 1712840749673 + }, + { + "name": "Edge", + "schema": 1712707507808, + "status": "beta", + "version": "124", + "browserid": "edge", + "id": "3837dc37-38b7-483b-82b3-c5593e7a4c91", + "last_modified": 1712840749668 + }, + { + "name": "Edge", + "schema": 1712707507867, + "status": "nightly", + "version": "125", + "browserid": "edge", + "id": "f1147d5f-d690-43d0-879d-117c6ca24a16", + "last_modified": 1712840749665 + }, + { + "name": "Firefox", + "schema": 1711497908121, + "status": "planned", + "version": "127", + "browserid": "firefox", + "id": "1477a1c3-a8be-4e6f-916e-8cf8eb789e3f", + "last_modified": 1711547229147 + }, + { + "name": "Firefox for Android", + "schema": 1711497908436, + "status": "planned", + "version": "127", + "browserid": "firefox_android", + "id": "13f02b93-14c9-4ca4-937d-0a83fb7fb3a5", + "last_modified": 1711547229144 + }, + { + "name": "Firefox", + "schema": 1711497908007, + "status": "beta", + "version": "125", + "browserid": "firefox", + "id": "5ae5bd40-deb0-40c4-bba6-cd411b78ee16", + "last_modified": 1711547229141 + }, + { + "name": "Firefox for Android", + "schema": 1711497908310, + "status": "beta", + "version": "125", + "browserid": "firefox_android", + "id": "a8f570e9-574d-4193-891f-fa8e0a875388", + "last_modified": 1711547229139 + }, + { + "name": "Firefox for Android", + "schema": 1711497908249, + "status": "current", + "version": "124", + "browserid": "firefox_android", + "id": "1b3c619a-5ca8-4f5f-8f0b-57a3a27a589f", + "last_modified": 1711547229132 + }, + { + "name": "Firefox", + "schema": 1711497907952, + "status": "current", + "version": "124", + "browserid": "firefox", + "id": "7f93cadc-411f-4e31-938c-cc5bfc173f85", + "last_modified": 1711547229129 + }, + { + "name": "Firefox for Android", + "schema": 1711497908374, + "status": "nightly", + "version": "126", + "browserid": "firefox_android", + "id": "b77524e9-58dc-4196-acbd-41dddc4daea2", + "last_modified": 1711547229127 + }, + { + "name": "Firefox", + "schema": 1711497908064, + "status": "nightly", + "version": "126", + "browserid": "firefox", + "id": "70b05b0b-bbef-486c-901a-ea3221a28fc1", + "last_modified": 1711547229124 + }, + { + "name": "Edge", + "schema": 1711497907820, + "status": "current", + "version": "123", + "browserid": "edge", + "id": "d0c3d84f-8d27-455b-8746-7e25607e5b78", + "last_modified": 1711547229120 + }, + { "name": "WebView Android", "schema": 1710547503853, "status": "beta", @@ -55,33 +190,6 @@ "last_modified": 1710742064631 }, { - "name": "Edge", - "schema": 1710374703056, - "status": "planned", - "version": "125", - "browserid": "edge", - "id": "f1147d5f-d690-43d0-879d-117c6ca24a16", - "last_modified": 1710422368047 - }, - { - "name": "Edge", - "schema": 1710174339301, - "status": "beta", - "version": "123", - "browserid": "edge", - "id": "d0c3d84f-8d27-455b-8746-7e25607e5b78", - "last_modified": 1710422368043 - }, - { - "name": "Edge", - "schema": 1710374702983, - "status": "nightly", - "version": "124", - "browserid": "edge", - "id": "3837dc37-38b7-483b-82b3-c5593e7a4c91", - "last_modified": 1710422368040 - }, - { "name": "Safari", "schema": 1709769903331, "status": "current", @@ -100,87 +208,6 @@ "last_modified": 1709801393995 }, { - "name": "Edge", - "schema": 1709424307170, - "status": "current", - "version": "122", - "browserid": "edge", - "id": "5ad01f1f-b345-4f24-9b88-4f456a928c76", - "last_modified": 1709536180465 - }, - { - "name": "Firefox", - "schema": 1709078707232, - "status": "planned", - "version": "126", - "browserid": "firefox", - "id": "70b05b0b-bbef-486c-901a-ea3221a28fc1", - "last_modified": 1709113112619 - }, - { - "name": "Firefox for Android", - "schema": 1709078707604, - "status": "planned", - "version": "126", - "browserid": "firefox_android", - "id": "b77524e9-58dc-4196-acbd-41dddc4daea2", - "last_modified": 1709113112616 - }, - { - "name": "Firefox", - "schema": 1709078707068, - "status": "beta", - "version": "124", - "browserid": "firefox", - "id": "7f93cadc-411f-4e31-938c-cc5bfc173f85", - "last_modified": 1709113112610 - }, - { - "name": "Firefox for Android", - "schema": 1709078707459, - "status": "beta", - "version": "124", - "browserid": "firefox_android", - "id": "1b3c619a-5ca8-4f5f-8f0b-57a3a27a589f", - "last_modified": 1709113112607 - }, - { - "name": "Firefox for Android", - "schema": 1709078707371, - "status": "current", - "version": "123", - "browserid": "firefox_android", - "id": "d9b7089d-7091-4794-9051-49f794c0c854", - "last_modified": 1709113112596 - }, - { - "name": "Firefox", - "schema": 1709078706998, - "status": "current", - "version": "123", - "browserid": "firefox", - "id": "2aed6f85-b118-4e91-b95a-481030c3bb78", - "last_modified": 1709113112593 - }, - { - "name": "Firefox for Android", - "schema": 1709078707531, - "status": "nightly", - "version": "125", - "browserid": "firefox_android", - "id": "a8f570e9-574d-4193-891f-fa8e0a875388", - "last_modified": 1709113112588 - }, - { - "name": "Firefox", - "schema": 1709078707153, - "status": "nightly", - "version": "125", - "browserid": "firefox", - "id": "5ae5bd40-deb0-40c4-bba6-cd411b78ee16", - "last_modified": 1709113112583 - }, - { "name": "Opera", "schema": 1708473904223, "status": "beta", @@ -199,15 +226,6 @@ "last_modified": 1708507560573 }, { - "name": "Deno", - "schema": 1706659507818, - "status": "current", - "version": "1.40", - "browserid": "deno", - "id": "15c381ea-e194-48f1-99dc-3d8cd2ffdcfb", - "last_modified": 1706695152746 - }, - { "name": "Opera Android", "schema": 1706313908456, "status": "current", @@ -280,5 +298,5 @@ "last_modified": 1665656484764 } ], - "timestamp": 1710742064656 + "timestamp": 1712840749681 } diff --git a/services/settings/dumps/main/search-telemetry-v2.json b/services/settings/dumps/main/search-telemetry-v2.json index 1803977187..9eb4e5d29c 100644 --- a/services/settings/dumps/main/search-telemetry-v2.json +++ b/services/settings/dumps/main/search-telemetry-v2.json @@ -1,18 +1,20 @@ { "data": [ { - "isSPA": true, - "schema": 1707523204491, + "schema": 1712582517430, "components": [ { - "type": "ad_image_row", + "type": "ad_carousel", "included": { "parent": { - "selector": "[data-testid='pam.container']" + "selector": ".adsMvCarousel" + }, + "related": { + "selector": ".cr" }, "children": [ { - "selector": "[data-slide-index]", + "selector": ".pa_item", "countChildren": true } ] @@ -20,10 +22,35 @@ }, { "type": "ad_link", - "included": { + "excluded": { "parent": { - "selector": "[data-testid='adResult']" + "selector": "aside" } + }, + "included": { + "parent": { + "selector": ".sb_adTA" + }, + "children": [ + { + "type": "ad_sitelink", + "selector": ".b_vlist2col" + } + ] + } + }, + { + "type": "ad_sidebar", + "included": { + "parent": { + "selector": "aside" + }, + "children": [ + { + "selector": ".pa_item, .sb_adTA", + "countChildren": true + } + ] } }, { @@ -31,14 +58,52 @@ "topDown": true, "included": { "parent": { - "selector": "._1zdrb._1cR1n" + "selector": "form#sb_form" }, "related": { - "selector": "#search-suggestions" + "selector": "#sw_as" }, "children": [ { - "selector": "input[type='search']" + "selector": "input[name='q']" + } + ] + } + }, + { + "type": "cookie_banner", + "topDown": true, + "included": { + "parent": { + "selector": "div#bnp_cookie_banner" + }, + "children": [ + { + "selector": "button#bnp_btn_accept", + "eventListeners": [ + { + "action": "clicked_accept", + "eventType": "click" + } + ] + }, + { + "selector": "button#bnp_btn_reject", + "eventListeners": [ + { + "action": "clicked_reject", + "eventType": "click" + } + ] + }, + { + "selector": "a#bnp_btn_preference", + "eventListeners": [ + { + "action": "clicked_more_options", + "eventType": "click" + } + ] } ] } @@ -48,33 +113,74 @@ "default": true } ], + "shoppingTab": { + "regexp": "^/shop?", + "selector": "#b-scopeListItem-shop a" + }, "taggedCodes": [ - "brz-moz", - "firefoxqwant" + "MOZ2", + "MOZ4", + "MOZ5", + "MOZA", + "MOZB", + "MOZD", + "MOZE", + "MOZI", + "MOZL", + "MOZM", + "MOZO", + "MOZR", + "MOZT", + "MOZW", + "MOZX", + "MZSL01", + "MZSL02", + "MZSL03" ], - "telemetryId": "qwant", + "telemetryId": "bing", "organicCodes": [], - "codeParamName": "client", + "codeParamName": "pc", "queryParamName": "q", + "followOnCookies": [ + { + "host": "www.bing.com", + "name": "SRCHS", + "codeParamName": "PC", + "extraCodePrefixes": [ + "QBRE" + ], + "extraCodeParamName": "form" + } + ], "queryParamNames": [ "q" ], - "searchPageRegexp": "^https://www\\.qwant\\.com/", - "filter_expression": "env.version|versionCompare(\"124.0a1\")>=0", - "followOnParamNames": [], - "defaultPageQueryParam": { - "key": "t", - "value": "web" + "domainExtraction": { + "ads": [ + { + "method": "textContent", + "selectors": "#b_results .b_ad .b_attribution cite, .adsMvCarousel cite, aside cite" + } + ], + "nonAds": [ + { + "method": "textContent", + "selectors": "#b_results .b_algo .b_attribution cite" + } + ] }, + "searchPageRegexp": "^https://www\\.bing\\.com/search", + "nonAdsLinkRegexps": [ + "^https://www.bing.com/ck/a" + ], "extraAdServersRegexps": [ - "^https://www\\.bing\\.com/acli?c?k", - "^https://api\\.qwant\\.com/v3/r/" + "^https://www\\.bing\\.com/acli?c?k" ], - "id": "19c434a3-d173-4871-9743-290ac92a3f6b", - "last_modified": 1707833261849 + "id": "e1eec461-f1f3-40de-b94b-3b670b78108c", + "last_modified": 1712762409389 }, { - "schema": 1705948294201, + "schema": 1712243919540, "components": [ { "type": "ad_carousel", @@ -94,6 +200,23 @@ } }, { + "type": "ad_carousel", + "included": { + "parent": { + "selector": ".sh-sr__shop-result-group" + }, + "related": { + "selector": "g-right-button, g-left-button" + }, + "children": [ + { + "selector": ".sh-np__click-target", + "countChildren": true + } + ] + } + }, + { "type": "refined_search_buttons", "topDown": true, "included": { @@ -183,6 +306,44 @@ } }, { + "type": "cookie_banner", + "topDown": true, + "included": { + "parent": { + "selector": "div.spoKVd" + }, + "children": [ + { + "selector": "button#L2AGLb", + "eventListeners": [ + { + "action": "clicked_accept", + "eventType": "click" + } + ] + }, + { + "selector": "button#W0wltc", + "eventListeners": [ + { + "action": "clicked_reject", + "eventType": "click" + } + ] + }, + { + "selector": "button#VnjCcb", + "eventListeners": [ + { + "action": "clicked_more_options", + "eventType": "click" + } + ] + } + ] + } + }, + { "type": "ad_link", "default": true } @@ -229,7 +390,11 @@ "domainExtraction": { "ads": [ { - "method": "data-attribute", + "method": "textContent", + "selectors": ".sh-np__seller-container" + }, + { + "method": "dataAttribute", "options": { "dataAttributeKey": "dtld" }, @@ -239,11 +404,29 @@ "nonAds": [ { "method": "href", - "selectors": "#rso div.g[jscontroller] > div > div > div > div a[data-usg]" + "options": { + "queryParamKey": "url", + "queryParamValueIsHref": true + }, + "selectors": ".mnIHsc > a:first-child" + }, + { + "method": "href", + "selectors": "a[jsname='UWckNb']" + }, + { + "method": "dataAttribute", + "options": { + "dataAttributeKey": "lpage" + }, + "selectors": "[data-id='mosaic'] [data-lpage]" } ] }, "searchPageRegexp": "^https://www\\.google\\.(?:.+)/search", + "ignoreLinkRegexps": [ + "^https?://consent\\.google\\.(?:.+)/d\\?continue\\=" + ], "nonAdsLinkRegexps": [ "^https?://www\\.google\\.(?:.+)/url?(?:.+)&url=" ], @@ -258,8 +441,84 @@ "extraAdServersRegexps": [ "^https?://www\\.google(?:adservices)?\\.com/(?:pagead/)?aclk" ], + "nonAdsLinkQueryParamNames": [ + "url" + ], "id": "635a3325-1995-42d6-be09-dbe4b2a95453", - "last_modified": 1706198445460 + "last_modified": 1712582517281 + }, + { + "isSPA": true, + "schema": 1707523204491, + "components": [ + { + "type": "ad_image_row", + "included": { + "parent": { + "selector": "[data-testid='pam.container']" + }, + "children": [ + { + "selector": "[data-slide-index]", + "countChildren": true + } + ] + } + }, + { + "type": "ad_link", + "included": { + "parent": { + "selector": "[data-testid='adResult']" + } + } + }, + { + "type": "incontent_searchbox", + "topDown": true, + "included": { + "parent": { + "selector": "._1zdrb._1cR1n" + }, + "related": { + "selector": "#search-suggestions" + }, + "children": [ + { + "selector": "input[type='search']" + } + ] + } + }, + { + "type": "ad_link", + "default": true + } + ], + "taggedCodes": [ + "brz-moz", + "firefoxqwant" + ], + "telemetryId": "qwant", + "organicCodes": [], + "codeParamName": "client", + "queryParamName": "q", + "queryParamNames": [ + "q" + ], + "searchPageRegexp": "^https://www\\.qwant\\.com/", + "filter_expression": "env.version|versionCompare(\"124.0a1\")>=0", + "followOnParamNames": [], + "defaultPageQueryParam": { + "key": "t", + "value": "web" + }, + "extraAdServersRegexps": [ + "^https://www\\.bing\\.com/acli?c?k", + "^https://api\\.qwant\\.com/v3/r/" + ], + "id": "19c434a3-d173-4871-9743-290ac92a3f6b", + "last_modified": 1707833261849 }, { "schema": 1705363206938, @@ -524,134 +783,7 @@ ], "id": "9a487171-3a06-4647-8866-36250ec84f3a", "last_modified": 1698666532324 - }, - { - "schema": 1698656462833, - "components": [ - { - "type": "ad_carousel", - "included": { - "parent": { - "selector": ".adsMvCarousel" - }, - "related": { - "selector": ".cr" - }, - "children": [ - { - "selector": ".pa_item", - "countChildren": true - } - ] - } - }, - { - "type": "ad_link", - "excluded": { - "parent": { - "selector": "aside" - } - }, - "included": { - "parent": { - "selector": ".sb_adTA" - }, - "children": [ - { - "type": "ad_sitelink", - "selector": ".b_vlist2col" - } - ] - } - }, - { - "type": "ad_sidebar", - "included": { - "parent": { - "selector": "aside" - }, - "children": [ - { - "selector": ".pa_item, .sb_adTA", - "countChildren": true - } - ] - } - }, - { - "type": "incontent_searchbox", - "topDown": true, - "included": { - "parent": { - "selector": "form#sb_form" - }, - "related": { - "selector": "#sw_as" - }, - "children": [ - { - "selector": "input[name='q']" - } - ] - } - }, - { - "type": "ad_link", - "default": true - } - ], - "shoppingTab": { - "regexp": "^/shop?", - "selector": "#b-scopeListItem-shop a" - }, - "taggedCodes": [ - "MOZ2", - "MOZ4", - "MOZ5", - "MOZA", - "MOZB", - "MOZD", - "MOZE", - "MOZI", - "MOZL", - "MOZM", - "MOZO", - "MOZR", - "MOZT", - "MOZW", - "MOZX", - "MZSL01", - "MZSL02", - "MZSL03" - ], - "telemetryId": "bing", - "organicCodes": [], - "codeParamName": "pc", - "queryParamName": "q", - "followOnCookies": [ - { - "host": "www.bing.com", - "name": "SRCHS", - "codeParamName": "PC", - "extraCodePrefixes": [ - "QBRE" - ], - "extraCodeParamName": "form" - } - ], - "queryParamNames": [ - "q" - ], - "searchPageRegexp": "^https://www\\.bing\\.com/search", - "nonAdsLinkRegexps": [ - "^https://www.bing.com/ck/a" - ], - "extraAdServersRegexps": [ - "^https://www\\.bing\\.com/acli?c?k" - ], - "id": "e1eec461-f1f3-40de-b94b-3b670b78108c", - "last_modified": 1698666532321 } ], - "timestamp": 1707833261849 + "timestamp": 1712762409389 } diff --git a/services/settings/dumps/main/translations-models.json b/services/settings/dumps/main/translations-models.json index f81d4b9002..7144b09988 100644 --- a/services/settings/dumps/main/translations-models.json +++ b/services/settings/dumps/main/translations-models.json @@ -1,6 +1,114 @@ { "data": [ { + "name": "lex.50.50.encs.s2t.bin", + "schema": 1712262975283, + "toLang": "cs", + "version": "1.0a2", + "fileType": "lex", + "fromLang": "en", + "attachment": { + "hash": "ba42a89db077e6444e7409363a1c71165c6210c21579ad8a310d0d98b0ea9485", + "size": 3365784, + "filename": "lex.50.50.encs.s2t.bin", + "location": "main-workspace/translations-models/73a4a96b-88b2-4c3c-bd9e-d2e10ec89a11.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "env.channel == 'default' || env.channel == 'nightly'", + "id": "3ed4aa73-ff32-48d5-b546-d97d85bb9ba7", + "last_modified": 1712849848180 + }, + { + "name": "vocab.encs.spm", + "schema": 1712262976718, + "toLang": "cs", + "version": "1.0a2", + "fileType": "vocab", + "fromLang": "en", + "attachment": { + "hash": "8af48f972eeba9a9011c0525adf83e0e7abc54c328b2217351a3dad5a852040b", + "size": 805211, + "filename": "vocab.encs.spm", + "location": "main-workspace/translations-models/dc866438-dcf5-4376-b65c-85847f344de7.spm", + "mimetype": "text/plain" + }, + "filter_expression": "env.channel == 'default' || env.channel == 'nightly'", + "id": "5c9d1bf3-1ad1-4a8d-bf32-f092a42d49f5", + "last_modified": 1712849848177 + }, + { + "name": "model.encs.intgemm.alphas.bin", + "schema": 1712262978134, + "toLang": "cs", + "version": "1.0a2", + "fileType": "model", + "fromLang": "en", + "attachment": { + "hash": "7815671064234ff87bc20e9f30e736a23cdcb2286fd1aea44db16116a8ab8680", + "size": 17140898, + "filename": "model.encs.intgemm.alphas.bin", + "location": "main-workspace/translations-models/45138d27-add3-4c27-b3ca-181fcacd515b.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "env.channel == 'default' || env.channel == 'nightly'", + "id": "cffe3283-7ceb-4849-a011-7560aa02a21b", + "last_modified": 1712849848174 + }, + { + "name": "lex.50.50.lten.s2t.bin", + "schema": 1712019552519, + "toLang": "en", + "version": "1.0a2", + "fileType": "lex", + "fromLang": "lt", + "attachment": { + "hash": "fcb332258413ccd775f22f6ef86e8f662274dde500541f8ef2c019040093aa9c", + "size": 4180224, + "filename": "lex.50.50.lten.s2t.bin", + "location": "main-workspace/translations-models/6fe59304-2a5b-4da6-bd2f-18ba4ddd1c41.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "env.channel == 'default' || env.channel == 'nightly'", + "id": "5109e947-b8e8-40d2-bfcf-e6a23e27b0dc", + "last_modified": 1712068183362 + }, + { + "name": "model.lten.intgemm.alphas.bin", + "schema": 1712019556899, + "toLang": "en", + "version": "1.0a2", + "fileType": "model", + "fromLang": "lt", + "attachment": { + "hash": "7a47a0602d7d3da39914ae4f4eb7985f1de0c2cf6740bdbae294456c97cdfb5d", + "size": 17141051, + "filename": "model.lten.intgemm.alphas.bin", + "location": "main-workspace/translations-models/2bab163d-7bc3-40d5-ad94-aeb26049bbc3.bin", + "mimetype": "application/octet-stream" + }, + "filter_expression": "env.channel == 'default' || env.channel == 'nightly'", + "id": "60631420-3179-4eb4-aca8-da7aef59032d", + "last_modified": 1712068183359 + }, + { + "name": "vocab.lten.spm", + "schema": 1712019566702, + "toLang": "en", + "version": "1.0a2", + "fileType": "vocab", + "fromLang": "lt", + "attachment": { + "hash": "6c0f8852b12896461956324c669720714ecf2c3141e5084d33182d52bcbe0cff", + "size": 804973, + "filename": "vocab.lten.spm", + "location": "main-workspace/translations-models/412f7ecf-aa11-41dc-a9a2-3540213ea062.spm", + "mimetype": "text/plain" + }, + "filter_expression": "env.channel == 'default' || env.channel == 'nightly'", + "id": "e6f0b29c-a795-4496-a847-e2029b3afa1c", + "last_modified": 1712068183356 + }, + { "name": "model.enca.intgemm.alphas.bin", "schema": 1710172593713, "toLang": "ca", @@ -2719,5 +2827,5 @@ "last_modified": 1701186751412 } ], - "timestamp": 1710173317976 + "timestamp": 1712849848180 } diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 752d8fb270..ac343a2494 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,6 +1,222 @@ { "data": [ { + "schema": 1712310550077, + "derHash": "w+vOp+axOsPrOnnwWBnmfWiTxlZC9Q2bXhZHyyZQa44=", + "subject": "CN=Security Communication ECC RootCA1,O=SECOM Trust Systems CO.\\,LTD.,C=JP", + "subjectDN": "MGExCzAJBgNVBAYTAkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYDVQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0Ex", + "whitelist": false, + "attachment": { + "hash": "49bb804fc27ee287203f35432fa03118cbda037f2cc4b15a762a27278f2a430a", + "size": 1455, + "filename": "Mym_oTtgB6tfw3E_CssolCbi-8mcxcEQqRSxOVcWALY=.pem", + "location": "security-state-staging/intermediates/85f47822-4d0f-454d-9d84-f0ce5fc4d157.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Mym/oTtgB6tfw3E/CssolCbi+8mcxcEQqRSxOVcWALY=", + "crlite_enrolled": false, + "id": "cdfe2baf-ce8e-4ff0-a638-e40128c6f4ee", + "last_modified": 1712311023721 + }, + { + "schema": 1712310549735, + "derHash": "nCgDadBy+J2cm2JkC78vKNLzDs7pdZhUAx1cXFPo0bY=", + "subject": "CN=JPRS OV ECC CA 2024 G1,O=Japan Registry Services Co.\\, Ltd.,C=JP", + "subjectDN": "MFoxCzAJBgNVBAYTAkpQMSowKAYDVQQKEyFKYXBhbiBSZWdpc3RyeSBTZXJ2aWNlcyBDby4sIEx0ZC4xHzAdBgNVBAMTFkpQUlMgT1YgRUNDIENBIDIwMjQgRzE=", + "whitelist": false, + "attachment": { + "hash": "8f21756b90356734138db1717baa7cd355f39bc01d0bbefcd782b6a73bb40267", + "size": 1284, + "filename": "v_cVY7f6bXpCh2OYwK6wmEE9ZIaufUJmoSlpxWvjBDI=.pem", + "location": "security-state-staging/intermediates/5d677b3c-4524-4ee7-a2b9-388e7d90dc2c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "v/cVY7f6bXpCh2OYwK6wmEE9ZIaufUJmoSlpxWvjBDI=", + "crlite_enrolled": false, + "id": "f9ed868e-cbce-49b9-85ff-1b7d8f9771e7", + "last_modified": 1712311023718 + }, + { + "schema": 1712310549107, + "derHash": "G5AdVQpaUfZzcnnGAhRF8FG9KTAVYSpbqj+FiIKe5po=", + "subject": "CN=JPRS DV ECC CA 2024 G1,O=Japan Registry Services Co.\\, Ltd.,C=JP", + "subjectDN": "MFoxCzAJBgNVBAYTAkpQMSowKAYDVQQKEyFKYXBhbiBSZWdpc3RyeSBTZXJ2aWNlcyBDby4sIEx0ZC4xHzAdBgNVBAMTFkpQUlMgRFYgRUNDIENBIDIwMjQgRzE=", + "whitelist": false, + "attachment": { + "hash": "3749489691bfad9b5833e7e64c622b11fa2a70217f4d99f59629a2e6e864a189", + "size": 1284, + "filename": "d7IsXA0lsOv-SgxZRrDbM-A_cNQoAtC0iZ2kRR58b5c=.pem", + "location": "security-state-staging/intermediates/57cb9705-521a-4177-82fa-7c562bc5aef7.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "d7IsXA0lsOv+SgxZRrDbM+A/cNQoAtC0iZ2kRR58b5c=", + "crlite_enrolled": false, + "id": "cc33f7ee-ac11-426c-9210-dd79e9bde3ae", + "last_modified": 1712311023716 + }, + { + "schema": 1711724029637, + "derHash": "TkLi2IxOTbWRnHkATRycDpwtb7tFPaHWQtPTD3jAVy4=", + "subject": "CN=Certigna Server Authentication ACME FR CA G2,O=Certigna,C=FR", + "subjectDN": "MHYxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxNTAzBgNVBAMMLENlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIEZSIENBIEcy", + "whitelist": false, + "attachment": { + "hash": "47f464e31a2f05a550e83d8045d8570fcf9f57caeb7722436101c8940e879ca3", + "size": 2467, + "filename": "ULy4kAY07boZvLRDouxffHNVcsGHGQFCnEuCkq-cMCQ=.pem", + "location": "security-state-staging/intermediates/c4de029c-0d39-43ba-881d-1f1bdac8eff3.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "ULy4kAY07boZvLRDouxffHNVcsGHGQFCnEuCkq+cMCQ=", + "crlite_enrolled": false, + "id": "7d46e740-ae39-4f00-87ee-9a6e358e481d", + "last_modified": 1711724223131 + }, + { + "schema": 1711724029289, + "derHash": "yh/1TgMRhvkAa7FI+M5qU/BXQqS2zo/+ed/SrkceuqU=", + "subject": "CN=Certigna Server Authentication ACME FR CA G1,O=Certigna,C=FR", + "subjectDN": "MHYxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxNTAzBgNVBAMMLENlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIEZSIENBIEcx", + "whitelist": false, + "attachment": { + "hash": "661792dc63ededccb7dc2dfcd2918e5d8236c2dedcce5f8da637be0e28481a61", + "size": 2052, + "filename": "OQzKIkNRq8kQgHkelHOGFIGYVop2_zdqAGChunarhRQ=.pem", + "location": "security-state-staging/intermediates/728c8635-f40a-4594-87cd-5740ebcc5aab.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "OQzKIkNRq8kQgHkelHOGFIGYVop2/zdqAGChunarhRQ=", + "crlite_enrolled": false, + "id": "f14d65ec-1130-46a3-b84f-246c756cb63b", + "last_modified": 1711724223128 + }, + { + "schema": 1711724028964, + "derHash": "scjkcMofSIXd3uD+gLgF8sqCN3DsYHHBzOt39woPtsI=", + "subject": "CN=Certigna Server Authentication ACME CA G1,O=Certigna,C=FR", + "subjectDN": "MHMxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxMjAwBgNVBAMMKUNlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIENBIEcx", + "whitelist": false, + "attachment": { + "hash": "6808866c9da6c164a23ade7632d0cce4a43b5740def835d4020636b892aa342f", + "size": 2048, + "filename": "rvK65wj_zEVuddzfsGOjD135Wh2MILoAbXu7kKxNwoM=.pem", + "location": "security-state-staging/intermediates/e4364543-7c84-43b9-a09d-e59d2930b628.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "rvK65wj/zEVuddzfsGOjD135Wh2MILoAbXu7kKxNwoM=", + "crlite_enrolled": false, + "id": "8046050c-57cc-44c2-8341-e1801f5dde99", + "last_modified": 1711724223126 + }, + { + "schema": 1711724028612, + "derHash": "YP0d8Xerjt6HRy6OcoMH9W7EGmDMrXlMT9ttHLfUDVY=", + "subject": "CN=Certigna Server Authentication ACME CA G2,O=Certigna,C=FR", + "subjectDN": "MHMxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxMjAwBgNVBAMMKUNlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIENBIEcy", + "whitelist": false, + "attachment": { + "hash": "eac6be7c8bce492dda5b1ff24dea8088d2aacfea367f4d96fd3900d742aebb65", + "size": 2463, + "filename": "RKrRuFywubwqUKSLQ4_OujB1TYcPLRKs1GDCg351ako=.pem", + "location": "security-state-staging/intermediates/05a73290-0d3d-49c1-840a-22d2de8c1fb6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "RKrRuFywubwqUKSLQ4/OujB1TYcPLRKs1GDCg351ako=", + "crlite_enrolled": false, + "id": "2269c12e-3b8e-4700-a4d5-42525a948a50", + "last_modified": 1711724223123 + }, + { + "schema": 1711464837732, + "derHash": "8H04OCfiZDJsXQ2+JXqoIQhAnyUkb4HuNsivIitaHkM=", + "subject": "CN=Telia RSA OV CA v4,O=Telia Company AB,C=SE", + "subjectDN": "MEUxCzAJBgNVBAYTAlNFMRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMRswGQYDVQQDDBJUZWxpYSBSU0EgT1YgQ0EgdjQ=", + "whitelist": false, + "attachment": { + "hash": "8a8a355227c0c3345470ef0bfb850234b21b1dd60470e4dcf566cfdff0e502f8", + "size": 2300, + "filename": "uNTFkYMpAkhXFadzPws2J6iLVX44ue38H6LKC6alh3A=.pem", + "location": "security-state-staging/intermediates/74ec359d-1abe-4c34-9800-83d22cf1824f.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uNTFkYMpAkhXFadzPws2J6iLVX44ue38H6LKC6alh3A=", + "crlite_enrolled": false, + "id": "2b785473-c7ec-4117-be0b-1f5cbe2c9bca", + "last_modified": 1711465023926 + }, + { + "schema": 1711464836863, + "derHash": "pn8+Z8sd8urPOkBOr/F5N05eP0ug2C6RQF2urfsPM30=", + "subject": "CN=Telia RSA DV CA v4,O=Telia Company AB,C=SE", + "subjectDN": "MEUxCzAJBgNVBAYTAlNFMRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMRswGQYDVQQDDBJUZWxpYSBSU0EgRFYgQ0EgdjQ=", + "whitelist": false, + "attachment": { + "hash": "dd2acaf8dd832742c4ce4c63de0d80621f24a60707462a487a496d4fd1271456", + "size": 2300, + "filename": "pbnDROwxL9imiYDtQcKHL4D07MvFyHJGsfaj_hTH-uw=.pem", + "location": "security-state-staging/intermediates/7acb6902-fa54-421e-9b3f-bbb075b0e656.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "pbnDROwxL9imiYDtQcKHL4D07MvFyHJGsfaj/hTH+uw=", + "crlite_enrolled": false, + "id": "7e90cfb9-3e37-47af-898a-e5d61b99b444", + "last_modified": 1711465023924 + }, + { + "schema": 1711464837319, + "derHash": "JtdCdBukKDlPkE5EEO1tqS9NDFVSHx7eKyl5f4ZslVw=", + "subject": "CN=Telia EC DV CA v4,O=Telia Company AB,C=SE", + "subjectDN": "MEQxCzAJBgNVBAYTAlNFMRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMRowGAYDVQQDDBFUZWxpYSBFQyBEViBDQSB2NA==", + "whitelist": false, + "attachment": { + "hash": "c085e851d30509db40952fc9f84105396c73546c29ad715cda6452e1c7e04e1d", + "size": 1150, + "filename": "NeN7Ibyh_EFluoZE27OfNSDLpVsqzCOtSIe0YDz2GSA=.pem", + "location": "security-state-staging/intermediates/81c10429-00de-407d-a5c2-78f8d1a46d0d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "NeN7Ibyh/EFluoZE27OfNSDLpVsqzCOtSIe0YDz2GSA=", + "crlite_enrolled": false, + "id": "ccbb9d09-e78a-42eb-84e3-ec36872e58a4", + "last_modified": 1711465023921 + }, + { + "schema": 1711079327797, + "derHash": "GnD+GCdR5jfA5dPVU+db26HWVf/lQR2bOQtzyDePpyw=", + "subject": "CN=Leocert TLS Issuing RSA CA 1,O=Leocert LLC,C=US", + "subjectDN": "MEoxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtMZW9jZXJ0IExMQzElMCMGA1UEAwwcTGVvY2VydCBUTFMgSXNzdWluZyBSU0EgQ0EgMQ==", + "whitelist": false, + "attachment": { + "hash": "909b2e8999e89c9ba6a76900402d0f011877b2cac32792910aa1f10c33ab823b", + "size": 2064, + "filename": "TLG3k1viplwCa4FIN66yKHXwUwpjuk-zYaXHlJKI1mY=.pem", + "location": "security-state-staging/intermediates/eafb2b1c-e818-4c8e-914b-86ac8c5d7235.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "TLG3k1viplwCa4FIN66yKHXwUwpjuk+zYaXHlJKI1mY=", + "crlite_enrolled": false, + "id": "b1c85617-4d30-44d3-ab20-4d5ea7d6ac51", + "last_modified": 1711079823132 + }, + { + "schema": 1711079328231, + "derHash": "eQidoGeOCFCA5Y1UxGKzE+94QWqHJPrOfRqJN0OOAMc=", + "subject": "CN=Leocert TLS Issuing ECC CA 1,O=Leocert LLC,C=US", + "subjectDN": "MEoxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtMZW9jZXJ0IExMQzElMCMGA1UEAwwcTGVvY2VydCBUTFMgSXNzdWluZyBFQ0MgQ0EgMQ==", + "whitelist": false, + "attachment": { + "hash": "3c2391cb93c7441025a1e056e161c4d31acb51039c0f8720ee0598ebe26e35d6", + "size": 1089, + "filename": "VCKMSEPlE_Wm1yh1cVkPT9qFW95J646OM9DdihnTErc=.pem", + "location": "security-state-staging/intermediates/7d525c97-e82d-4f3a-be44-21c246617a24.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "VCKMSEPlE/Wm1yh1cVkPT9qFW95J646OM9DdihnTErc=", + "crlite_enrolled": false, + "id": "2945ac79-f854-4685-a0ec-f140cdf5e8c7", + "last_modified": 1711079823129 + }, + { "schema": 1710946446035, "derHash": "8DZVz+hbOj8q8v03yrnqKDs6KKm2FX/pvrdcF8BhGzo=", "subject": "CN=Keysec GR3 DV TLS CA 2024,O=KEYSEC LTDA,C=BR", @@ -415,78 +631,6 @@ "last_modified": 1710557823219 }, { - "schema": 1710539501295, - "derHash": "kPqg3vqxPQmsAJdRwMO2BqR81X3oAi5od0gZm0RHSyM=", - "subject": "CN=Certigna Server Authentication ACME CA,O=Certigna,C=FR", - "subjectDN": "MHAxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxLzAtBgNVBAMMJkNlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIENB", - "whitelist": false, - "attachment": { - "hash": "49c8ef6d8a7b25da0bf8610a646bed6d9d0eac47d63eec405c40c5e71ce8208f", - "size": 2458, - "filename": "g96_QpC6c95hPe0mJuHADgpPz6RuVaqjHoRSjOyuL7E=.pem", - "location": "security-state-staging/intermediates/7b7f68ae-bfd3-4840-b207-9ab77f4232f8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "g96/QpC6c95hPe0mJuHADgpPz6RuVaqjHoRSjOyuL7E=", - "crlite_enrolled": false, - "id": "38d23199-bfbc-46eb-bc42-70a370fbac24", - "last_modified": 1710539831556 - }, - { - "schema": 1710539500206, - "derHash": "WMKULEG5CPAJ6QD+YtETC76npaiDbyCJkImnqVHGQyc=", - "subject": "CN=Certigna Server Authentication ACME FR CA 2024,O=Certigna,C=FR", - "subjectDN": "MHgxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxNzA1BgNVBAMMLkNlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIEZSIENBIDIwMjQ=", - "whitelist": false, - "attachment": { - "hash": "b2210ca67012f7e0ba1fde2dc3546563fa2c16b17753d83a23cf28772fdc78d4", - "size": 2052, - "filename": "DoTA9i3cZ3sCoyIkBYv0KN9rxjve3-F1LOL0hMTEjp8=.pem", - "location": "security-state-staging/intermediates/bcda003c-3561-469c-97ec-e1268e4edb50.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "DoTA9i3cZ3sCoyIkBYv0KN9rxjve3+F1LOL0hMTEjp8=", - "crlite_enrolled": false, - "id": "506528ab-12d0-4986-8355-f72a795f5311", - "last_modified": 1710539831553 - }, - { - "schema": 1710539500937, - "derHash": "4FD1W1Vj5DXdNgI6OjtKy+q0TDlk8YBIecwxEeKH2Bs=", - "subject": "CN=Certigna Server Authentication ACME FR CA,O=Certigna,C=FR", - "subjectDN": "MHMxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxMjAwBgNVBAMMKUNlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIEZSIENB", - "whitelist": false, - "attachment": { - "hash": "bbe52c415c1b8f00ea91967db06b87b829f88f35160ca7e8ff01d6b9acaa0e63", - "size": 2463, - "filename": "zkN9UXAo8i_VmU2mjpCUOtef-5jkt-KPl32fIqB0tNE=.pem", - "location": "security-state-staging/intermediates/4c8342ae-ea33-4964-bac7-4ef7d2d40537.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "zkN9UXAo8i/VmU2mjpCUOtef+5jkt+KPl32fIqB0tNE=", - "crlite_enrolled": false, - "id": "14b7e624-637a-4380-95e3-3b432fc6aac2", - "last_modified": 1710539831550 - }, - { - "schema": 1710539500588, - "derHash": "qaY+A/DUmOxyQwJqeo8r5wXQTyhF1J9j2InJ3QtKOUQ=", - "subject": "CN=Certigna Server Authentication ACME CA 2024,O=Certigna,C=FR", - "subjectDN": "MHUxCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0aWduYTEdMBsGA1UEYQwUTlRSRlItNDgxNDYzMDgxMDAwMzYxNDAyBgNVBAMMK0NlcnRpZ25hIFNlcnZlciBBdXRoZW50aWNhdGlvbiBBQ01FIENBIDIwMjQ=", - "whitelist": false, - "attachment": { - "hash": "161dc34976ab4cfc42bd69ec0b38ae28178722e6243ee46a916e76743d135d0e", - "size": 2048, - "filename": "5t6bUEJAtYeRqDL4wc0-BLSX3Cy-W80bNcuO4zpx08Q=.pem", - "location": "security-state-staging/intermediates/fce8c500-791e-481c-8225-5faf94b2f6e3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "5t6bUEJAtYeRqDL4wc0+BLSX3Cy+W80bNcuO4zpx08Q=", - "crlite_enrolled": false, - "id": "08355b95-d61d-4aa6-8185-4c6a16379fae", - "last_modified": 1710539831545 - }, - { "schema": 1709780043992, "derHash": "6CGxESkRBWfxYH8LDzaOx42BFBjwxIzEJUUPY+uICV0=", "subject": "CN=Entrust 4K EV TLS Root CA - 2022,O=Entrust\\, Inc.,C=US", @@ -12817,24 +12961,6 @@ "last_modified": 1666727870028 }, { - "schema": 1666727330223, - "derHash": "0zqEf2QDd74K4aQpFToH6HyIJ/pIQLUVi83LheEKRTo=", - "subject": "CN=VR IDENT EV SSL CA 2020,O=Fiducia & GAD IT AG,C=DE", - "subjectDN": "ME0xCzAJBgNVBAYTAkRFMRwwGgYDVQQKDBNGaWR1Y2lhICYgR0FEIElUIEFHMSAwHgYDVQQDDBdWUiBJREVOVCBFViBTU0wgQ0EgMjAyMA==", - "whitelist": false, - "attachment": { - "hash": "a95e7ccf2ef4b020f65fbd061c44e49d966821be27623376e3f16a8a3ebd371f", - "size": 2361, - "filename": "te09bIALahNazDua57TEibeM7CatIkOAT8t-qu_Kdro=.pem", - "location": "security-state-staging/intermediates/e8b0b0a2-f7f0-4893-b9ef-32f493e8a146.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "te09bIALahNazDua57TEibeM7CatIkOAT8t+qu/Kdro=", - "crlite_enrolled": false, - "id": "92b7ea6b-c8ed-47fc-bd89-4834ef4a3ad5", - "last_modified": 1666727870010 - }, - { "schema": 1666727401140, "derHash": "y2Zmsyv/Lv7cxBh98Umm00pdELcWW5z/KmfA4xGu7tc=", "subject": "CN=QuoVadis Europe EV SSL CA G1,O=QuoVadis Trustlink B.V.,C=NL", @@ -12889,24 +13015,6 @@ "last_modified": 1666727869969 }, { - "schema": 1666727372418, - "derHash": "NH0Y3Mwu/FGpIOen+7B7+9o1YTaB+C3KXExyuwyDwDU=", - "subject": "CN=VR IDENT SSL CA 2020,O=Fiducia & GAD IT AG,C=DE", - "subjectDN": "MEoxCzAJBgNVBAYTAkRFMRwwGgYDVQQKDBNGaWR1Y2lhICYgR0FEIElUIEFHMR0wGwYDVQQDDBRWUiBJREVOVCBTU0wgQ0EgMjAyMA==", - "whitelist": false, - "attachment": { - "hash": "4158e246be129509cb8d8eb14b647517fea0196e81a9d593f4b8f64a11a6414f", - "size": 2357, - "filename": "fQUctsUYoew1aFnAFT0prf-kJmkVNqkPo2jJ5Jm9RaA=.pem", - "location": "security-state-staging/intermediates/ada7bb67-cb15-43b5-9c74-259e711941b5.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "fQUctsUYoew1aFnAFT0prf+kJmkVNqkPo2jJ5Jm9RaA=", - "crlite_enrolled": false, - "id": "2b1f7c04-dd89-4f96-ad7d-e4e167a9099d", - "last_modified": 1666727869953 - }, - { "schema": 1666727415303, "derHash": "n/I8uTh7ngCDvVqhlU7t33kokKqOZ81NON0or0pDmtg=", "subject": "CN=AC SERVIDORES SEGUROS TIPO2,OU=Ceres,O=FNMT-RCM,C=ES", @@ -13627,24 +13735,6 @@ "last_modified": 1666727869297 }, { - "schema": 1666727410331, - "derHash": "6uWboswzKBpc3exQz7/Z3QylVl8872mMk2ahDOwIf5c=", - "subject": "CN=Domain The Net Technologies Ltd CA for SSL R2,O=Domain The Net Technologies Ltd,C=IL", - "subjectDN": "MG8xCzAJBgNVBAYTAklMMSgwJgYDVQQKDB9Eb21haW4gVGhlIE5ldCBUZWNobm9sb2dpZXMgTHRkMTYwNAYDVQQDDC1Eb21haW4gVGhlIE5ldCBUZWNobm9sb2dpZXMgTHRkIENBIGZvciBTU0wgUjI=", - "whitelist": false, - "attachment": { - "hash": "74b27e430703697e4e0eb4a4518f35a8e27789b980b29dd2593702248ea4491d", - "size": 2483, - "filename": "1FBqLyRsP8ibxXXsW64LYWGTeYMGSsUTMFEetUQakD8=.pem", - "location": "security-state-staging/intermediates/beb201df-0f86-438c-911c-f798428aa9c4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "1FBqLyRsP8ibxXXsW64LYWGTeYMGSsUTMFEetUQakD8=", - "crlite_enrolled": false, - "id": "ac504f95-1d16-427c-8e82-82da28c34bc6", - "last_modified": 1666727869284 - }, - { "schema": 1666727422380, "derHash": "UpmYc6PRKkVx25oWBXap2VGtTkp9oxxcEGE4BekiQyU=", "subject": "CN=MuaSSL.com TLS Issuing RSA CA R1,O=Hao Quang Viet Software Company Limited,C=VN", @@ -23707,24 +23797,6 @@ "last_modified": 1661561823060 }, { - "schema": 1659747423666, - "derHash": "PzHbdYKNqpbk3luCoGeP4gI71bJGw/klDL9nGOEJWPU=", - "subject": "CN=Domain The Net Technologies Ltd CA for EV SSL R2,O=Domain The Net Technologies Ltd,C=IL", - "subjectDN": "MHIxCzAJBgNVBAYTAklMMSgwJgYDVQQKDB9Eb21haW4gVGhlIE5ldCBUZWNobm9sb2dpZXMgTHRkMTkwNwYDVQQDDDBEb21haW4gVGhlIE5ldCBUZWNobm9sb2dpZXMgTHRkIENBIGZvciBFViBTU0wgUjI=", - "whitelist": false, - "attachment": { - "hash": "8a4d28681845cdc8a071852db1380fdac3ad47d045153ee6fc939a47193b2bff", - "size": 2487, - "filename": "Lk19AkNIC7AwHNF5HsU_phCEnUBI-eiA0mbFhxxeQsQ=.pem", - "location": "security-state-staging/intermediates/88af22d0-cfec-40f3-bb5e-5e0f70ca65bf.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Lk19AkNIC7AwHNF5HsU/phCEnUBI+eiA0mbFhxxeQsQ=", - "crlite_enrolled": false, - "id": "ebf62e8f-f268-416f-b7de-23e67b4313c9", - "last_modified": 1660093023424 - }, - { "schema": 1659617319739, "derHash": "r9ep9iQLEcBtD2ck1E9FTg1eMX1cz/a4GNVyRO7VoZk=", "subject": "CN=Positiwise OV SSL CA,O=Positiwise Software LLC,C=US", @@ -27433,24 +27505,6 @@ "last_modified": 1618102648566 }, { - "schema": 1616744987712, - "derHash": "Grxa1bw5EaW0qR5Cu6MhLiqj3IAUfv4dSVcuS+BTJjM=", - "subject": "CN=GlobalSign Atlas R3 AlphaSSL CA H1 2021,O=Globalsign nv-sa,C=BE", - "subjectDN": "MFoxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxzaWduIG52LXNhMTAwLgYDVQQDEydHbG9iYWxTaWduIEF0bGFzIFIzIEFscGhhU1NMIENBIEgxIDIwMjE=", - "whitelist": false, - "attachment": { - "hash": "0ac4293f335c1f7922726fccc78a0a749002116e0d6d354411046b3681c14fe0", - "size": 1715, - "filename": "HAdiOrIGPG14XkymnmeQ184Cm1Z8E9-jnOoBut3PORw=.pem", - "location": "security-state-staging/intermediates/a79140b4-b597-4021-b12a-e83c7b03a7e0.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "HAdiOrIGPG14XkymnmeQ184Cm1Z8E9+jnOoBut3PORw=", - "crlite_enrolled": false, - "id": "afbdb701-e59b-4398-967c-b0db2394d003", - "last_modified": 1616745549953 - }, - { "schema": 1615384231447, "derHash": "sQhhc3s+ybEfphVNI5cP+y2r/Ciuamv1bD8yBCZiOa0=", "subject": "CN=SECOM Passport for Member PUB CA4,OU=SECOM Passport for Member 2.0 PUB,O=SECOM Trust Systems CO.\\,LTD.,C=JP", @@ -27667,24 +27721,6 @@ "last_modified": 1601517444025 }, { - "schema": 1601376747224, - "derHash": "uQ7q6THl4rfTNfFJ2mwiEJhgANIU/9tipy9zMtY3Ma8=", - "subject": "CN=Verizon Global Root CA,OU=OmniRoot,O=Verizon Business,C=US", - "subjectDN": "MFwxCzAJBgNVBAYTAlVTMRkwFwYDVQQKExBWZXJpem9uIEJ1c2luZXNzMREwDwYDVQQLEwhPbW5pUm9vdDEfMB0GA1UEAxMWVmVyaXpvbiBHbG9iYWwgUm9vdCBDQQ==", - "whitelist": false, - "attachment": { - "hash": "b2ff06177ee90557f82e4d2b65f87cbe3e37ef185fd9f5b2f7d8c654bf7eefbc", - "size": 1760, - "filename": "v-gpCYcuRDTxFcUaVhaAGVlNDgPco2PZ87SDnQurzeU=.pem", - "location": "security-state-staging/intermediates/96d8b2a4-5c83-408a-aba1-f8c0818c74a1.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "v+gpCYcuRDTxFcUaVhaAGVlNDgPco2PZ87SDnQurzeU=", - "crlite_enrolled": false, - "id": "90eff404-0514-42a4-b6bc-375d060840d8", - "last_modified": 1601517443892 - }, - { "schema": 1601376768762, "derHash": "bay7iUUTex2tQhGwQ2774G8SrONpBJc7Ra4ldAgj02k=", "subject": "CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US", @@ -30565,5 +30601,5 @@ "last_modified": 1559865884636 } ], - "timestamp": 1710946623378 + "timestamp": 1712674623155 } diff --git a/services/settings/test/unit/test_attachments_downloader.js b/services/settings/test/unit/test_attachments_downloader.js index 86dd52b729..284294cfde 100644 --- a/services/settings/test/unit/test_attachments_downloader.js +++ b/services/settings/test/unit/test_attachments_downloader.js @@ -47,7 +47,7 @@ function pathFromURL(url) { const PROFILE_URL = PathUtils.toFileURI(PathUtils.localProfileDir); -function run_test() { +add_setup(() => { server = new HttpServer(); server.start(-1); registerCleanupFunction(() => server.stop(() => {})); @@ -56,9 +56,7 @@ function run_test() { "/cdn/main-workspace/some-collection/", do_get_file("test_attachments_downloader") ); - - run_next_test(); -} +}); async function clear_state() { Services.prefs.setStringPref( @@ -68,9 +66,9 @@ async function clear_state() { downloader = new Downloader("main", "some-collection"); const dummyCacheImpl = { - get: async attachmentId => {}, - set: async (attachmentId, attachment) => {}, - delete: async attachmentId => {}, + get: async () => {}, + set: async () => {}, + delete: async () => {}, }; // The download() method requires a cacheImpl, but the Downloader // class does not have one. Define a dummy no-op one. @@ -388,7 +386,7 @@ async function doTestDownloadCacheImpl({ simulateCorruption }) { throw new Error("Simulation of corrupted cache (write)"); } }, - async delete(attachmentId) {}, + async delete() {}, }; Object.defineProperty(downloader, "cacheImpl", { value: cacheImpl }); @@ -621,6 +619,74 @@ add_task(async function test_download_from_dump() { // but added for consistency with other tests tasks around here. add_task(clear_state); +add_task(async function test_attachment_get() { + // Since get() is largely a wrapper around the same code as download(), + // we only test a couple of parts to check it functions as expected, and + // rely on the download() testing for the rest. + + await Assert.rejects( + downloader.get(RECORD), + /NotFoundError: Could not find /, + "get() fails when there is no local cache nor dump" + ); + + const client = RemoteSettings("dump-collection", { + bucketName: "dump-bucket", + }); + + // Temporarily replace the resource:-URL with another resource:-URL. + const orig_RESOURCE_BASE_URL = Downloader._RESOURCE_BASE_URL; + Downloader._RESOURCE_BASE_URL = "resource://rs-downloader-test"; + const resProto = Services.io + .getProtocolHandler("resource") + .QueryInterface(Ci.nsIResProtocolHandler); + resProto.setSubstitution( + "rs-downloader-test", + Services.io.newFileURI(do_get_file("test_attachments_downloader")) + ); + + function checkInfo(result, expectedSource, expectedRecord = RECORD_OF_DUMP) { + Assert.equal( + new TextDecoder().decode(new Uint8Array(result.buffer)), + "This would be a RS dump.\n", + "expected content from dump" + ); + Assert.deepEqual(result.record, expectedRecord, "expected record for dump"); + Assert.equal(result._source, expectedSource, "expected source of dump"); + } + + // When a record is given, use whichever that has the matching last_modified. + const dump = await client.attachments.get(RECORD_OF_DUMP); + checkInfo(dump, "dump_match"); + + await client.attachments.deleteDownloaded(RECORD_OF_DUMP); + + await Assert.rejects( + client.attachments.get(null, { + attachmentId: "filename-without-meta.txt", + fallbackToDump: true, + }), + /NotFoundError: Could not find filename-without-meta.txt in cache or dump/, + "Cannot download dump that lacks a .meta.json file" + ); + + await Assert.rejects( + client.attachments.get(null, { + attachmentId: "filename-without-content.txt", + fallbackToDump: true, + }), + /Could not download resource:\/\/rs-downloader-test\/settings\/dump-bucket\/dump-collection\/filename-without-content\.txt(?!\.meta\.json)/, + "Cannot download dump that is missing, despite the existing .meta.json" + ); + + // Restore, just in case. + Downloader._RESOURCE_BASE_URL = orig_RESOURCE_BASE_URL; + resProto.setSubstitution("rs-downloader-test", null); +}); +// Not really needed because the last test doesn't modify the main collection, +// but added for consistency with other tests tasks around here. +add_task(clear_state); + add_task(async function test_obsolete_attachments_are_pruned() { const RECORD2 = { ...RECORD, diff --git a/services/settings/test/unit/test_remote_settings.js b/services/settings/test/unit/test_remote_settings.js index 0937acb519..382d1aa983 100644 --- a/services/settings/test/unit/test_remote_settings.js +++ b/services/settings/test/unit/test_remote_settings.js @@ -133,7 +133,11 @@ add_task( await clientWithDump.maybeSync(timestamp); const list = await clientWithDump.get(); - ok(list.length > 20, `The dump was loaded (${list.length} records)`); + Assert.greater( + list.length, + 20, + `The dump was loaded (${list.length} records)` + ); equal(received.created[0].id, "xx", "Record from the sync come first."); const createdById = received.created.reduce((acc, r) => { @@ -328,8 +332,9 @@ add_task(async function test_get_sorts_results_if_specified() { ); const records = await client.get({ order: "field" }); - ok( - records[0].field < records[records.length - 1].field, + Assert.less( + records[0].field, + records[records.length - 1].field, "records are sorted" ); }); @@ -350,6 +355,7 @@ add_task(async function test_get_falls_back_sorts_results() { order: "-id", }); + // eslint-disable-next-line mozilla/no-comparison-or-assignment-inside-ok ok(records[0].id > records[records.length - 1].id, "records are sorted"); clientWithDump.db.getLastModified = backup; @@ -539,7 +545,7 @@ add_task(async function test_get_does_not_verify_signature_if_load_dump() { let called; clientWithDump._verifier = { - async asyncVerifyContentSignature(serialized, signature) { + async asyncVerifyContentSignature() { called = true; return true; }, @@ -577,7 +583,7 @@ add_task( const backup = clientWithDump._verifier; let callCount = 0; clientWithDump._verifier = { - async asyncVerifyContentSignature(serialized, signature) { + async asyncVerifyContentSignature() { callCount++; return true; }, @@ -634,7 +640,7 @@ add_task( let called; clientWithDump._verifier = { - async asyncVerifyContentSignature(serialized, signature) { + async asyncVerifyContentSignature() { called = true; return true; }, @@ -1168,7 +1174,7 @@ add_task(clear_state); add_task(async function test_sync_event_is_not_sent_from_get_when_no_dump() { let called = false; - client.on("sync", e => { + client.on("sync", () => { called = true; }); diff --git a/services/settings/test/unit/test_remote_settings_dump_lastmodified.js b/services/settings/test/unit/test_remote_settings_dump_lastmodified.js index 1cce089ff7..25de34c1be 100644 --- a/services/settings/test/unit/test_remote_settings_dump_lastmodified.js +++ b/services/settings/test/unit/test_remote_settings_dump_lastmodified.js @@ -14,7 +14,11 @@ async function getLocalDumpLastModified(bucket, collection) { return -1; } const { timestamp } = await res.json(); - ok(timestamp >= 0, `${bucket}/${collection} dump has timestamp`); + Assert.greaterOrEqual( + timestamp, + 0, + `${bucket}/${collection} dump has timestamp` + ); return timestamp; } @@ -51,5 +55,5 @@ add_task(async function lastModified_summary_is_correct() { equal(lastModified, actual, `last_modified should match collection`); checked++; } - ok(checked > 0, "At least one dump was packaged and checked."); + Assert.greater(checked, 0, "At least one dump was packaged and checked."); }); diff --git a/services/settings/test/unit/test_remote_settings_offline.js b/services/settings/test/unit/test_remote_settings_offline.js index ffb810829d..0a250c3e0a 100644 --- a/services/settings/test/unit/test_remote_settings_offline.js +++ b/services/settings/test/unit/test_remote_settings_offline.js @@ -107,7 +107,11 @@ add_task(clear_state); add_task(async function test_load_dump_after_non_empty_import() { // Dump is updated regularly, verify that the dump matches our expectations // before running the test. - ok(DUMP_LAST_MODIFIED > 1234, "Assuming dump to be newer than dummy 1234"); + Assert.greater( + DUMP_LAST_MODIFIED, + 1234, + "Assuming dump to be newer than dummy 1234" + ); await importData([{ last_modified: 1234, id: "dummy" }]); @@ -120,7 +124,11 @@ add_task(clear_state); add_task(async function test_load_dump_after_import_from_broken_distro() { // Dump is updated regularly, verify that the dump matches our expectations // before running the test. - ok(DUMP_LAST_MODIFIED > 1234, "Assuming dump to be newer than dummy 1234"); + Assert.greater( + DUMP_LAST_MODIFIED, + 1234, + "Assuming dump to be newer than dummy 1234" + ); // No last_modified time. await importData([{ id: "dummy" }]); diff --git a/services/settings/test/unit/test_remote_settings_poll.js b/services/settings/test/unit/test_remote_settings_poll.js index 3bf389ea34..c8025f4b7b 100644 --- a/services/settings/test/unit/test_remote_settings_poll.js +++ b/services/settings/test/unit/test_remote_settings_poll.js @@ -188,7 +188,7 @@ add_task(async function test_check_success() { // Ensure that the remote-settings:changes-poll-end notification works let notificationObserved = false; const observer = { - observe(aSubject, aTopic, aData) { + observe() { Services.obs.removeObserver(this, "remote-settings:changes-poll-end"); notificationObserved = true; }, @@ -258,7 +258,7 @@ add_task(async function test_update_timer_interface() { await new Promise(resolve => { const e = "remote-settings:changes-poll-end"; const changesPolledObserver = { - observe(aSubject, aTopic, aData) { + observe() { Services.obs.removeObserver(this, e); resolve(); }, @@ -288,7 +288,7 @@ add_task(async function test_check_up_to_date() { // Ensure that the remote-settings:changes-poll-end notification is sent. let notificationObserved = false; const observer = { - observe(aSubject, aTopic, aData) { + observe() { Services.obs.removeObserver(this, "remote-settings:changes-poll-end"); notificationObserved = true; }, @@ -686,7 +686,7 @@ add_task(async function test_server_error() { let notificationObserved = false; const observer = { - observe(aSubject, aTopic, aData) { + observe() { Services.obs.removeObserver(this, "remote-settings:changes-poll-end"); notificationObserved = true; }, @@ -807,7 +807,7 @@ add_task(async function test_client_error() { let notificationsObserved = []; const observer = { - observe(aSubject, aTopic, aData) { + observe(aSubject, aTopic) { Services.obs.removeObserver(this, aTopic); notificationsObserved.push([aTopic, aSubject.wrappedJSObject]); }, @@ -935,7 +935,7 @@ add_task( // Wait for the "sync-broken-error" notification. let notificationObserved = false; const observer = { - observe(aSubject, aTopic, aData) { + observe() { notificationObserved = true; }, }; diff --git a/services/settings/test/unit/test_remote_settings_signatures.js b/services/settings/test/unit/test_remote_settings_signatures.js index 840cc24dd8..a730ba185e 100644 --- a/services/settings/test/unit/test_remote_settings_signatures.js +++ b/services/settings/test/unit/test_remote_settings_signatures.js @@ -487,7 +487,7 @@ add_task(async function test_check_synchronization_with_signatures() { ); let syncEventSent = false; - client.on("sync", ({ data }) => { + client.on("sync", () => { syncEventSent = true; }); @@ -542,7 +542,7 @@ add_task(async function test_check_synchronization_with_signatures() { registerHandlers(badSigGoodOldResponses); syncEventSent = false; - client.on("sync", ({ data }) => { + client.on("sync", () => { syncEventSent = true; }); @@ -783,7 +783,7 @@ add_task(async function test_check_synchronization_with_signatures() { const sigCalls = []; let i = 0; client._verifier = { - async asyncVerifyContentSignature(serialized, signature) { + async asyncVerifyContentSignature(serialized) { sigCalls.push(serialized); console.log(`verify call ${i}`); return [ diff --git a/services/settings/test/unit/test_remote_settings_worker.js b/services/settings/test/unit/test_remote_settings_worker.js index 42b85bb92c..e2dcdb0063 100644 --- a/services/settings/test/unit/test_remote_settings_worker.js +++ b/services/settings/test/unit/test_remote_settings_worker.js @@ -82,8 +82,8 @@ add_task(async function test_throws_error_if_worker_fails_async() { // should be reported to the caller. await new Promise((resolve, reject) => { const request = indexedDB.deleteDatabase("remote-settings"); - request.onsuccess = event => resolve(); - request.onblocked = event => reject(new Error("Cannot delete DB")); + request.onsuccess = () => resolve(); + request.onblocked = () => reject(new Error("Cannot delete DB")); request.onerror = event => reject(event.target.error); }); let error; diff --git a/services/settings/test/unit/test_shutdown_handling.js b/services/settings/test/unit/test_shutdown_handling.js index a35ab6080a..2c98f0ab9b 100644 --- a/services/settings/test/unit/test_shutdown_handling.js +++ b/services/settings/test/unit/test_shutdown_handling.js @@ -41,7 +41,7 @@ add_task(async function test_shutdown_abort_after_start() { const request = store .index("cid") .openCursor(IDBKeyRange.only("foopydoo/foo")); - request.onsuccess = event => { + request.onsuccess = () => { makeRequest(); }; } @@ -74,7 +74,7 @@ add_task(async function test_shutdown_immediate_abort() { let request = store .index("cid") .openCursor(IDBKeyRange.only("foopydoo/foo")); - request.onsuccess = event => { + request.onsuccess = () => { // Abort immediately. Database._shutdownHandler(); request = store |