helloadhavan/github_issues huggingface dataset:
Repository: vuejs/vue
Pull request: feat(types): add  type  in ReservedProps

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [ ] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [ ] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [x] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**
Fix [#12758](https://github.com/vuejs/vue/issues/)

Changed files:
filename: types/test/v3/tsx-test.tsx
patch: @@ -1,4 +1,4 @@
-import { VNode, defineComponent } from '../../index'
+import { VNode, defineComponent, ref } from '../../index'
 import { expectType } from '../utils'
 
 expectType<VNode>(<div />)
@@ -22,6 +22,11 @@ expectError(<div foo="bar" />)
 expectType<JSX.Element>(<div key="foo" />)
 expectType<JSX.Element>(<div ref="bar" />)
 
+// allow Ref type type on arbitrary element
+const fooRef = ref<HTMLElement>()
+expectType<JSX.Element>(<div ref={fooRef} />)
+expectType<JSX.Element>(<div ref={(el) => {fooRef.value = el as HTMLElement}} />)
+
 expectType<JSX.Element>(
   <input
     onInput={e => {

filename: types/vnode.d.ts
patch: @@ -1,5 +1,7 @@
 import { Vue } from './vue'
 import { DirectiveFunction, DirectiveOptions } from './options'
+import { Ref } from './v3-generated'
+import { ComponentPublicInstance } from './v3-component-public-instance'
 
 /**
  * For extending allowed non-declared props on components in TSX
@@ -65,11 +67,19 @@ export interface VNodeComponentOptions {
   tag?: string
 }
 
+export type VNodeRef =
+  | string
+  | Ref
+  | ((
+      ref: Element | ComponentPublicInstance | null,
+      refs: Record<string, any>
+    ) => void)
+
 export interface VNodeData {
   key?: string | number
   slot?: string
   scopedSlots?: { [key: string]: ScopedSlot | undefined }
-  ref?: string
+  ref?: VNodeRef
   refInFor?: boolean
   tag?: string
   staticClass?: string
Repository: huggingface/transformers
Pull request: fix the error of tests/quantization/fbgemm_fp8/test_fbgemm_fp8.py::Fb…

…gemmFp8Test::test_change_loading_attributes

- quantization: @SunMarc @MekkCyber
input_scale_ub is not correctly updated, since replace_with_fbgemm_fp8_linear is called under meta device.

Changed files:
filename: src/transformers/integrations/fbgemm_fp8.py
patch: @@ -310,12 +310,6 @@ def replace_with_fbgemm_fp8_linear(
         if new_module is None:
             continue
 
-        if hasattr(new_module, "input_scale_ub"):
-            new_module.input_scale_ub = torch.tensor(
-                [quantization_config.activation_scale_ub],
-                dtype=torch.float,
-            )
-
         model.set_submodule(module_name, new_module)
         has_been_replaced = True
 

filename: src/transformers/quantizers/quantizer_fbgemm_fp8.py
patch: @@ -127,6 +127,20 @@ def _process_model_before_weight_loading(
             tp_plan=model._tp_plan,
         )
 
+    def _process_model_after_weight_loading(self, model, **kwargs):
+        """
+        Force update the input scale upper bound after weight loading and device dispatch are complete.
+        This resolves issues where persistent buffers are zeroed out or overwritten during the loading process.
+        """
+        from ..integrations.fbgemm_fp8 import FbgemmFp8Linear, FbgemmFp8Llama4TextExperts
+
+        for m in model.modules():
+            if isinstance(m, (FbgemmFp8Linear, FbgemmFp8Llama4TextExperts)):
+                if hasattr(m, "input_scale_ub"):
+                    # The model is now on the target device, so we can use fill_ directly.
+                    m.input_scale_ub.fill_(self.quantization_config.activation_scale_ub)
+        return model
+
     def update_tp_plan(self, config):
         if "Llama4" in config.__class__.__name__:
             text_plan = {

filename: tests/quantization/fbgemm_fp8/test_fbgemm_fp8.py
patch: @@ -226,7 +226,6 @@ def test_change_loading_attributes(self):
             self.assertTrue(self.tokenizer.decode(output[0], skip_special_tokens=True) in self.EXPECTED_OUTPUT)
 
     @require_torch_multi_accelerator
-    @require_deterministic_for_xpu
     def test_quantized_model_multi_gpu(self):
         """
         Simple test that checks if the quantized model is working properly with multiple GPUs
Repository: ollama/ollama
Pull request: readme: update the llama.cpp github link

A nit update to reach the llama.cpp project without URL redirection.

Changed files:
filename: README.md
patch: @@ -598,7 +598,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 
 ### Supported backends
 
-- [llama.cpp](https://github.com/ggerganov/llama.cpp) project founded by Georgi Gerganov.
+- [llama.cpp](https://github.com/ggml-org/llama.cpp) project founded by Georgi Gerganov.
 
 ### Observability
 - [Opik](https://www.comet.com/docs/opik/cookbook/ollama) is an open-source platform to debug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards. Opik supports native intergration to Ollama.
Repository: nodejs/node
Pull request: test: restraint version replacement pattern in snapshots

In release workflows, the project root may contain the version of the binary. This restrains the replacement pattern of Node.js version to be more specific to the version in error outputs.

Refs: https://github.com/nodejs/node/pull/61739#issuecomment-3868591475

Changed files:
filename: test/common/assertSnapshot.js
patch: @@ -14,7 +14,7 @@ const windowNewlineRegexp = /\r/g;
 // placeholder. This could commonly present in an unhandled exception
 // output.
 function replaceNodeVersion(str) {
-  return str.replaceAll(process.version, '<node-version>');
+  return str.replaceAll(`Node.js ${process.version}`, 'Node.js <node-version>');
 }
 
 function replaceStackTrace(str, replacement = '$1*$7$8\n') {
Repository: vuejs/vue
Pull request: fix(types): fix error with options watch

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [ ] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [x] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**


Changed files:
filename: types/options.d.ts
patch: @@ -181,7 +181,7 @@ export interface ComponentOptions<
   propsData?: object
   computed?: Accessors<Computed>
   methods?: Methods
-  watch?: Record<string, WatchOptionsWithHandler<any> | WatchHandler<any>>
+  watch?: Record<string, WatchOptionsWithHandler<any> | WatchHandler<any> | Array<WatchOptionsWithHandler<any> | WatchHandler<any>>>
 
   setup?: (
     this: void,

filename: types/test/options-test.ts
patch: @@ -172,7 +172,14 @@ Vue.component('component', {
     d: {
       handler: 'someMethod',
       immediate: true
-    }
+    },
+    e: [
+      'handle1',
+      function handle2 (val, oldVal) {},
+      {
+        handler: function handle3 (val, oldVal) {},
+      }
+    ],
   },
   el: '#app',
   template: '<div>{{ message }}</div>',
Repository: facebook/react
Pull request: [DevTools] Don't suspend shell while retrieving original source for "open-in-editor"

I noticed in internal apps that inspecting an element took a while on the first click. I used the new Suspense tab to find what was suspending the shell :taps-head:

Before:

https://github.com/user-attachments/assets/26bcb5d0-c89e-4a11-8d49-06b7ca52ae21




After:


https://github.com/user-attachments/assets/f3839eda-cebb-445d-b329-92d7b13278c0



Changed files:
filename: packages/react-devtools-shared/src/devtools/views/Components/OpenInEditorButton.js
patch: @@ -23,7 +23,7 @@ type Props = {
   symbolicatedSourcePromise: Promise<SourceMappedLocation | null>,
 };
 
-function OpenInEditorButton({
+function OpenSymbolicatedSourceInEditorButton({
   editorURL,
   source,
   symbolicatedSourcePromise,
@@ -45,4 +45,17 @@ function OpenInEditorButton({
   );
 }
 
+function OpenInEditorButton(props: Props): React.Node {
+  return (
+    <React.Suspense
+      fallback={
+        <Button disabled={true} title="retrieving original source…">
+          <ButtonIcon type="editor" />
+        </Button>
+      }>
+      <OpenSymbolicatedSourceInEditorButton {...props} />
+    </React.Suspense>
+  );
+}
+
 export default OpenInEditorButton;
Repository: ollama/ollama
Pull request: Document the no-Modelfile function of `ollama create`


Changed files:
filename: cmd/cmd.go
patch: @@ -1418,13 +1418,13 @@ func NewCLI() *cobra.Command {
 
 	createCmd := &cobra.Command{
 		Use:     "create MODEL",
-		Short:   "Create a model from a Modelfile",
+		Short:   "Create a model",
 		Args:    cobra.ExactArgs(1),
 		PreRunE: checkServerHeartbeat,
 		RunE:    CreateHandler,
 	}
 
-	createCmd.Flags().StringP("file", "f", "", "Name of the Modelfile (default \"Modelfile\"")
+	createCmd.Flags().StringP("file", "f", "", "Name of the Modelfile (default \"Modelfile\")")
 	createCmd.Flags().StringP("quantize", "q", "", "Quantize model to this level (e.g. q4_K_M)")
 
 	showCmd := &cobra.Command{

filename: docs/import.md
patch: @@ -53,6 +53,8 @@ FROM /path/to/safetensors/directory
 
 If you create the Modelfile in the same directory as the weights, you can use the command `FROM .`.
 
+If you do not create the Modelfile, ollama will act as if there was a Modelfile with the command `FROM .`.
+
 Now run the `ollama create` command from the directory where you created the `Modelfile`:
 
 ```shell
Repository: vuejs/vue
Pull request: fix(12812): skip the component while creating observer

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [x] It's submitted to the ~~`dev`~~   `main` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [ ] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**

fix [#12812](https://github.com/vuejs/vue/issues/12812)

Changed files:
filename: src/core/observer/index.ts
patch: @@ -7,7 +7,6 @@ import {
   hasOwn,
   isArray,
   hasProto,
-  isObject,
   isPlainObject,
   isPrimitive,
   isUndef,
@@ -108,23 +107,21 @@ export function observe(
   shallow?: boolean,
   ssrMockReactivity?: boolean
 ): Observer | void {
-  if (!isObject(value) || isRef(value) || value instanceof VNode) {
-    return
+  if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
+    return value.__ob__
   }
-  let ob: Observer | void
-  if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
-    ob = value.__ob__
-  } else if (
+  if (
     shouldObserve &&
     (ssrMockReactivity || !isServerRendering()) &&
     (isArray(value) || isPlainObject(value)) &&
     Object.isExtensible(value) &&
     !value.__v_skip /* ReactiveFlags.SKIP */ &&
-    !rawMap.has(value)
+    !rawMap.has(value) &&
+    !isRef(value) &&
+    !(value instanceof VNode)
   ) {
-    ob = new Observer(value, shallow, ssrMockReactivity)
+    return new Observer(value, shallow, ssrMockReactivity)
   }
-  return ob
 }
 
 /**
Repository: vercel/next.js
Pull request: Turbopack: Clean up unused register!() macro argument in test

We don't need this argument now that @lukesandberg switched us to inventory.

We do still need some top-level macro and the `Registration` object to resolve the `test_config.trs` file relative to the currently-running test, though we could rename them if anyone thinks of a better name for it, now that it isn't doing function registration.

Changed files:
filename: turbopack/crates/turbo-tasks-fetch/tests/fetch.rs
patch: @@ -12,7 +12,7 @@ use turbo_tasks_fs::{DiskFileSystem, FileSystem, FileSystemPath};
 use turbo_tasks_testing::{Registration, register, run_once};
 use turbopack_core::issue::{Issue, IssueSeverity};
 
-static REGISTRATION: Registration = register!(turbo_tasks_fetch::register);
+static REGISTRATION: Registration = register!();
 
 /// We inspect information about the global client cache, so *every* test in this process *must*
 /// acquire and hold this lock to prevent potential flakiness.

filename: turbopack/crates/turbo-tasks-testing/src/run.rs
patch: @@ -20,7 +20,7 @@ impl Registration {
 
 #[macro_export]
 macro_rules! register {
-    ($($other_register_fns:expr),* $(,)?) => {{
+    () => {{
         use std::sync::Arc;
 
         use turbo_tasks::TurboTasksApi;

filename: turbopack/crates/turbopack-analyze/tests/split_chunk.rs
patch: @@ -18,7 +18,7 @@ use turbopack_core::{
     source_map::GenerateSourceMap,
 };
 
-static REGISTRATION: Registration = register!(turbo_tasks_fetch::register);
+static REGISTRATION: Registration = register!();
 
 #[tokio::test(flavor = "multi_thread", worker_threads = 2)]
 async fn split_chunk() {
Repository: electron/electron
Pull request: fix: return early from platform_util::Beep() on Linux if there is no default GDK display

#### Description of Change

Adds a missing null check for when `gdk_display_get_default()` returns `NULL`.

Should fix #49436.

#### Checklist

- [x] PR description included
- [x] [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: Fixed crash in platform_util::Beep() on Linux


Changed files:
filename: shell/common/platform_util_linux.cc
patch: @@ -406,6 +406,8 @@ bool PlatformTrashItem(const base::FilePath& full_path, std::string* error) {
 
 void Beep() {
   auto* display = gdk_display_get_default();
+  if (!display)
+    return;
   gdk_display_beep(display);
 }
Repository: nodejs/node
Pull request: repl: fix FileHandle leak in history initialization

## Summary

This PR fixes a `FileHandle` leak in `lib/internal/repl/history.js` that causes `ERR_INVALID_STATE` when garbage collection occurs.

If an error occurs during `kInitializeHistory` (specifically within the `try` block that includes `kFlushHistory`), the open `FileHandle` (`this[kHistoryHandle]`) was not being explicitly closed before delegating to `kHandleHistoryInitError`. This led to the handle being closed by the garbage collector, triggering the error.

This fixes the regression observed in `test-repl-programmatic-history`.

## References

- CI Failure: https://ci.nodejs.org/job/node-test-commit-linux-containered/nodes=ubuntu2404_sharedlibs_shared_x64/54482/testReport/junit/(root)/parallel/test_repl_programmatic_history/


Fixes #61578

Changed files:
filename: lib/internal/repl/history.js
patch: @@ -327,6 +327,7 @@ class ReplHistory {
 
       await this[kFlushHistory]();
     } catch (err) {
+      await this[kCloseHandle]();
       return this[kHandleHistoryInitError](err, onReadyCallback);
     }
   }

filename: test/parallel/test-repl-history-init-fail-leak.js
patch: @@ -0,0 +1,56 @@
+'use strict';
+// Flags: --expose-internals
+
+const common = require('../common');
+const fs = require('fs');
+const path = require('path');
+const { ReplHistory } = require('internal/repl/history');
+const assert = require('assert');
+
+const tmpdir = require('../common/tmpdir');
+tmpdir.refresh();
+
+const historyPath = path.join(tmpdir.path, '.node_repl_history');
+
+fs.writeFileSync(historyPath, 'dummy\n');
+
+const originalOpen = fs.promises.open;
+let closeCalled = false;
+
+fs.promises.open = async (filepath, flags, mode) => {
+  const handle = await originalOpen(filepath, flags, mode);
+
+  if (flags === 'r+' && filepath === historyPath) {
+    handle.truncate = async (len) => {
+      throw new Error('Mock truncate error');
+    };
+
+    const originalClose = handle.close;
+    handle.close = async () => {
+      closeCalled = true;
+      return originalClose.call(handle);
+    };
+  }
+
+  return handle;
+};
+
+const context = {
+  historySize: 30,
+  on: () => {},
+  once: () => {},
+  emit: () => {},
+  pause: () => {},
+  resume: () => {},
+  off: () => {},
+  line: '',
+  _historyPrev: () => {},
+  _writeToOutput: () => {}
+};
+
+const history = new ReplHistory(context, { filePath: historyPath });
+
+history.initialize(common.mustCall((err) => {
+  assert.strictEqual(err, null);
+  assert.strictEqual(closeCalled, true);
+}));
Repository: ggml-org/llama.cpp
Pull request: imatrix: fix crash when using --show-statistics with zero counts

This fixes the floating point exception crash reported in bug #19190 when running llama-imatrix with --show-statistics on files containing zero count values. The fix adds proper checks before division operations and handles edge cases where all counts are zero.

Changed files:
filename: tools/imatrix/imatrix.cpp
patch: @@ -143,11 +143,20 @@ static void compute_statistics(std::vector<tensor_statistics> & tstats, const st
     activations.reserve(e.values.size());
 
     for (int i = 0; i < n_mat; ++i) {
+        if (e.counts[i] == 0) {
+            LOG_DBG("%s: skipping tensor %s due to zero count at index %d\n", __func__, name.c_str(), i);
+            continue;
+        }
         for (int j = 0; j < row_size; ++j) {
             activations.push_back(e.values[i*row_size + j] / e.counts[i]);
         }
     }
 
+    if (activations.empty()) {
+        LOG_ERR("%s: all counts are zero for tensor %s, skipping statistics computation\n", __func__, name.c_str());
+        return;
+    }
+
     const float act_total     = std::accumulate(activations.begin(), activations.end(), 0.0f);
     const float act_max       = *std::max_element(activations.begin(), activations.end());
     const float act_min       = *std::min_element(activations.begin(), activations.end());
@@ -1142,10 +1151,12 @@ static bool show_statistics(const common_params & params) {
             blk = -1;  // not a block layer
         }
 
+        const float entropy_norm = (tstat.elements > 0) ? 100.0f * (tstat.entropy / std::log2(tstat.elements)) : 0.0f;
+
         LOG_INF("%5s\t%-20s\t%10.2f\t%8.4f\t%11.4f\t%6.2f\t%6.2f\t%8.2f%%\t%6d\t%10.4f\t%6.2f%%\t%10.2f%%\t%8.4f\n",
                 layer.c_str(), name.c_str(), tstat.total_sqract, tstat.min_sqract, tstat.max_sqract, tstat.mean_sqract,
                 tstat.stddev, tstat.active * 100.0f, tstat.elements, tstat.entropy,
-                100.0f * (tstat.entropy / std::log2(tstat.elements)), 100.0f * tstat.zd, tstat.cossim);
+                entropy_norm, 100.0f * tstat.zd, tstat.cossim);
 
         const float weighted_bias   = tstat.elements * tstat.total_sqract;
         const float weighted_zd     = tstat.elements * tstat.zd;
Repository: electron/electron
Pull request: fix: menu state in macOS dock menus

#### Description of Change

Closes https://github.com/electron/electron/issues/49573

Fixes dock menu not properly supporting enabled, checked, and icon MenuItem properties. The issue was that `menuWillOpen:` isn't called by macOS for dock menus before they are displayed. The enabled, checked, and hidden states were only being applied in `refreshMenuTree`, which is called from `menuWillOpen:`. Since that delegate method doesn't fire for dock menus, the state was never applied.

This PR explicitly calls `refreshMenuTree` `in applicationDockMenu:` before returning the menu to macOS, ensuring the current model state is applied.

cc @Kilian 

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included
- [x] `npm test` passes
- [x] [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: Fixed dock menu items not respecting enabled and checked properties on macOS.


Changed files:
filename: shell/browser/mac/electron_application_delegate.mm
patch: @@ -109,7 +109,14 @@ - (void)applicationDidResignActive:(NSNotification*)notification {
 }
 
 - (NSMenu*)applicationDockMenu:(NSApplication*)sender {
-  return menu_controller_ ? menu_controller_.menu : nil;
+  if (!menu_controller_)
+    return nil;
+
+  // Manually refresh menu state since menuWillOpen: is not called
+  // by macOS for dock menus for some reason before they are displayed.
+  NSMenu* menu = menu_controller_.menu;
+  [menu_controller_ refreshMenuTree:menu];
+  return menu;
 }
 
 - (BOOL)application:(NSApplication*)sender openFile:(NSString*)filename {

filename: shell/browser/ui/cocoa/electron_menu_controller.h
patch: @@ -57,6 +57,10 @@ class ElectronMenuModel;
 // Whether the menu is currently open.
 - (BOOL)isMenuOpen;
 
+// Recursively refreshes the menu tree starting from |menu|, applying the
+// model state (enabled, checked, hidden etc) to each menu item.
+- (void)refreshMenuTree:(NSMenu*)menu;
+
 // NSMenuDelegate methods this class implements. Subclasses should call super
 // if extending the behavior.
 - (void)menuWillOpen:(NSMenu*)menu;

filename: shell/browser/ui/cocoa/electron_menu_controller.mm
patch: @@ -493,8 +493,6 @@ - (void)applyStateToMenuItem:(NSMenuItem*)item {
                                              : NSControlStateValueOff;
 }
 
-// Recursively refreshes the menu tree starting from |menu|, applying the
-// model state to each menu item.
 - (void)refreshMenuTree:(NSMenu*)menu {
   for (NSMenuItem* item in menu.itemArray) {
     [self applyStateToMenuItem:item];