Skip to content

Conversation

kik-kik
Copy link
Contributor

@kik-kik kik-kik commented Sep 1, 2025

feat(DENG-9250): update firefox app store territory report to include new connector data via v2

@kik-kik kik-kik force-pushed the feat/DENG-9250/update-firefox-app-store-territory-report-to-include-new-connector-data-via-v2 branch 2 times, most recently from 540400d to 8878782 Compare September 1, 2025 10:44
@kik-kik kik-kik requested a review from SuYoungHong September 1, 2025 10:44
@kik-kik kik-kik force-pushed the feat/DENG-9250/update-firefox-app-store-territory-report-to-include-new-connector-data-via-v2 branch 2 times, most recently from 1b8ba6d to 2079e80 Compare September 1, 2025 10:51
… app store performance report and update the view to union the historical/existing data with the new datast
@kik-kik kik-kik force-pushed the feat/DENG-9250/update-firefox-app-store-territory-report-to-include-new-connector-data-via-v2 branch from 2079e80 to ca4cb64 Compare September 1, 2025 10:55
@dataops-ci-bot
Copy link

Integration report for "feat: remove normalize_country step as not needed"

sql.diff

Click to expand!
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_firefox_ios.py /tmp/workspace/generated-sql/dags/bqetl_firefox_ios.py
--- /tmp/workspace/main-generated-sql/dags/bqetl_firefox_ios.py	2025-09-01 11:09:57.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_firefox_ios.py	2025-09-01 11:35:02.000000000 +0000
@@ -90,6 +90,19 @@
     catchup=False,
 ) as dag:
 
+    wait_for_bigeye__firefox_ios_derived__new_profiles__v1 = ExternalTaskSensor(
+        task_id="wait_for_bigeye__firefox_ios_derived__new_profiles__v1",
+        external_dag_id="bqetl_mobile_kpi_metrics",
+        external_task_id="firefox_ios.bigeye__firefox_ios_derived__new_profiles__v1",
+        execution_delta=datetime.timedelta(days=-1, seconds=57600),
+        check_existence=True,
+        mode="reschedule",
+        poke_interval=datetime.timedelta(minutes=5),
+        allowed_states=ALLOWED_STATES,
+        failed_states=FAILED_STATES,
+        pool="DATA_ENG_EXTERNALTASKSENSOR",
+    )
+
     wait_for_copy_deduplicate_all = ExternalTaskSensor(
         task_id="wait_for_copy_deduplicate_all",
         external_dag_id="copy_deduplicate",
@@ -194,17 +207,15 @@
         pool="DATA_ENG_EXTERNALTASKSENSOR",
     )
 
-    checks__fail_firefox_ios_derived__app_store_funnel__v1 = bigquery_dq_check(
-        task_id="checks__fail_firefox_ios_derived__app_store_funnel__v1",
-        source_table="app_store_funnel_v1",
-        dataset_id="firefox_ios_derived",
-        project_id="moz-fx-data-shared-prod",
-        is_dq_check_fail=True,
+    bigeye__firefox_ios_derived__app_store_funnel__v2 = bigquery_bigeye_check(
+        task_id="bigeye__firefox_ios_derived__app_store_funnel__v2",
+        table_id="moz-fx-data-shared-prod.firefox_ios_derived.app_store_funnel_v2",
+        warehouse_id="1939",
         owner="[email protected]",
         email=["[email protected]", "[email protected]", "[email protected]"],
         depends_on_past=False,
-        parameters=["submission_date:DATE:{{ds}}"],
-        retries=0,
+        execution_timeout=datetime.timedelta(hours=1),
+        retries=1,
     )
 
     checks__fail_firefox_ios_derived__baseline_clients_yearly__v1 = bigquery_dq_check(
@@ -327,19 +338,6 @@
         retries=0,
     )
 
-    checks__warn_firefox_ios_derived__app_store_funnel__v1 = bigquery_dq_check(
-        task_id="checks__warn_firefox_ios_derived__app_store_funnel__v1",
-        source_table="app_store_funnel_v1",
-        dataset_id="firefox_ios_derived",
-        project_id="moz-fx-data-shared-prod",
-        is_dq_check_fail=False,
-        owner="[email protected]",
-        email=["[email protected]", "[email protected]", "[email protected]"],
-        depends_on_past=False,
-        parameters=["submission_date:DATE:{{ds}}"],
-        retries=0,
-    )
-
     checks__warn_firefox_ios_derived__firefox_ios_clients__v1 = bigquery_dq_check(
         task_id="checks__warn_firefox_ios_derived__firefox_ios_clients__v1",
         source_table="firefox_ios_clients_v1",
@@ -417,9 +415,9 @@
         email_on_retry=False,
     )
 
-    firefox_ios_derived__app_store_funnel__v1 = bigquery_etl_query(
-        task_id="firefox_ios_derived__app_store_funnel__v1",
-        destination_table="app_store_funnel_v1",
+    firefox_ios_derived__app_store_funnel__v2 = bigquery_etl_query(
+        task_id="firefox_ios_derived__app_store_funnel__v2",
+        destination_table="app_store_funnel_v2",
         dataset_id="firefox_ios_derived",
         project_id="moz-fx-data-shared-prod",
         owner="[email protected]",
@@ -540,16 +538,8 @@
         depends_on_past=True,
     )
 
-    checks__fail_firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        checks__fail_firefox_ios_derived__firefox_ios_clients__v1
-    )
-
-    checks__fail_firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        firefox_ios_derived__app_store_funnel__v1
-    )
-
-    checks__fail_firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        firefox_ios_derived__clients_activation__v1
+    bigeye__firefox_ios_derived__app_store_funnel__v2.set_upstream(
+        firefox_ios_derived__app_store_funnel__v2
     )
 
     checks__fail_firefox_ios_derived__baseline_clients_yearly__v1.set_upstream(
@@ -568,18 +558,6 @@
         firefox_ios_derived__new_profile_activation__v2
     )
 
-    checks__warn_firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        checks__fail_firefox_ios_derived__firefox_ios_clients__v1
-    )
-
-    checks__warn_firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        firefox_ios_derived__app_store_funnel__v1
-    )
-
-    checks__warn_firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        firefox_ios_derived__clients_activation__v1
-    )
-
     checks__warn_firefox_ios_derived__firefox_ios_clients__v1.set_upstream(
         firefox_ios_derived__firefox_ios_clients__v1
     )
@@ -588,12 +566,8 @@
         firefox_ios_derived__new_profile_activation__v2
     )
 
-    firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        checks__fail_firefox_ios_derived__firefox_ios_clients__v1
-    )
-
-    firefox_ios_derived__app_store_funnel__v1.set_upstream(
-        firefox_ios_derived__clients_activation__v1
+    firefox_ios_derived__app_store_funnel__v2.set_upstream(
+        wait_for_bigeye__firefox_ios_derived__new_profiles__v1
     )
 
     firefox_ios_derived__attributable_clients__v1.set_upstream(
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/dags/bqetl_mobile_kpi_metrics.py /tmp/workspace/generated-sql/dags/bqetl_mobile_kpi_metrics.py
--- /tmp/workspace/main-generated-sql/dags/bqetl_mobile_kpi_metrics.py	2025-09-01 11:10:01.000000000 +0000
+++ /tmp/workspace/generated-sql/dags/bqetl_mobile_kpi_metrics.py	2025-09-01 11:35:09.000000000 +0000
@@ -742,6 +742,21 @@
         task_group=task_group_firefox_ios,
     )
 
+    with TaskGroup(
+        "bigeye__firefox_ios_derived__new_profiles__v1_external",
+        parent_group=task_group_firefox_ios,
+    ) as bigeye__firefox_ios_derived__new_profiles__v1_external:
+        ExternalTaskMarker(
+            task_id="bqetl_firefox_ios__wait_for_bigeye__firefox_ios_derived__new_profiles__v1",
+            external_dag_id="bqetl_firefox_ios",
+            external_task_id="wait_for_bigeye__firefox_ios_derived__new_profiles__v1",
+            execution_date="{{ (execution_date - macros.timedelta(seconds=28800)).isoformat() }}",
+        )
+
+        bigeye__firefox_ios_derived__new_profiles__v1_external.set_upstream(
+            bigeye__firefox_ios_derived__new_profiles__v1
+        )
+
     bigeye__firefox_ios_derived__retention__v1 = bigquery_bigeye_check(
         task_id="bigeye__firefox_ios_derived__retention__v1",
         table_id="moz-fx-data-shared-prod.firefox_ios_derived.retention_v1",
Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel: schema.yaml
Only in /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived/app_store_funnel_v1: checks.sql
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived: app_store_funnel_v2
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:54.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:54.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:55.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/schema.yaml	2025-09-01 11:16:16.000000000 +0000
@@ -29,6 +29,3 @@
 - name: page_views_unique_device
   type: INTEGER
   mode: NULLABLE
-- name: date_pst
-  type: TIMESTAMP
-  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/app_store/firefox_app_store_territory_source_type_report/view.sql	2025-09-01 11:02:13.000000000 +0000
@@ -5,7 +5,9 @@
   -- https://developer.apple.com/help/app-store-connect/view-sales-and-trends/download-and-view-reports
   -- "Time zone: Reports are based on Pacific Time (PT). A day includes transactions that happened from 12:00 a.m. to 11:59 p.m. PT."
   -- Date conversion in the query is required to unify the dates to UTC timezone which is what we use.
-  * REPLACE (TIMESTAMP(DATETIME(`date`, "America/Los_Angeles")) AS `date`),
-  `date` AS date_pst,
+  -- However, the `date` timestamp field appear to always show midnight meaning if we do timezone conversion
+  -- we will end up moving all results 1 day back if we attempt conversion to UTC.
+  -- This is why we are not doing timezone converstions here.
+  *,
 FROM
   `moz-fx-data-shared-prod.app_store_syndicate.app_store_territory_source_type_report`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:55.000000000 +0000
@@ -123,7 +123,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:55.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates/schema.yaml	2025-09-01 11:15:54.000000000 +0000
@@ -1,49 +1,49 @@
 fields:
-- mode: NULLABLE
-  name: submission_date
+- name: submission_date
   type: DATE
-- mode: NULLABLE
-  name: source
+  mode: NULLABLE
+- name: source
   type: STRING
-- mode: NULLABLE
-  name: event_type
+  mode: NULLABLE
+- name: event_type
   type: STRING
-- mode: NULLABLE
-  name: form_factor
+  mode: NULLABLE
+- name: form_factor
   type: STRING
-- mode: NULLABLE
-  name: country
+  mode: NULLABLE
+- name: country
   type: STRING
-- mode: NULLABLE
-  name: subdivision1
+  mode: NULLABLE
+- name: subdivision1
   type: STRING
-- mode: NULLABLE
-  name: advertiser
+  mode: NULLABLE
+- name: advertiser
   type: STRING
-- mode: NULLABLE
-  name: release_channel
+  mode: NULLABLE
+- name: release_channel
   type: STRING
-- mode: NULLABLE
-  name: position
+  mode: NULLABLE
+- name: position
   type: INTEGER
-- mode: NULLABLE
-  name: provider
+  mode: NULLABLE
+- name: provider
   type: STRING
-- mode: NULLABLE
-  name: match_type
+  mode: NULLABLE
+- name: match_type
   type: STRING
-- mode: NULLABLE
-  name: normalized_os
+  mode: NULLABLE
+- name: normalized_os
   type: STRING
-- mode: NULLABLE
-  name: suggest_data_sharing_enabled
+  mode: NULLABLE
+- name: suggest_data_sharing_enabled
   type: BOOLEAN
-- mode: NULLABLE
-  name: event_count
+  mode: NULLABLE
+- name: event_count
   type: INTEGER
-- mode: NULLABLE
-  name: user_count
+  mode: NULLABLE
+- name: user_count
   type: INTEGER
-- mode: NULLABLE
-  name: query_type
+  mode: NULLABLE
+- name: query_type
   type: STRING
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/contextual_services/event_aggregates_suggest/schema.yaml	2025-09-01 11:15:52.000000000 +0000
@@ -1,40 +1,40 @@
 fields:
-- mode: NULLABLE
-  name: submission_date
+- name: submission_date
   type: DATE
-- mode: NULLABLE
-  name: form_factor
+  mode: NULLABLE
+- name: form_factor
   type: STRING
-- mode: NULLABLE
-  name: country
+  mode: NULLABLE
+- name: country
   type: STRING
-- mode: NULLABLE
-  name: advertiser
+  mode: NULLABLE
+- name: advertiser
   type: STRING
-- mode: NULLABLE
-  name: normalized_os
+  mode: NULLABLE
+- name: normalized_os
   type: STRING
-- mode: NULLABLE
-  name: release_channel
+  mode: NULLABLE
+- name: release_channel
   type: STRING
-- mode: NULLABLE
-  name: position
+  mode: NULLABLE
+- name: position
   type: INTEGER
-- mode: NULLABLE
-  name: provider
+  mode: NULLABLE
+- name: provider
   type: STRING
-- mode: NULLABLE
-  name: match_type
+  mode: NULLABLE
+- name: match_type
   type: STRING
-- mode: NULLABLE
-  name: suggest_data_sharing_enabled
+  mode: NULLABLE
+- name: suggest_data_sharing_enabled
   type: BOOLEAN
-- mode: NULLABLE
-  name: impression_count
+  mode: NULLABLE
+- name: impression_count
   type: INTEGER
-- mode: NULLABLE
-  name: click_count
+  mode: NULLABLE
+- name: click_count
   type: INTEGER
-- mode: NULLABLE
-  name: query_type
+  mode: NULLABLE
+- name: query_type
   type: STRING
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/debug_ping_view_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:56.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:56.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml	2025-09-01 11:28:01.000000000 +0000
@@ -1,6 +1,10 @@
-friendly_name: Broken Site Report
+friendly_name: App-specific view for Glean ping "broken-site-report"
 description: |-
-  Please provide a description for the query
+  This a view that UNIONs the stable ping tables
+  across all channels of the Glean application "Firefox for Android"
+  (org_mozilla_firefox.broken_site_report, org_mozilla_firefox_beta.broken_site_report, org_mozilla_fenix.broken_site_report, org_mozilla_fenix_nightly.broken_site_report, org_mozilla_fennec_aurora.broken_site_report).
+
+  It is used by Looker.
 owners: []
 labels: {}
 bigquery: null
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml	2025-09-01 11:28:01.000000000 +0000
@@ -1,6 +1,10 @@
-friendly_name: Crash
+friendly_name: App-specific view for Glean ping "crash"
 description: |-
-  Please provide a description for the query
+  This a view that UNIONs the stable ping tables
+  across all channels of the Glean application "Firefox for Android"
+  (org_mozilla_firefox.crash, org_mozilla_firefox_beta.crash, org_mozilla_fenix.crash, org_mozilla_fenix_nightly.crash, org_mozilla_fennec_aurora.crash).
+
+  It is used by Looker.
 owners: []
 labels: {}
 bigquery: null
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_clients/schema.yaml	2025-09-01 11:16:16.000000000 +0000
@@ -26,6 +26,9 @@
 - name: adjust_network
   type: STRING
   mode: NULLABLE
+- name: install_source
+  type: STRING
+  mode: NULLABLE
 - name: retained_week_2
   type: BOOLEAN
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/funnel_retention_week_4/schema.yaml	2025-09-01 11:16:16.000000000 +0000
@@ -48,6 +48,9 @@
   description: 'The type of source of a client installation.
 
     '
+- name: install_source
+  type: STRING
+  mode: NULLABLE
 - name: new_profiles
   type: INTEGER
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/schema.yaml	2025-09-01 11:19:32.000000000 +0000
@@ -1263,6 +1263,9 @@
     - name: terms_of_use_remind_me_later_count
       type: INTEGER
       mode: NULLABLE
+    - name: media_mkv_content_count
+      type: INTEGER
+      mode: NULLABLE
   - name: custom_distribution
     type: RECORD
     mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql	2025-09-01 11:14:45.000000000 +0000
@@ -361,7 +361,8 @@
       metrics.counter.idb_maintenance_unknown_metadata,
       metrics.counter.terms_of_use_dismiss_count,
       metrics.counter.terms_of_use_impression_count,
-      metrics.counter.terms_of_use_remind_me_later_count
+      metrics.counter.terms_of_use_remind_me_later_count,
+      metrics.counter.media_mkv_content_count
     ) AS `counter`,
     STRUCT(
       metrics.custom_distribution.geckoview_document_site_origins,
@@ -2363,7 +2364,8 @@
       metrics.counter.idb_maintenance_unknown_metadata,
       metrics.counter.terms_of_use_dismiss_count,
       metrics.counter.terms_of_use_impression_count,
-      metrics.counter.terms_of_use_remind_me_later_count
+      metrics.counter.terms_of_use_remind_me_later_count,
+      metrics.counter.media_mkv_content_count
     ) AS `counter`,
     STRUCT(
       metrics.custom_distribution.geckoview_document_site_origins,
@@ -4385,7 +4387,8 @@
       metrics.counter.idb_maintenance_unknown_metadata,
       metrics.counter.terms_of_use_dismiss_count,
       metrics.counter.terms_of_use_impression_count,
-      metrics.counter.terms_of_use_remind_me_later_count
+      metrics.counter.terms_of_use_remind_me_later_count,
+      metrics.counter.media_mkv_content_count
     ) AS `counter`,
     STRUCT(
       metrics.custom_distribution.geckoview_document_site_origins,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/use_counters/schema.yaml	2025-09-01 11:19:50.000000000 +0000
@@ -1,11 +1,11 @@
 fields:
 - name: normalized_app_id
-  type: STRING
   mode: NULLABLE
+  type: STRING
   description: App ID of the channel data was received from
 - name: normalized_channel
-  type: STRING
   mode: NULLABLE
+  type: STRING
   description: Normalized channel name
 - name: additional_properties
   type: STRING
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml	2025-09-01 11:27:56.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `firefox-crashreporter/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-crashreporter/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:53.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml	2025-09-01 11:28:10.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `firefox-desktop/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml	2025-09-01 11:28:10.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `firefox-desktop/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/ltv_states/schema.yaml	2025-09-01 11:16:18.000000000 +0000
@@ -1,64 +1,66 @@
 fields:
-- description: Unique ID for the client installation.
-  mode: NULLABLE
-  name: client_id
+- name: client_id
   type: STRING
-- description: Sample ID - A number ranging from 0 - 99 based on client ID; used to pull a small sample of data related to a subset of clients over time
   mode: NULLABLE
-  name: sample_id
-  type: INT64
-- description: Submission Date
+  description: Unique ID for the client installation.
+- name: sample_id
+  type: INTEGER
   mode: NULLABLE
-  name: submission_date
+  description: Sample ID - A number ranging from 0 - 99 based on client ID; used to
+    pull a small sample of data related to a subset of clients over time
+- name: submission_date
   type: DATE
-- description: First Seen Date - The date this client was first seen
   mode: NULLABLE
-  name: first_seen_date
+  description: Submission Date
+- name: first_seen_date
   type: DATE
-- description: Days Since First Seen - The number of days since the client was first seen
   mode: NULLABLE
-  name: days_since_first_seen
-  type: INT64
-- description: Days Since Active
+  description: First Seen Date - The date this client was first seen
+- name: days_since_first_seen
+  type: INTEGER
   mode: NULLABLE
-  name: days_since_active
-  type: INT64
-- description: First Reported Country - The country this client ID was first reported from
+  description: Days Since First Seen - The number of days since the client was first
+    seen
+- name: days_since_active
+  type: INTEGER
   mode: NULLABLE
-  name: first_reported_country
+  description: Days Since Active
+- name: first_reported_country
   type: STRING
-- description: Attribution
   mode: NULLABLE
-  name: attribution
+  description: First Reported Country - The country this client ID was first reported
+    from
+- name: attribution
   type: RECORD
+  mode: NULLABLE
   fields:
-  - mode: NULLABLE
-    name: source
+  - name: source
     type: STRING
+    mode: NULLABLE
     description: Attribution Source
-  - mode: NULLABLE
-    name: medium
+  - name: medium
     type: STRING
+    mode: NULLABLE
     description: Attribution Medium
-  - mode: NULLABLE
-    name: campaign
+  - name: campaign
     type: STRING
+    mode: NULLABLE
     description: Attribution Campaign
-  - mode: NULLABLE
-    name: content
+  - name: content
     type: STRING
+    mode: NULLABLE
     description: Attribution Content
-  - mode: NULLABLE
-    name: experiment
+  - name: experiment
     type: STRING
+    mode: NULLABLE
     description: Attribution Experiment
-  - mode: NULLABLE
-    name: variation
+  - name: variation
     type: STRING
+    mode: NULLABLE
     description: Attribution Variation
-  - mode: NULLABLE
-    name: dltoken
+  - name: dltoken
     type: STRING
+    mode: NULLABLE
     description: Attribution Download Token
   - name: dlsource
     type: STRING
@@ -68,40 +70,43 @@
     type: STRING
     mode: NULLABLE
     description: Attribution UA
-- description: Active
-  mode: NULLABLE
-  name: active
-  type: INT64
-- description: Ad Clicks - The number of ad clicks from this client on the submission date
+  description: Attribution
+- name: active
+  type: INTEGER
   mode: NULLABLE
-  name: ad_clicks
-  type: INT64
-- description: Total Historic Ad Clicks - The number of ad clicks from this client on or before the submission date
+  description: Active
+- name: ad_clicks
+  type: INTEGER
   mode: NULLABLE
-  name: total_historic_ad_clicks
-  type: INT64
-- description: Days Seen Bytes
+  description: Ad Clicks - The number of ad clicks from this client on the submission
+    date
+- name: total_historic_ad_clicks
+  type: INTEGER
   mode: NULLABLE
-  name: days_seen_bytes
+  description: Total Historic Ad Clicks - The number of ad clicks from this client
+    on or before the submission date
+- name: days_seen_bytes
   type: BYTES
-- description: Pattern
   mode: NULLABLE
-  name: pattern
+  description: Days Seen Bytes
+- name: pattern
   type: INTEGER
-- description: Death Time
   mode: NULLABLE
-  name: death_time
+  description: Pattern
+- name: death_time
   type: INTEGER
-- description: Max Days
   mode: NULLABLE
-  name: max_days
+  description: Death Time
+- name: max_days
   type: INTEGER
-- description: Markov States
   mode: NULLABLE
-  name: markov_states
+  description: Max Days
+- name: markov_states
   type: RECORD
-  fields:
-  - description: Desktop States V1
     mode: NULLABLE
-    name: desktop_states_v1
+  fields:
+  - name: desktop_states_v1
     type: STRING
+    mode: NULLABLE
+    description: Desktop States V1
+  description: Markov States
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/metrics/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/metrics/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/metrics/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/metrics/schema.yaml	2025-09-01 11:06:48.000000000 +0000
@@ -3141,6 +3141,14 @@
         object we get here can be invalid and this metric is used to track those instances.
 
         '
+    - name: media_mkv_content_count
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of times MKV content is detected as a source for media
+        playback. This metric does not determine whether the MKV file is valid; it
+        is simply a count based on the sniffed MIME type.
+
+        '
   - name: labeled_counter
     type: RECORD
     mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml	2025-09-01 11:28:10.000000000 +0000
@@ -1,6 +1,14 @@
-friendly_name: Newtab
+friendly_name: Historical Pings for `firefox-desktop/newtab`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/newtab`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels: {}
 bigquery: null
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab_live/schema.yaml	2025-09-01 11:16:34.000000000 +0000
@@ -1,48 +1,47 @@
 fields:
-- description: Submission Timestamp
-  mode: NULLABLE
-  name: submission_timestamp
+- name: submission_timestamp
   type: TIMESTAMP
-- description: Normalized Country Code, Examples - US, AR, BR, etc.
   mode: NULLABLE
-  name: normalized_country_code
+  description: Submission Timestamp
+- name: normalized_country_code
   type: STRING
-- description: Normalized Channel, Examples - release, nightly, aurora, esr, beta
   mode: NULLABLE
-  name: normalized_channel
+  description: Normalized Country Code, Examples - US, AR, BR, etc.
+- name: normalized_channel
   type: STRING
-- description: Document ID
   mode: NULLABLE
-  name: document_id
+  description: Normalized Channel, Examples - release, nightly, aurora, esr, beta
+- name: document_id
   type: STRING
-- description: Pocket Enabled
   mode: NULLABLE
-  name: pocket_enabled
+  description: Document ID
+- name: pocket_enabled
   type: BOOLEAN
-- description: Pocket Sponsored Stories Enabled
   mode: NULLABLE
-  name: pocket_sponsored_stories_enabled
+  description: Pocket Enabled
+- name: pocket_sponsored_stories_enabled
   type: BOOLEAN
-- description: Newtab Locale
   mode: NULLABLE
-  name: newtab_locale
+  description: Pocket Sponsored Stories Enabled
+- name: newtab_locale
   type: STRING
-- description: App Build
   mode: NULLABLE
-  name: app_build
+  description: Newtab Locale
+- name: app_build
   type: STRING
-- description: App Display Version
   mode: NULLABLE
-  name: app_display_version
+  description: App Build
+- name: app_display_version
   type: STRING
-- description: Client ID
   mode: NULLABLE
-  name: client_id
+  description: App Display Version
+- name: client_id
   type: STRING
+  mode: NULLABLE
+  description: Client ID
 - name: events
   type: RECORD
   mode: REPEATED
-  description: Events
   fields:
   - name: category
     type: STRING
@@ -51,7 +50,6 @@
   - name: extra
     type: RECORD
     mode: REPEATED
-    description: Extras
     fields:
     - name: key
       type: STRING
@@ -61,6 +59,7 @@
       type: STRING
       mode: NULLABLE
       description: Value
+    description: Extras
   - name: name
     type: STRING
     mode: NULLABLE
@@ -69,3 +68,4 @@
     type: INTEGER
     mode: NULLABLE
     description: Event Timestamp
+  description: Events
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:53.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:54.000000000 +0000
@@ -91,7 +91,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update/metrics/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update/metrics/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update/metrics/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update/metrics/schema.yaml	2025-09-01 11:04:48.000000000 +0000
@@ -2212,6 +2212,14 @@
         object we get here can be invalid and this metric is used to track those instances.
 
         '
+    - name: media_mkv_content_count
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of times MKV content is detected as a source for media
+        playback. This metric does not determine whether the MKV file is valid; it
+        is simply a count based on the sniffed MIME type.
+
+        '
   - name: datetime
     type: RECORD
     mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:54.000000000 +0000
@@ -59,7 +59,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-01 11:08:55.000000000 +0000
@@ -251,7 +251,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-08-29"
+  DATE(submission_timestamp) >= "2025-09-01"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_daily/schema.yaml	2025-09-01 11:17:05.000000000 +0000
@@ -5,16 +5,12 @@
 - name: submission_date
   type: DATE
   mode: NULLABLE
-  description: The date when the telemetry ping is received on the server side.
 - name: client_id
   type: STRING
   mode: NULLABLE
-  description: A unique identifier (UUID) for the client.
 - name: sample_id
   type: INTEGER
   mode: NULLABLE
-  description: A number, 0-99, that samples by client_id and allows filtering data
-    for analysis. It is a pipeline-generated artifact that should match between pings.
 - name: first_run_date
   type: DATE
   mode: NULLABLE
@@ -30,23 +26,18 @@
 - name: normalized_channel
   type: STRING
   mode: NULLABLE
-  description: The normalized channel the application is being distributed on.
 - name: normalized_os
   type: STRING
   mode: NULLABLE
-  description: The normalized name of the operating system running at the client.
 - name: normalized_os_version
   type: STRING
   mode: NULLABLE
 - name: android_sdk_version
   type: STRING
   mode: NULLABLE
-  description: The optional Android specific SDK version of the software running on
-    this hardware device.
 - name: locale
   type: STRING
   mode: NULLABLE
-  description: Set of language- and/or country-based preferences for a user interface.
 - name: city
   type: STRING
   mode: NULLABLE
@@ -65,18 +56,12 @@
 - name: architecture
   type: STRING
   mode: NULLABLE
-  description: The architecture of the device, (e.g. "arm", "x86").
 - name: device_manufacturer
   type: STRING
   mode: NULLABLE
-  description: The manufacturer of the device the application is running on. Not set
-    if the device manufacturer can't be determined (e.g. on Desktop).
 - name: device_model
   type: STRING
   mode: NULLABLE
-  description: The model of the device the application is running on. On Android,
-    this is Build.MODEL, the user-visible marketing name, like "Pixel 2 XL". Not set
-    if the device model can't be determined (e.g. on Desktop).
 - name: telemetry_sdk_build
   type: STRING
   mode: NULLABLE
@@ -89,20 +74,15 @@
 - name: isp
   type: STRING
   mode: NULLABLE
-  description: The name of the internet service provider associated with the client's
-    IP address.
 - name: distribution_id
   type: STRING
   mode: NULLABLE
-  description: The distribution id associated with the install of Firefox.
 - name: geo_subdivision
   type: STRING
   mode: NULLABLE
 - name: profile_group_id
   type: STRING
   mode: NULLABLE
-  description: A UUID uniquely identifying the profile group, not shared with other
-    telemetry data.
 - name: install_source
   type: STRING
   mode: NULLABLE
@@ -121,8 +101,6 @@
 - name: is_default_browser
   type: BOOLEAN
   mode: NULLABLE
-  description: A flag indicating whether the browser is set as the default browser
-    on the client side.
 - name: attribution
   type: RECORD
   mode: NULLABLE
@@ -130,23 +108,18 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
-    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
-    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
-    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
-    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
-    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -154,27 +127,21 @@
   - name: name
     type: STRING
     mode: NULLABLE
-    description: The distribution name (e.g. 'MozillaOnline').
 - name: attribution_dltoken
   type: STRING
   mode: NULLABLE
-  description: Unique token created at Firefox download time.
 - name: attribution_dlsource
   type: STRING
   mode: NULLABLE
-  description: Identifier that indicates where installations of Firefox originate.
 - name: attribution_experiment
   type: STRING
   mode: NULLABLE
-  description: Name/id of the enrolled funnel experiment.
 - name: attribution_variation
   type: STRING
   mode: NULLABLE
-  description: Name/id of the variation cohort used in the enrolled funnel experiment.
 - name: attribution_ua
   type: STRING
   mode: NULLABLE
-  description: Identifier derived from the user agent downloading the installer.
 - name: experiments
   type: RECORD
   mode: REPEATED
@@ -182,7 +149,6 @@
   - name: key
     type: STRING
     mode: NULLABLE
-    description: Experiment Key
   - name: value
     type: RECORD
     mode: NULLABLE
@@ -190,7 +156,6 @@
     - name: branch
       type: STRING
       mode: NULLABLE
-      description: Experiment Branch
     - name: extra
       type: RECORD
       mode: NULLABLE
@@ -198,11 +163,6 @@
       - name: type
         type: STRING
         mode: NULLABLE
-        description: Experiment Type
       - name: enrollment_id
         type: STRING
         mode: NULLABLE
-        description: Experiment Enrollment ID
-      description: Experiment Extras
-    description: Experiment Value
-  description: A dictionary of active experiments.
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_first_seen/schema.yaml	2025-09-01 11:17:06.000000000 +0000
@@ -5,16 +5,12 @@
 - name: submission_date
   type: DATE
   mode: NULLABLE
-  description: The date when the telemetry ping is received on the server side.
 - name: client_id
   type: STRING
   mode: NULLABLE
-  description: A unique identifier (UUID) for the client.
 - name: sample_id
   type: INTEGER
   mode: NULLABLE
-  description: A number, 0-99, that samples by client_id and allows filtering data
-    for analysis. It is a pipeline-generated artifact that should match between pings.
 - name: first_run_date
   type: DATE
   mode: NULLABLE
@@ -30,23 +26,18 @@
 - name: normalized_channel
   type: STRING
   mode: NULLABLE
-  description: The normalized channel the application is being distributed on.
 - name: normalized_os
   type: STRING
   mode: NULLABLE
-  description: The normalized name of the operating system running at the client.
 - name: normalized_os_version
   type: STRING
   mode: NULLABLE
 - name: android_sdk_version
   type: STRING
   mode: NULLABLE
-  description: The optional Android specific SDK version of the software running on
-    this hardware device.
 - name: locale
   type: STRING
   mode: NULLABLE
-  description: Set of language- and/or country-based preferences for a user interface.
 - name: city
   type: STRING
   mode: NULLABLE
@@ -65,18 +56,12 @@
 - name: architecture
   type: STRING
   mode: NULLABLE
-  description: The architecture of the device, (e.g. "arm", "x86").
 - name: device_manufacturer
   type: STRING
   mode: NULLABLE
-  description: The manufacturer of the device the application is running on. Not set
-    if the device manufacturer can't be determined (e.g. on Desktop).
 - name: device_model
   type: STRING
   mode: NULLABLE
-  description: The model of the device the application is running on. On Android,
-    this is Build.MODEL, the user-visible marketing name, like "Pixel 2 XL". Not set
-    if the device model can't be determined (e.g. on Desktop).
 - name: telemetry_sdk_build
   type: STRING
   mode: NULLABLE
@@ -89,20 +74,15 @@
 - name: isp
   type: STRING
   mode: NULLABLE
-  description: The name of the internet service provider associated with the client's
-    IP address.
 - name: distribution_id
   type: STRING
   mode: NULLABLE
-  description: The distribution id associated with the install of Firefox.
 - name: geo_subdivision
   type: STRING
   mode: NULLABLE
 - name: profile_group_id
   type: STRING
   mode: NULLABLE
-  description: A UUID uniquely identifying the profile group, not shared with other
-    telemetry data.
 - name: install_source
   type: STRING
   mode: NULLABLE
@@ -121,8 +101,6 @@
 - name: is_default_browser
   type: BOOLEAN
   mode: NULLABLE
-  description: A flag indicating whether the browser is set as the default browser
-    on the client side.
 - name: attribution
   type: RECORD
   mode: NULLABLE
@@ -130,23 +108,18 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
-    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
-    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
-    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
-    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
-    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -154,27 +127,21 @@
   - name: name
     type: STRING
     mode: NULLABLE
-    description: The distribution name (e.g. 'MozillaOnline').
 - name: attribution_dltoken
   type: STRING
   mode: NULLABLE
-  description: Unique token created at Firefox download time.
 - name: attribution_dlsource
   type: STRING
   mode: NULLABLE
-  description: Identifier that indicates where installations of Firefox originate.
 - name: attribution_experiment
   type: STRING
   mode: NULLABLE
-  description: Name/id of the enrolled funnel experiment.
 - name: attribution_variation
   type: STRING
   mode: NULLABLE
-  description: Name/id of the variation cohort used in the enrolled funnel experiment.
 - name: attribution_ua
   type: STRING
   mode: NULLABLE
-  description: Identifier derived from the user agent downloading the installer.
 - name: experiments
   type: RECORD
   mode: REPEATED
@@ -182,7 +149,6 @@
   - name: key
     type: STRING
     mode: NULLABLE
-    description: Experiment Key
   - name: value
     type: RECORD
     mode: NULLABLE
@@ -190,7 +156,6 @@
     - name: branch
       type: STRING
       mode: NULLABLE
-      description: Experiment Branch
     - name: extra
       type: RECORD
       mode: NULLABLE
@@ -198,11 +163,6 @@
       - name: type
         type: STRING
         mode: NULLABLE
-        description: Experiment Type
       - name: enrollment_id
         type: STRING
         mode: NULLABLE
-        description: Experiment Enrollment ID
-      description: Experiment Extras
-    description: Experiment Value
-  description: A dictionary of active experiments.
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv/baseline_clients_last_seen/schema.yaml	2025-09-01 11:17:07.000000000 +0000
@@ -26,16 +26,12 @@
 - name: submission_date
   type: DATE
   mode: NULLABLE
-  description: The date when the telemetry ping is received on the server side.
 - name: client_id
   type: STRING
   mode: NULLABLE
-  description: A unique identifier (UUID) for the client.
 - name: sample_id
   type: INTEGER
   mode: NULLABLE
-  description: A number, 0-99, that samples by client_id and allows filtering data
-    for analysis. It is a pipeline-generated artifact that should match between pings.
 - name: first_run_date
   type: DATE
   mode: NULLABLE
@@ -51,7 +47,6 @@
 - name: normalized_channel
   type: STRING
   mode: NULLABLE
-  description: The normalized channel the application is being distributed on.
 - name: normalized_os
   type: STRING
   mode: NULLABLE
@@ -61,12 +56,9 @@
 - name: android_sdk_version
   type: STRING
   mode: NULLABLE
-  description: The optional Android specific SDK version of the software running on
-    this hardware device.
 - name: locale
   type: STRING
   mode: NULLABLE
-  description: Set of language- and/or country-based preferences for a user interface.
 - name: city
   type: STRING
   mode: NULLABLE
@@ -85,18 +77,12 @@
 - name: architecture
   type: STRING
   mode: NULLABLE
-  description: The architecture of the device, (e.g. "arm", "x86").
 - name: device_manufacturer
   type: STRING
   mode: NULLABLE
-  description: The manufacturer of the device the application is running on. Not set
-    if the device manufacturer can't be determined (e.g. on Desktop).
 - name: device_model
   type: STRING
   mode: NULLABLE
-  description: The model of the device the application is running on. On Android,
-    this is Build.MODEL, the user-visible marketing name, like "Pixel 2 XL". Not set
-    if the device model can't be determined (e.g. on Desktop).
 - name: telemetry_sdk_build
   type: STRING
   mode: NULLABLE
@@ -109,23 +95,18 @@
 - name: isp
   type: STRING
   mode: NULLABLE
-  description: The name of the internet service provider associated with the client's
-    IP address.
 - name: days_active_bits
   type: INTEGER
   mode: NULLABLE
 - name: distribution_id
   type: STRING
   mode: NULLABLE
-  description: The distribution id associated with the install of Firefox.
 - name: geo_subdivision
   type: STRING
   mode: NULLABLE
 - name: profile_group_id
   type: STRING
   mode: NULLABLE
-  description: A UUID uniquely identifying the profile group, not shared with other
-    telemetry data.
 - name: install_source
   type: STRING
   mode: NULLABLE
@@ -144,8 +125,6 @@
 - name: is_default_browser
   type: BOOLEAN
   mode: NULLABLE
-  description: A flag indicating whether the browser is set as the default browser
-    on the client side.
 - name: attribution
   type: RECORD
   mode: NULLABLE
@@ -153,23 +132,18 @@
   - name: campaign
     type: STRING
     mode: NULLABLE
-    description: The attribution campaign (e.g. 'mozilla-org').
   - name: content
     type: STRING
     mode: NULLABLE
-    description: The attribution content (e.g. 'firefoxview').
   - name: medium
     type: STRING
     mode: NULLABLE
-    description: The attribution medium (e.g. 'organic' for a search engine).
   - name: source
     type: STRING
     mode: NULLABLE
-    description: The attribution source (e.g. 'google-play').
   - name: term
     type: STRING
     mode: NULLABLE
-    description: The attribution term (e.g. 'browser with developer tools for android').
 - name: distribution
   type: RECORD
   mode: NULLABLE
@@ -177,27 +151,21 @@
   - name: name
     type: STRING
     mode: NULLABLE
-    description: The distribution name (e.g. 'MozillaOnline').
 - name: attribution_dltoken
   type: STRING
   mode: NULLABLE
-  description: Unique token created at Firefox download time.
 - name: attribution_dlsource
   type: STRING
   mode: NULLABLE
-  description: Identifier that indicates where installations of Firefox originate.
 - name: attribution_experiment
   type: STRING
   mode: NULLABLE
-  description: Name/id of the enrolled funnel experiment.
 - name: attribution_variation
   type: STRING
   mode: NULLABLE
-  description: Name/id of the variation cohort used in the enrolled funnel experiment.
 - name: attribution_ua
   type: STRING
   mode: NULLABLE
-  description: Identifier derived from the user agent downloading the installer.
 - name: experiments
   type: RECORD
   mode: REPEATED
@@ -205,7 +173,6 @@
   - name: key
     type: STRING
     mode: NULLABLE
-    description: Experiment Key
   - name: value
     type: RECORD
     mode: NULLABLE
@@ -213,7 +180,6 @@
     - name: branch
       type: STRING
       mode: NULLABLE
-      description: Experiment Branch
     - name: extra
       type: RECORD
       mode: NULLABLE
@@ -221,11 +187,6 @@
       - name: type
         type: STRING
         mode: NULLABLE
-        description: Experiment Type
       - name: enrollment_id
         type: STRING
         mode: NULLABLE
-        description: Experiment Enrollment ID
-      description: Experiment Extras
-    description: Experiment Value
-  description: A dictionary of active experiments.
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/metadata.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/metadata.yaml	2025-09-01 11:28:11.000000000 +0000
@@ -11,4 +11,5 @@
 references:
   view.sql:
   - moz-fx-data-shared-prod.firefox_ios_derived.app_store_funnel_v1
+  - moz-fx-data-shared-prod.firefox_ios_derived.app_store_funnel_v2
 require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/schema.yaml	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/schema.yaml	1970-01-01 00:00:00.000000000 +0000
@@ -1,51 +0,0 @@
-fields:
-- name: submission_date
-  type: DATE
-  mode: NULLABLE
-  description: 'Partition field, also corresponds to internal execution date of the
-    job. submision_date - 7 days gives us the same date as the date field.
-
-    '
-- name: first_seen_date
-  type: DATE
-  mode: NULLABLE
-  description: 'Date of when the user was first seen.
-
-    '
-- name: country
-  type: STRING
-  mode: NULLABLE
-  description: 'Dimension by which the numeric values are grouped.
-
-    '
-- name: impressions
-  type: INTEGER
-  mode: NULLABLE
-  description: 'Number of Firefox iOS app unique impressions in the Apple Store.
-
-    '
-- name: total_downloads
-  type: INTEGER
-  mode: NULLABLE
-  description: 'Total number of downloads of the Firefox iOS app from the Apple Store.
-
-    '
-- name: first_time_downloads
-  type: INTEGER
-  mode: NULLABLE
-  description: 'Number of first time downloads of the Firefox iOS app from the Apple
-    Store.
-
-    '
-- name: redownloads
-  type: INTEGER
-  mode: NULLABLE
-  description: 'Number of redownloads of the Firefox iOS app from the Apple Store.
-
-    '
-- name: new_profiles
-  type: INTEGER
-  mode: NULLABLE
-  description: 'Number of new profiles on the date.
-
-    '
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/view.sql	2025-09-01 11:06:30.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios/app_store_funnel/view.sql	2025-09-01 11:02:13.000000000 +0000
@@ -1,7 +1,18 @@
 CREATE OR REPLACE VIEW
   `moz-fx-data-shared-prod.firefox_ios.app_store_funnel`
 AS
+-- v1 contains data based of the old report structure and v2 contains the data
+-- based of the current report structure provided by the current Fivetran connector.
 SELECT
   *
 FROM
   `moz-fx-data-shared

⚠️ Only part of the diff is displayed.

Link to full diff

@kik-kik
Copy link
Contributor Author

kik-kik commented Sep 10, 2025

We decided to stick with the approach from: #7971

@kik-kik kik-kik closed this Sep 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants