Repository: zulip/zulip

Issue:
dependencies: Switch commit hash for postcss-media-minmax.git.
The commit was re-pushed to the PR it was on, making the old hash
invalid.  See 64b78ad992ea6d0e5a7cc03869d9b71fc9006117.


**Self-review checklist**

<!-- Prior to submitting a PR, follow our step-by-step guide to review your own code:
https://zulip.readthedocs.io/en/latest/contributing/code-reviewing.html#how-to-review-code -->

<!-- Once you create the PR, check off all the steps below that you have completed.
If any of these steps are not relevant or you have not completed, leave them unchecked.-->

- [ ] [Self-reviewed](https://zulip.readthedocs.io/en/latest/contributing/code-reviewing.html#how-to-review-code) the changes for clarity and maintainability
      (variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

- [ ] Explains differences from previous plans (e.g., issue description).
- [ ] Highlights technical choices and bugs encountered.
- [ ] Calls out remaining decisions and concerns.
- [ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see [commit discipline](https://zulip.readthedocs.io/en/latest/contributing/version-control.html)).

- [ ] Each commit is a coherent idea.
- [ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

- [ ] Visual appearance of the changes.
- [ ] Responsiveness and internationalization.
- [ ] Strings and tooltips.
- [ ] End-to-end functionality of buttons, interactions and flows.
- [ ] Corner cases, error conditions, and easily imagined bugs.



Discussion:
Missing a `PROVISION_VERSION` bump. Let’s hold off on this a bit to see what upstream does in postcss/postcss-media-minmax#28; I’ve repushed the old commit to a tag to fix installs.
Repushed with the `PROVISION_VERSION` bump, just in case we need it.

👍 on holding off pending the results of that other PR.
Heads up @alexmv, we just merged some commits that conflict with the changes you made in this pull request! You can review this repository's [recent commits](https://github.com/zulip/zulip/commits/main) to see where the conflicts occur. Please rebase your feature branch against the `upstream/main` branch and [resolve](https://zulip.readthedocs.io/en/latest/git/troubleshooting.html#recover-from-a-git-rebase-failure) your pull request's merge conflicts accordingly.

<!-- mergeConflictWarning -->

Has upstream dealt with this yet?

Resolving patch:
diff --git a/version.py b/version.py
--- a/version.py
+++ b/version.py
@@ -48,4 +48,4 @@
 #   historical commits sharing the same major version, in which case a
 #   minor version bump suffices.
 
-PROVISION_VERSION = (196, 0)
+PROVISION_VERSION = (197, 0)


Test patch:
diff --git a/frontend_tests/puppeteer_lib/common.ts b/frontend_tests/puppeteer_lib/common.ts
--- a/frontend_tests/puppeteer_lib/common.ts
+++ b/frontend_tests/puppeteer_lib/common.ts
@@ -502,7 +502,7 @@ class CommonUtils {
             {visible: true},
         );
         assert.ok(entry);
-        await entry.hover();
+        await (entry as ElementHandle<Element>).hover();
         await page.evaluate((entry) => {
             if (!(entry instanceof HTMLElement)) {
                 throw new TypeError("expected HTMLElement");
diff --git a/frontend_tests/puppeteer_tests/admin.ts b/frontend_tests/puppeteer_tests/admin.ts
--- a/frontend_tests/puppeteer_tests/admin.ts
+++ b/frontend_tests/puppeteer_tests/admin.ts
@@ -1,6 +1,6 @@
 import {strict as assert} from "assert";
 
-import type {Page} from "puppeteer";
+import type {ElementHandle, Page} from "puppeteer";
 
 import common from "../puppeteer_lib/common";
 
@@ -40,7 +40,8 @@ async function test_change_new_stream_notifications_setting(page: Page): Promise
         '//*[@id="realm_notifications_stream_id_widget"]//*[@class="dropdown-list-body"]/li[1]',
         {visible: true},
     );
-    await verona_in_dropdown!.click();
+    assert.ok(verona_in_dropdown);
+    await (verona_in_dropdown as ElementHandle<Element>).click();
 
     await submit_notifications_stream_settings(page);
 
@@ -183,7 +184,10 @@ async function test_add_emoji(page: Page): Promise<void> {
     await common.fill_form(page, "form.admin-emoji-form", {name: "zulip logo"});
 
     const emoji_upload_handle = await page.$("#emoji_file_input");
-    await emoji_upload_handle!.uploadFile("static/images/logo/zulip-icon-128x128.png");
+    assert.ok(emoji_upload_handle);
+    await (emoji_upload_handle as ElementHandle<HTMLInputElement>).uploadFile(
+        "static/images/logo/zulip-icon-128x128.png",
+    );
     await page.click("#admin_emoji_submit");
 
     const emoji_status = "div#admin-emoji-status";
@@ -276,7 +280,10 @@ async function test_default_streams(page: Page): Promise<void> {
 
 async function test_upload_realm_icon_image(page: Page): Promise<void> {
     const upload_handle = await page.$("#realm-icon-upload-widget .image_file_input");
-    await upload_handle!.uploadFile("static/images/logo/zulip-icon-128x128.png");
+    assert.ok(upload_handle);
+    await (upload_handle as ElementHandle<HTMLInputElement>).uploadFile(
+        "static/images/logo/zulip-icon-128x128.png",
+    );
 
     await page.waitForSelector("#realm-icon-upload-widget .upload-spinner-background", {
         visible: true,
diff --git a/frontend_tests/puppeteer_tests/compose.ts b/frontend_tests/puppeteer_tests/compose.ts
--- a/frontend_tests/puppeteer_tests/compose.ts
+++ b/frontend_tests/puppeteer_tests/compose.ts
@@ -1,6 +1,6 @@
 import {strict as assert} from "assert";
 
-import type {Page} from "puppeteer";
+import type {ElementHandle, Page} from "puppeteer";
 
 import common from "../puppeteer_lib/common";
 
@@ -63,7 +63,7 @@ async function test_reply_by_click_prepopulates_stream_topic_names(page: Page):
     await page.waitForXPath(stream_message_xpath, {visible: true});
     const stream_message = get_last_element(await page.$x(stream_message_xpath));
     // we chose only the last element make sure we don't click on any duplicates.
-    await stream_message.click();
+    await (stream_message as ElementHandle<Element>).click();
     await common.check_form_contents(page, "#send_message_form", {
         stream_message_recipient_stream: "Verona",
         stream_message_recipient_topic: "Reply test",
@@ -78,7 +78,7 @@ async function test_reply_by_click_prepopulates_private_message_recipient(
     const private_message = get_last_element(
         await page.$x(get_message_xpath("Compose private message reply test")),
     );
-    await private_message.click();
+    await (private_message as ElementHandle<Element>).click();
     await page.waitForSelector("#private_message_recipient", {visible: true});
     await common.pm_recipient.expect(
         page,