helloadhavan/github_issues huggingface dataset:
Repository: nodejs/node
Pull request: build,win: float VS 17.11 compilation patch

Floats dependency patch from https://github.com/ngtcp2/nghttp3/pull/252 to enable updating VS to the latest version (17.11) in the CI.

Fixes: https://github.com/nodejs/node/issues/54898

Changed files:
filename: deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c
patch: @@ -33,7 +33,7 @@
 
 #include "nghttp3_macro.h"
 
-#if defined(_MSC_VER) && !defined(__clang__) &&                                \
+#if defined(_MSC_VER) && _MSC_VER < 1941 && !defined(__clang__) &&                                \
     (defined(_M_ARM) || defined(_M_ARM64))
 unsigned int __popcnt(unsigned int x) {
   unsigned int c = 0;

filename: deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
patch: @@ -31,7 +31,7 @@
 
 #include "ngtcp2_macro.h"
 
-#if defined(_MSC_VER) && !defined(__clang__) &&                                \
+#if defined(_MSC_VER) && _MSC_VER < 1941 && !defined(__clang__) &&                                \
     (defined(_M_ARM) || defined(_M_ARM64))
 static unsigned int __popcnt(unsigned int x) {
   unsigned int c = 0;
Repository: facebook/react
Pull request: Fix typo in ReactUpdatePriority-test.js



<!--
  Thanks for submitting a pull request!
  We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory.

  Before submitting a pull request, please make sure the following is done:

  1. Fork [the repository](https://github.com/facebook/react) and create your branch from `master`.
  2. Run `yarn` in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development.
  5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`.
  6. If you need a debugger, run `yarn debug-test --watch TestName`, open `chrome://inspect`, and press "Inspect".
  7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`).
  8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files.
  9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`).
  10. If you haven't already, complete the CLA.

  Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html
-->

## Summary

Fixed typo.

```
continous -> continuous
```

<!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? -->

## Test Plan

<!-- Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes the user interface. -->


Changed files:
filename: packages/react-reconciler/src/__tests__/ReactUpdatePriority-test.js
patch: @@ -124,7 +124,7 @@ describe('ReactUpdatePriority', () => {
       });
     });
     expect(Scheduler).toHaveYielded([
-      // Because the hide update has continous priority, it should interrupt the
+      // Because the hide update has continuous priority, it should interrupt the
       // in-progress transition
       '(hidden)',
       // When the transition resumes, it's a no-op because the children are
Repository: electron/electron
Pull request: build: fixup patches in main

#### Description of Change
Updates a patch that is in conflict
<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.

Contributors guide: https://github.com/electron/electron/blob/main/CONTRIBUTING.md
-->

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [ ] PR description included and stakeholders cc'd
- [ ] `npm test` passes
- [ ] tests are [changed or added](https://github.com/electron/electron/blob/main/docs/development/testing.md)
- [ ] relevant documentation, tutorials, templates and examples are changed or added
- [ ] [PR release notes](https://github.com/electron/clerk/blob/main/README.md) describe the change in a way relevant to app developers, and are [capitalized, punctuated, and past tense](https://github.com/electron/clerk/blob/main/README.md#examples).

#### Release Notes

Notes: none.

Changed files:
filename: patches/chromium/fix_potential_draggable_region_crash_when_no_mainframeimpl.patch
patch: @@ -16,10 +16,10 @@ MainFrameImpl is not null.
 Upstreamed in https://chromium-review.googlesource.com/c/chromium/src/+/5756619
 
 diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
-index ef68f9cbc63772f50269520fb0198a95e4270947..948cf94e2e4af0bbbf1f9c2322d00075bdaca0b2 100644
+index 99b1895903c2ae8aa36c76f578e1f51318033ad9..685b85e1d7294af5e8be2ae771bd352b1427c923 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -4073,11 +4073,12 @@ bool WebViewImpl::IsFencedFrameRoot() const {
+@@ -4071,11 +4071,12 @@ bool WebViewImpl::IsFencedFrameRoot() const {
  }
  
  void WebViewImpl::SetSupportsDraggableRegions(bool supports_draggable_regions) {
Repository: ggml-org/llama.cpp
Pull request: model : print tensor size during load

Small QoL improvement - print tensor sizes in the log.

Changed files:
filename: src/llama-model-loader.cpp
patch: @@ -603,7 +603,9 @@ llama_model_loader::llama_model_loader(
 
             if (trace > 0) {
                 const uint16_t sid = w.idx;
-                LLAMA_LOG_INFO("%s: - tensor split %2d: %32s %-8s [ %s ]\n", __func__, sid, ggml_get_name(tensor), ggml_type_name(type), llama_format_tensor_shape(tensor).c_str());
+                LLAMA_LOG_INFO("%s: - tensor split %2d: %32s %-8s [ %s ] %8.2f MiB\n", __func__,
+                        sid, ggml_get_name(tensor), ggml_type_name(type), llama_format_tensor_shape(tensor).c_str(),
+                        ggml_nbytes(tensor)/1024.0f/1024.0f);
             }
         }
Repository: facebook/react
Pull request: Add aria-description to the list of known ARIA attributes

https://w3c.github.io/aria/#aria-description is a valid aria property.

https://github.com/facebook/react/issues/21035

Changed files:
filename: packages/react-dom/src/shared/validAriaProperties.js
patch: @@ -7,6 +7,7 @@
 
 const ariaProperties = {
   'aria-current': 0, // state
+  'aria-description': 0,
   'aria-details': 0,
   'aria-disabled': 0, // state
   'aria-hidden': 0, // state
Repository: denoland/deno
Pull request: fix(cli): Overwrite existing bin entries in `node_modules`

Previously we warned on unix and didn't touch them on windows, now we unconditionally overwrite them. This matches what npm does.

Changed files:
filename: cli/npm/managed/resolvers/local/bin_entries.rs
patch: @@ -226,15 +226,6 @@ fn set_up_bin_shim(
 
   cmd_shim.set_extension("cmd");
   let shim = format!("@deno run -A npm:{}/{bin_name} %*", package.id.nv);
-  if cmd_shim.exists() {
-    if let Ok(contents) = fs::read_to_string(cmd_shim) {
-      if contents == shim {
-        // up to date
-        return Ok(());
-      }
-    }
-    return Ok(());
-  }
   fs::write(&cmd_shim, shim).with_context(|| {
     format!("Can't set up '{}' bin at {}", bin_name, cmd_shim.display())
   })?;
@@ -287,19 +278,21 @@ fn symlink_bin_entry(
 
   if let Err(err) = symlink(&original_relative, &link) {
     if err.kind() == io::ErrorKind::AlreadyExists {
-      let resolved = std::fs::read_link(&link).ok();
-      if let Some(resolved) = resolved {
-        if resolved != original_relative {
-          log::warn!(
-            "{} Trying to set up '{}' bin for \"{}\", but an entry pointing to \"{}\" already exists. Skipping...", 
-            deno_terminal::colors::yellow("Warning"), 
-            bin_name,
-            resolved.display(),
-            original_relative.display()
-          );
-        }
-        return Ok(());
-      }
+      // remove and retry
+      std::fs::remove_file(&link).with_context(|| {
+        format!(
+          "Failed to remove existing bin symlink at {}",
+          link.display()
+        )
+      })?;
+      symlink(&original_relative, &link).with_context(|| {
+        format!(
+          "Can't set up '{}' bin at {}",
+          bin_name,
+          original_relative.display()
+        )
+      })?;
+      return Ok(());
     }
     return Err(err).with_context(|| {
       format!(

filename: tests/specs/task/bin_package/__test__.jsonc
patch: @@ -27,17 +27,16 @@
         }
       ]
     },
-    "warns_if_already_setup": {
+    "clobbers_if_already_setup": {
       "tempDir": true,
       "steps": [{
-        "if": "unix",
         "commandName": "npm",
         "args": "install",
         "output": "\nadded 1 package in [WILDCARD]\n"
       }, {
         "if": "unix",
         "args": "task sayhi",
-        "output": "already-set-up.out"
+        "output": "task.out"
       }]
     }
   }

filename: tests/specs/task/bin_package/already-set-up.out
patch: @@ -1,9 +0,0 @@
-Download http://localhost:4260/@denotest/bin
-Download http://localhost:4260/@denotest/bin/1.0.0.tgz
-Initialize @denotest/bin@1.0.0
-Warning Trying to set up [WILDCARD] bin for [WILDCARD], but an entry pointing to [WILDCARD] already exists. Skipping...
-Warning Trying to set up [WILDCARD] bin for [WILDCARD] but an entry pointing to [WILDCARD] already exists. Skipping...
-Warning Trying to set up [WILDCARD] bin for [WILDCARD], but an entry pointing to [WILDCARD] already exists. Skipping...
-Task sayhi cli-esm hi hello
-hi
-hello
Repository: electron/electron
Pull request: perf: don't build unused vectors in HidChooserContext

Backport of #43192

See that PR for details.


Notes: none.

Changed files:
filename: shell/browser/hid/hid_chooser_context.cc
patch: @@ -278,13 +278,8 @@ void HidChooserContext::DeviceRemoved(device::mojom::HidDeviceInfoPtr device) {
   if (CanStorePersistentEntry(*device))
     return;
 
-  std::vector<url::Origin> revoked_origins;
-  for (auto& map_entry : ephemeral_devices_) {
-    if (map_entry.second.erase(device->guid) > 0)
-      revoked_origins.push_back(map_entry.first);
-  }
-  if (revoked_origins.empty())
-    return;
+  for (auto& [origin, guids] : ephemeral_devices_)
+    guids.erase(device->guid);
 }
 
 void HidChooserContext::DeviceChanged(device::mojom::HidDeviceInfoPtr device) {
@@ -343,11 +338,6 @@ void HidChooserContext::OnHidManagerConnectionError() {
   hid_manager_.reset();
   client_receiver_.reset();
   devices_.clear();
-
-  std::vector<url::Origin> revoked_origins;
-  revoked_origins.reserve(ephemeral_devices_.size());
-  for (const auto& map_entry : ephemeral_devices_)
-    revoked_origins.push_back(map_entry.first);
   ephemeral_devices_.clear();
 
   // Notify all device observers.
Repository: facebook/react
Pull request: Typo fixed in react-devtools  changelog.md  file

## Summary
Fixed a trivial typo in changelog.md file in react-devtools folder(depedency->dependency).

## Test Plan
No explict testing was done  as it was a minor change in the documentation. 


Changed files:
filename: packages/react-devtools/CHANGELOG.md
patch: @@ -185,7 +185,7 @@ Learn more about this change at [fb.me/devtools-unsupported-bridge-protocol](htt
 
 ## 4.12.4 (April 19, 2021)
 #### Bugfix
-* Remove `@octokit/rest` depedency because of a problem with transitive dependencies ([bvaughn](https://github.com/bvaughn) in [#21317](https://github.com/facebook/react/pull/21317))
+* Remove `@octokit/rest` dependency because of a problem with transitive dependencies ([bvaughn](https://github.com/bvaughn) in [#21317](https://github.com/facebook/react/pull/21317))
 
 ## 4.12.3 (April 19, 2021)
 #### Bugfix
Repository: denoland/deno
Pull request: ci: bump timeout minutes due to slow mac aarch64 runner

For the future...

Changed files:
filename: .github/workflows/ci.generate.ts
patch: @@ -354,7 +354,7 @@ const ci = {
       needs: ["pre_build"],
       if: "${{ needs.pre_build.outputs.skip_build != 'true' }}",
       "runs-on": "${{ matrix.runner }}",
-      "timeout-minutes": 120,
+      "timeout-minutes": 150,
       defaults: {
         run: {
           // GH actions does not fail fast by default on

filename: .github/workflows/ci.yml
patch: @@ -48,7 +48,7 @@ jobs:
       - pre_build
     if: '${{ needs.pre_build.outputs.skip_build != ''true'' }}'
     runs-on: '${{ matrix.runner }}'
-    timeout-minutes: 120
+    timeout-minutes: 150
     defaults:
       run:
         shell: bash
Repository: denoland/deno
Pull request: feat: do not require `DENO_FUTURE=1` for npmrc support

We were initially only adding this to deno_future because it was going to land in a patch release. We can remove this now though.

Changed files:
filename: cli/args/mod.rs
patch: @@ -558,10 +558,6 @@ pub fn discover_npmrc(
   maybe_package_json_path: Option<PathBuf>,
   maybe_deno_json_path: Option<PathBuf>,
 ) -> Result<(Arc<ResolvedNpmRc>, Option<PathBuf>), AnyError> {
-  if !*DENO_FUTURE {
-    return Ok((create_default_npmrc(), None));
-  }
-
   const NPMRC_NAME: &str = ".npmrc";
 
   fn get_env_var(var_name: &str) -> Option<String> {

filename: tests/integration/lsp_tests.rs
patch: @@ -8866,7 +8866,6 @@ fn lsp_npmrc() {
     .use_http_server()
     .use_temp_cwd()
     .add_npm_env_vars()
-    .env("DENO_FUTURE", "1")
     .build();
   let temp_dir = context.temp_dir();
   temp_dir.write(

filename: tests/specs/npm/npmrc/__test__.jsonc
patch: @@ -1,13 +1,21 @@
 {
-  "envs": {
-    "DENO_FUTURE": "1"
-  },
   "tempDir": true,
-  "steps": [{
-    "args": "install",
-    "output": "install.out"
-  }, {
-    "args": "run -A main.js",
-    "output": "main.out"
-  }]
+  "tests": {
+    "deno_install": {
+      "envs": {
+        "DENO_FUTURE": "1"
+      },
+      "steps": [{
+        "args": "install",
+        "output": "install.out"
+      }, {
+        "args": "run -A main.js",
+        "output": "main.out"
+      }]
+    },
+    "run_node_modules_dir": {
+      "args": "run --node-modules-dir -A --quiet main.js",
+      "output": "main.out"
+    }
+  }
 }
Repository: ggml-org/llama.cpp
Pull request: opencl : fix memory allocation size

issue:
https://github.com/CodeLinaro/llama.cpp/pull/17#issuecomment-2760611283

This patch fixes the memory allocation size
not exceeding the maximum size of the OpenCL device.


Changed files:
filename: ggml/src/ggml-opencl/ggml-opencl.cpp
patch: @@ -921,10 +921,33 @@ static ggml_backend_opencl_context * ggml_cl2_init(ggml_backend_dev_t dev) {
     backend_ctx->program_CL_gemm = build_program_from_source(context, device, kernel_src_CL_gemm.c_str(), compile_opts);
     CL_CHECK((backend_ctx->CL_mul_mat_Ab_Bi_8x4 = clCreateKernel(backend_ctx->program_CL_gemm, "kernel_mul_mat_Ab_Bi_8x4", &err), err));
 
+    // TODO: fixme: these sizes are hardcoded for now.
+    //  they should be allocated based on the model's size
+    //  and the device's max alloc size
+    size_t max_alloc_size;
+    CL_CHECK(clGetDeviceInfo(device, CL_DEVICE_MAX_MEM_ALLOC_SIZE, sizeof(size_t), &max_alloc_size, NULL));
+
     // Allocate intermediate buffers and images
-    size_t max_A_q_d_bytes = 311164928;
-    size_t max_A_s_d_bytes = 38895616;
-    size_t max_B_d_bytes = 45088768;
+    size_t required_A_q_d_bytes = 311164928;
+    size_t required_A_s_d_bytes = 38895616;
+    size_t required_B_d_bytes = 45088768;
+
+    // Ensure buffer sizes do not exceed the maximum allocation size
+    size_t max_A_q_d_bytes = MIN(required_A_q_d_bytes, max_alloc_size);
+    size_t max_A_s_d_bytes = MIN(required_A_s_d_bytes, max_alloc_size);
+    size_t max_B_d_bytes   = MIN(required_B_d_bytes, max_alloc_size);
+    if (required_A_q_d_bytes > max_alloc_size) {
+        GGML_LOG_WARN("ggml_opencl: A_q_d buffer size reduced from %zu to %zu due to device limitations.\n",
+                      required_A_q_d_bytes, max_A_q_d_bytes);
+    }
+    if (required_A_s_d_bytes > max_alloc_size) {
+        GGML_LOG_WARN("ggml_opencl: A_s_d buffer size reduced from %zu to %zu due to device limitations.\n",
+                      required_A_s_d_bytes, max_A_s_d_bytes);
+    }
+    if (required_B_d_bytes > max_alloc_size) {
+        GGML_LOG_WARN("ggml_opencl: B_d buffer size reduced from %zu to %zu due to device limitations.\n",
+                      required_B_d_bytes, max_B_d_bytes);
+    }
 
     CL_CHECK((backend_ctx->A_q_d_max = clCreateBuffer(context, 0, max_A_q_d_bytes, NULL, &err), err));
     CL_CHECK((backend_ctx->A_s_d_max = clCreateBuffer(context, 0, max_A_s_d_bytes, NULL, &err), err));
Repository: ggml-org/llama.cpp
Pull request: convert : BailingMoE : fix qkv split when head_dim is 0

Missed second head_dim usage in #12678.

Cleaner assignment as well.

Edit: The Ling-lite-base model is still broken though until [PR#2](https://huggingface.co/inclusionAI/Ling-lite-base/discussions/2) is merged.

@bartowski1182 @nicoboss

Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -5146,10 +5146,7 @@ def set_vocab(self):
     def set_gguf_parameters(self):
         super().set_gguf_parameters()
         hparams = self.hparams
-        if hparams.get("head_dim"):
-            rope_dim = hparams["head_dim"]
-        else:
-            rope_dim = hparams["hidden_size"] // hparams["num_attention_heads"]
+        rope_dim = hparams.get("head_dim") or hparams["hidden_size"] // hparams["num_attention_heads"]
 
         self.gguf_writer.add_rope_dimension_count(rope_dim)
         self.gguf_writer.add_rope_scaling_type(gguf.RopeScalingType.NONE)
@@ -5175,7 +5172,7 @@ def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iter
         n_head = self.hparams["num_attention_heads"]
         n_kv_head = self.hparams.get("num_key_value_heads")
         n_embd = self.hparams["hidden_size"]
-        head_dim = self.hparams.get("head_dim", n_embd // n_head)
+        head_dim = self.hparams.get("head_dim") or n_embd // n_head
 
         output_name = self.format_tensor_name(gguf.MODEL_TENSOR.OUTPUT)
Repository: ggml-org/llama.cpp
Pull request: use LLM_KV instead of gguf_find_key

Hi, I found this TODO while reading the `llama_model_loader` code, so I imported `LLM_KV_GENERAL_FILE_TYPE` according to `gguf.py` and completed it.

I ran the CI locally and everything passed successfully.

This is my second PR. Please feel free to let me know if there's anything I should improve or adjust.

Changed files:
filename: src/llama-arch.cpp
patch: @@ -75,6 +75,7 @@ static const std::map<llm_kv, const char *> LLM_KV_NAMES = {
     { LLM_KV_GENERAL_ARCHITECTURE,         "general.architecture"                  },
     { LLM_KV_GENERAL_QUANTIZATION_VERSION, "general.quantization_version"          },
     { LLM_KV_GENERAL_ALIGNMENT,            "general.alignment"                     },
+    { LLM_KV_GENERAL_FILE_TYPE,            "general.file_type"                     },
     { LLM_KV_GENERAL_NAME,                 "general.name"                          },
     { LLM_KV_GENERAL_AUTHOR,               "general.author"                        },
     { LLM_KV_GENERAL_VERSION,              "general.version"                       },

filename: src/llama-arch.h
patch: @@ -79,6 +79,7 @@ enum llm_kv {
     LLM_KV_GENERAL_ARCHITECTURE,
     LLM_KV_GENERAL_QUANTIZATION_VERSION,
     LLM_KV_GENERAL_ALIGNMENT,
+    LLM_KV_GENERAL_FILE_TYPE,
     LLM_KV_GENERAL_NAME,
     LLM_KV_GENERAL_AUTHOR,
     LLM_KV_GENERAL_VERSION,

filename: src/llama-model-loader.cpp
patch: @@ -640,9 +640,9 @@ llama_model_loader::llama_model_loader(
         ftype = (llama_ftype) (ftype | LLAMA_FTYPE_GUESSED);
 
         {
-            const int kid = gguf_find_key(meta.get(), "general.file_type"); // TODO: use LLM_KV
-            if (kid >= 0) {
-                ftype = (llama_ftype) gguf_get_val_u32(meta.get(), kid);
+            uint32_t ftype_val = 0;
+            if (get_key(LLM_KV_GENERAL_FILE_TYPE, ftype_val, false)) {
+                ftype = (llama_ftype) ftype_val;
             }
         }
Repository: facebook/react
Pull request: Fix typo in ReactDOMServerFormatConfig.js

Fix typo:

TOOD -> TODO

Changed files:
filename: packages/react-dom/src/server/ReactDOMServerFormatConfig.js
patch: @@ -1706,7 +1706,7 @@ export function writeEndSegment(
 //   // Clear all the existing children. This is complicated because
 //   // there can be embedded Suspense boundaries in the fallback.
 //   // This is similar to clearSuspenseBoundary in ReactDOMHostConfig.
-//   // TOOD: We could avoid this if we never emitted suspense boundaries in fallback trees.
+//   // TODO: We could avoid this if we never emitted suspense boundaries in fallback trees.
 //   // They never hydrate anyway. However, currently we support incrementally loading the fallback.
 //   const parentInstance = suspenseNode.parentNode;
 //   let node = suspenseNode.nextSibling;
Repository: denoland/deno
Pull request: feat: add lowercase `-v` version flag

I accidentally do `-v` all the time. Please let's add this.

Ref https://github.com/denoland/deno/issues/5289

Changed files:
filename: cli/args/flags.rs
patch: @@ -1236,6 +1236,15 @@ fn clap_root() -> Command {
     .long_version(long_version)
     // cause --unstable flags to display at the bottom of the help text
     .next_display_order(1000)
+    .disable_version_flag(true)
+    .arg(
+      Arg::new("version")
+        .short('V')
+        .short_alias('v')
+        .long("version")
+        .action(ArgAction::Version)
+        .help("Print version")
+    )
     .arg(
       Arg::new("unstable")
         .long("unstable")

filename: tests/specs/flags/version_flag/__test__.jsonc
patch: @@ -1,9 +1,16 @@
 {
-  "steps": [{
-    "args": "-V",
-    "output": "[WILDCARD]"
-  }, {
-    "args": "--version",
-    "output": "[WILDCARD]"
-  }]
+  "tests": {
+    "uppercase_v": {
+      "args": "-V",
+      "output": "[WILDCARD]"
+    },
+    "lowercase_v": {
+      "args": "-v",
+      "output": "[WILDCARD]"
+    },
+    "long_version": {
+      "args": "--version",
+      "output": "[WILDCARD]"
+    }
+  }
 }
Repository: electron/electron
Pull request: ci: auto label bug issues with platform

#### Description of Change

<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.

Contributors guide: https://github.com/electron/electron/blob/main/CONTRIBUTING.md
-->

What it says on the tin.

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included and stakeholders cc'd

#### Release Notes

Notes: none <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->


Changed files:
filename: .github/workflows/issue-opened.yml
patch: @@ -86,6 +86,29 @@ jobs:
               }
             }
 
+            const operatingSystems = select('heading:has(> text[value="What operating system(s) are you using?"]) + paragraph > text', tree)?.value.trim().split(', ');
+            const platformLabels = new Set();
+            for (const operatingSystem of (operatingSystems ?? [])) {
+              switch (operatingSystem) {
+                case 'Windows':
+                  platformLabels.add('platform/windows');
+                  break;
+                case 'macOS':
+                  platformLabels.add('platform/macOS');
+                  break;
+                case 'Ubuntu':
+                case 'Other Linux':
+                  platformLabels.add('platform/linux');
+                  break;
+              }
+            }
+
+            if (platformLabels.size === 3) {
+              labels.push('platform/all');
+            } else {
+              labels.push(...platformLabels);
+            }
+
             const gistUrl = select('heading:has(> text[value="Testcase Gist URL"]) + paragraph > text', tree)?.value.trim();
             if (gistUrl !== undefined && gistUrl.startsWith('https://gist.github.com/')) {
               labels.push('has-repro-gist');