helloadhavan/github_issues huggingface dataset:
Repository: vuejs/vue
Pull request: [automated] Patreon sponsors update

This is an automated pull request.

Changed files:
filename: BACKERS.md
patch: @@ -305,6 +305,16 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
           <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tatvasoft.png">
         </a>
       </td>
+      <td align="center" valign="middle">
+        <a href="https://www.aceonlinecasino.co.uk" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/onyx_gaming_limited.svg?sanitize=true">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="http://www.lendio.com" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/lendio.png">
+        </a>
+      </td>
     </tr><tr></tr>
   </tbody>
 </table>
@@ -374,6 +384,11 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
           <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/doximity.png">
         </a>
       </td>
+      <td align="center" valign="middle">
+        <a href="https://www.empiricus.com.br/" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/empiricus.png">
+        </a>
+      </td>
     </tr><tr></tr>
   </tbody>
 </table>

filename: README.md
patch: @@ -310,6 +310,16 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
           <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tatvasoft.png">
         </a>
       </td>
+      <td align="center" valign="middle">
+        <a href="https://www.aceonlinecasino.co.uk" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/onyx_gaming_limited.svg?sanitize=true">
+        </a>
+      </td>
+      <td align="center" valign="middle">
+        <a href="http://www.lendio.com" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/lendio.png">
+        </a>
+      </td>
     </tr><tr></tr>
   </tbody>
 </table>
Repository: nodejs/node
Pull request: doc: correct tools README Boxstarter link

## Current documentation

The [tools/bootstrap/README.md](https://github.com/nodejs/node/blob/main/tools/bootstrap/README.md) links back to the bookmark https://github.com/nodejs/node/blob/main/BUILDING.md#option-2-automated-install-with-boxstarter.

This section was however moved by the addition of WinGet through PR https://github.com/nodejs/node/pull/55356 and option 2 became option 3.

## Change

Update the [tools/bootstrap/README.md](https://github.com/nodejs/node/blob/main/tools/bootstrap/README.md) to link to https://github.com/nodejs/node/blob/main/BUILDING.md#option-3-automated-install-with-boxstarter.

## Branch applicability

The link is incorrect in branches v25.x & v24.x & v22.x

Since the WinGet installation method was not added to the [v20.x/BUILDING.md](https://github.com/nodejs/node/blob/v20.x/BUILDING.md), this PR should not be backported to the v20.x branch. The [v20.x/tools/bootstrap/README.md](https://github.com/nodejs/node/blob/v20.x/tools/bootstrap/README.md) contains a correct link.

Changed files:
filename: tools/bootstrap/README.md
patch: @@ -1,2 +1,2 @@
-Refer to [BUILDING.md](../../BUILDING.md#option-2-automated-install-with-boxstarter) for
+Refer to [BUILDING.md](../../BUILDING.md#option-3-automated-install-with-boxstarter) for
 instructions on how to build Node.js with boxstarter.
Repository: ollama/ollama
Pull request: skip tokenizer.model if possible

if tokenizer.json is already present, skip tokenizer.model

Changed files:
filename: parser/parser.go
patch: @@ -292,13 +292,18 @@ func filesForModel(path string) ([]string, error) {
 	}
 	files = append(files, js...)
 
-	if tks, _ := glob(filepath.Join(path, "tokenizer.model"), "application/octet-stream"); len(tks) > 0 {
-		// add tokenizer.model if it exists, tokenizer.json is automatically picked up by the previous glob
-		// tokenizer.model might be a unresolved git lfs reference; error if it is
-		files = append(files, tks...)
-	} else if tks, _ := glob(filepath.Join(path, "**/tokenizer.model"), "text/plain"); len(tks) > 0 {
-		// some times tokenizer.model is in a subdirectory (e.g. meta-llama/Meta-Llama-3-8B)
-		files = append(files, tks...)
+	// only include tokenizer.model is tokenizer.json is not present
+	if !slices.ContainsFunc(files, func(s string) bool {
+		return slices.Contains(strings.Split(s, string(os.PathSeparator)), "tokenizer.json")
+	}) {
+		if tks, _ := glob(filepath.Join(path, "tokenizer.model"), "application/octet-stream"); len(tks) > 0 {
+			// add tokenizer.model if it exists, tokenizer.json is automatically picked up by the previous glob
+			// tokenizer.model might be a unresolved git lfs reference; error if it is
+			files = append(files, tks...)
+		} else if tks, _ := glob(filepath.Join(path, "**/tokenizer.model"), "text/plain"); len(tks) > 0 {
+			// some times tokenizer.model is in a subdirectory (e.g. meta-llama/Meta-Llama-3-8B)
+			files = append(files, tks...)
+		}
 	}
 
 	return files, nil
Repository: facebook/react
Pull request: [DevTools] Fix display of stack frames with anonymous sources

I figured we omit `<anonymous>` intentionally in the ReactCallSite so we might as well omit it when displayed.

Before:
`Array.map @ :NaN`
<img width="918" height="366" alt="localhost_8080_ (1)" src="https://github.com/user-attachments/assets/0eb68f36-ec42-443f-a1f4-8381f7f246de" />


After:
`Array.map`
<img width="918" height="366" alt="localhost_8080_" src="https://github.com/user-attachments/assets/68e901db-743c-479d-97e5-f459c48f8969" />


Changed files:
filename: packages/react-devtools-shared/src/backend/utils/parseStackTrace.js
patch: @@ -52,8 +52,8 @@ function parseStackTraceFromChromeStack(
     if (filename === '<anonymous>') {
       filename = '';
     }
-    const line = +(parsed[3] || parsed[6]);
-    const col = +(parsed[4] || parsed[7]);
+    const line = +(parsed[3] || parsed[6] || 0);
+    const col = +(parsed[4] || parsed[7] || 0);
     parsedFrames.push([name, filename, line, col, 0, 0, isAsync]);
   }
   return parsedFrames;
@@ -235,6 +235,7 @@ function collectStackTrace(
 //     at name (filename:0:0)
 //     at filename:0:0
 //     at async filename:0:0
+//     at Array.map (<anonymous>)
 const chromeFrameRegExp =
   /^ *at (?:(.+) \((?:(.+):(\d+):(\d+)|\<anonymous\>)\)|(?:async )?(.+):(\d+):(\d+)|\<anonymous\>)$/;
 

filename: packages/react-devtools-shared/src/devtools/views/Components/StackTraceView.js
patch: @@ -63,13 +63,18 @@ export function CallSiteView({
   return (
     <div className={styles.CallSite}>
       {functionName || virtualFunctionName}
-      {' @ '}
-      <span
-        className={linkIsEnabled ? styles.Link : null}
-        onClick={viewSource}
-        title={url + ':' + line}>
-        {formatLocationForDisplay(url, line, column)}
-      </span>
+      {url !== '' && (
+        <>
+          {' @ '}
+          <span
+            className={linkIsEnabled ? styles.Link : null}
+            onClick={viewSource}
+            title={url + ':' + line}>
+            {formatLocationForDisplay(url, line, column)}
+          </span>
+        </>
+      )}
+
       <ElementBadges environmentName={environmentName} />
     </div>
   );

filename: packages/react-devtools-shared/src/devtools/views/Components/formatLocationForDisplay.js
patch: @@ -40,5 +40,9 @@ export default function formatLocationForDisplay(
     }
   }
 
+  if (line === 0) {
+    return nameOnly;
+  }
+
   return `${nameOnly}:${line}`;
 }
Repository: electron/electron
Pull request: ci: log mocha retries in spec runner

#### Description of Change

Currently CI silently retries failed tests in place up to three times. 

This PR adds logging to each of those attempts so it’s clear which expect line is failing before the next run starts. It disambiguates which logs belong to which attempt in case the tests print their own warnings/logs.

Example:
<img width="1237" height="376" alt="example" src="https://github.com/user-attachments/assets/8142bbdf-c074-45e3-b279-80cc637a3bf7" />

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included and stakeholders cc'd
- [x] `npm test` passes


#### Release Notes

Notes: none


Changed files:
filename: spec/index.js
patch: @@ -192,6 +192,14 @@ app.whenReady().then(async () => {
   chai.config.truncateThreshold = 0;
 
   const runner = mocha.run(cb);
+
+  const RETRY_EVENT = Mocha?.Runner?.constants?.EVENT_TEST_RETRY || 'retry';
+
+  runner.on(RETRY_EVENT, (test, err) => {
+    console.log(`Failure in test: "${test.fullTitle()}"`);
+    if (err?.stack) console.log(err.stack.split('\n').slice(0, 3).join('\n'));
+    console.log(`Retrying test (${test.currentRetry() + 1}/${test.retries()})...`);
+  });
 }).catch((err) => {
   console.error('An error occurred while running the spec runner');
   console.error(err);
Repository: vercel/next.js
Pull request: [test] consolidate the browser log test

Filter out the extra logging from test env so we only assert on the snapshot of forwarded logs
```
Snapshot name: `Terminal Logging (Webpack) App Router - Hydration Errors should show hydration errors with owner stack trace 1`

- Snapshot  - 1
+ Received  + 9

@@ -39,7 +39,15 @@
     6 |     <div>
  >  7 |       <p>{isClient ? 'client' : 'server'}</p>
       |       ^
     8 |     </div>
     9 |   )
-   10 | }
+   10 | }
+
+
+ [12:36:48.104Z] Browser Log: received ws message {"type":"isrManifest","data":{"/hydration-error":true}}
+
+ [12:36:48.104Z] Browser Log: Next.js page already hydrated
+
+ [12:36:48.109Z] Hydration complete for http://localhost:46145/hydration-error
  "
    at Object.toMatchInlineSnapshot (/root/actions-runner/_work/next.js/next.js/test/development/browser-logs/browser-logs.test.ts:317:33)
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:449:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)
```

Changed files:
filename: test/development/browser-logs/browser-logs.test.ts
patch: @@ -303,8 +303,10 @@ describe(`Terminal Logging (${bundlerName})`, () => {
       await retry(() => {
         const logOutput = logs.join('\n')
         // Find the hydration error log entry
+        // Stop at: another [browser] log, status indicators (○ ⨯),
+        // or timestamp-prefixed logs (e.g. "[12:34:56.789Z] Browser Log: ...")
         const hydrationMatch = logOutput.match(
-          /\[browser\].*Hydration[\s\S]*?(?=\n\[browser\]|\n *○|\n *⨯|$)/
+          /\[browser\].*Hydration[\s\S]*?(?=\n\[browser\]|\n *○|\n *⨯|\n *\[\d|$)/
         )
         expect(hydrationMatch).not.toBeNull()
         hydrationErrorLog = hydrationMatch![0]
Repository: vuejs/vue
Pull request: perf: preinitialize typeCheck RegExp

<!--
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)

- [ ] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [x] Other, please describe: Performance improvement

**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` 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)
- [ ] 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:**

After looking at the performance of one of my apps, I noticed, the function, that took the most time summed up was `getType()` , defined in [1] taking 200ms. I noticed the regular expression getting created for each call and measured again including the proposed improvement, which took the time down to 150ms. To make sure I changed it back to confirm and it again timed at 200ms.

[1]
https://github.com/vuejs/vue/blob/b07087deae060244fe5d9651b38dc5f1e79667a9/src/core/util/props.js#L182-L185




Changed files:
filename: src/core/util/props.js
patch: @@ -174,13 +174,15 @@ function assertType (value: any, type: Function): {
   }
 }
 
+const functionTypeCheckRE = /^\s*function (\w+)/
+
 /**
  * Use function string name to check built-in types,
  * because a simple equality check will fail when running
  * across different vms / iframes.
  */
 function getType (fn) {
-  const match = fn && fn.toString().match(/^\s*function (\w+)/)
+  const match = fn && fn.toString().match(functionTypeCheckRE)
   return match ? match[1] : ''
 }
Repository: vuejs/vue
Pull request: [automated] Patreon sponsors update

This is an automated pull request.

Changed files:
filename: BACKERS.md
patch: @@ -296,10 +296,15 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
     </tr><tr></tr>
     <tr>
       <td align="center" valign="middle">
-        <a href="https://ww.emqx.com" target="_blank">
+        <a href="https://www.emqx.com" target="_blank">
           <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/emq.png">
         </a>
       </td>
+      <td align="center" valign="middle">
+        <a href="https://www.tatvasoft.com/software-development-technology/vue-js-development-services" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tatvasoft.png">
+        </a>
+      </td>
     </tr><tr></tr>
   </tbody>
 </table>

filename: README.md
patch: @@ -301,10 +301,15 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
     </tr><tr></tr>
     <tr>
       <td align="center" valign="middle">
-        <a href="https://ww.emqx.com" target="_blank">
+        <a href="https://www.emqx.com" target="_blank">
           <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/emq.png">
         </a>
       </td>
+      <td align="center" valign="middle">
+        <a href="https://www.tatvasoft.com/software-development-technology/vue-js-development-services" target="_blank">
+          <img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tatvasoft.png">
+        </a>
+      </td>
     </tr><tr></tr>
   </tbody>
 </table>
Repository: huggingface/transformers
Pull request: Fix accelerate integration import 

# What does this PR do?

We need to move `get_module_size_with_ties` in transformers as the min version of accelerate 1.1.0 don't have this function. It was introduced in 1.2.0 actually . Another solution would be change the minimum version but I prefer not for now. 

Changed files:
filename: src/transformers/integrations/accelerate.py
patch: @@ -44,7 +44,7 @@
 if is_accelerate_available():
     from accelerate import dispatch_model
     from accelerate.utils import get_max_memory
-    from accelerate.utils.modeling import clean_device_map, get_max_layer_size, get_module_size_with_ties
+    from accelerate.utils.modeling import clean_device_map, get_max_layer_size
 
 if TYPE_CHECKING:
     from ..modeling_utils import PreTrainedModel
@@ -54,6 +54,42 @@
 logger = logging.get_logger(__name__)
 
 
+def get_module_size_with_ties(
+    tied_params,
+    module_size,
+    module_sizes,
+    modules_to_treat,
+) -> tuple[int, list[str], list[nn.Module]]:
+    """
+    Calculate the total size of a module, including its tied parameters.
+
+    Args:
+        tied_params (`List[str]`): The list of tied parameters.
+        module_size (`int`): The size of the module without tied parameters.
+        module_sizes (`Dict[str, int]`): A dictionary mapping each layer name to its size.
+        modules_to_treat (`List[Tuple[str, nn.Module]]`): The list of named modules to treat.
+
+    Returns:
+        `Tuple[int, List[str], List[nn.Module]]`: The total size of the module, the names of the tied modules, and the
+        tied modules.
+    """
+    if len(tied_params) < 1:
+        return module_size, [], []
+    tied_module_names = []
+    tied_modules = []
+
+    for tied_param in tied_params:
+        tied_module_index = [i for i, (n, _) in enumerate(modules_to_treat) if tied_param.startswith(n + ".")][0]
+        tied_module_names.append(modules_to_treat[tied_module_index][0])
+        tied_modules.append(modules_to_treat[tied_module_index][1])
+
+    module_size_with_ties = module_size
+    for tied_param, tied_module_name in zip(tied_params, tied_module_names):
+        module_size_with_ties += module_sizes[tied_module_name] - module_sizes[tied_param]
+
+    return module_size_with_ties, tied_module_names, tied_modules
+
+
 def check_and_set_device_map(device_map: "torch.device | int | str | dict | None") -> dict | str | None:
     from ..modeling_utils import get_torch_context_manager_or_global_device
Repository: ollama/ollama
Pull request: use nn.Linear in place of ml.Tensor

while nn.Linear.Forward isn't applicable for sparse MLP, it's still a nice container for the tensors

Changed files:
filename: model/models/llama4/model_text.go
patch: @@ -63,9 +63,9 @@ func (mlp *TextMLP) Forward(ctx ml.Context, hiddenStates ml.Tensor, opts *TextOp
 }
 
 type TextExperts struct {
-	Gate ml.Tensor `gguf:"ffn_gate_exps.weight"`
-	Up   ml.Tensor `gguf:"ffn_up_exps.weight"`
-	Down ml.Tensor `gguf:"ffn_down_exps.weight"`
+	Gate *nn.Linear `gguf:"ffn_gate_exps"`
+	Up   *nn.Linear `gguf:"ffn_up_exps"`
+	Down *nn.Linear `gguf:"ffn_down_exps"`
 }
 
 func (e *TextExperts) Forward(ctx ml.Context, hiddenStates, routerLogits ml.Tensor, opts *TextOptions) ml.Tensor {
@@ -76,9 +76,9 @@ func (e *TextExperts) Forward(ctx ml.Context, hiddenStates, routerLogits ml.Tens
 	hiddenStates = hiddenStates.Repeat(ctx, 1, opts.numExpertsUsed)
 	hiddenStates = hiddenStates.Mul(ctx, scores)
 
-	upStates := e.Up.MulmatID(ctx, hiddenStates, experts)
-	gateStates := e.Gate.MulmatID(ctx, hiddenStates, experts)
-	downStates := e.Down.MulmatID(ctx, upStates.Mul(ctx, gateStates.SILU(ctx)), experts)
+	upStates := e.Up.Weight.MulmatID(ctx, hiddenStates, experts)
+	gateStates := e.Gate.Weight.MulmatID(ctx, hiddenStates, experts)
+	downStates := e.Down.Weight.MulmatID(ctx, upStates.Mul(ctx, gateStates.SILU(ctx)), experts)
 
 	nextStates := downStates.View(ctx, 0, hiddenStates.Dim(0), downStates.Stride(2), hiddenStates.Dim(2))
 	for i := 1; i < opts.numExpertsUsed; i++ {

filename: model/models/qwen3/model.go
patch: @@ -66,9 +66,9 @@ type MLP interface {
 
 type sparse struct {
 	Router *nn.Linear `gguf:"ffn_gate_inp"`
-	Gate   ml.Tensor  `gguf:"ffn_gate_exps.weight"`
-	Up     ml.Tensor  `gguf:"ffn_up_exps.weight"`
-	Down   ml.Tensor  `gguf:"ffn_down_exps.weight"`
+	Gate   *nn.Linear `gguf:"ffn_gate_exps"`
+	Up     *nn.Linear `gguf:"ffn_up_exps"`
+	Down   *nn.Linear `gguf:"ffn_down_exps"`
 }
 
 func (mlp *sparse) Forward(ctx ml.Context, hiddenStates ml.Tensor, opts *Options) ml.Tensor {
@@ -87,13 +87,13 @@ func (mlp *sparse) Forward(ctx ml.Context, hiddenStates ml.Tensor, opts *Options
 
 	hiddenStates = hiddenStates.Reshape(ctx, hiddenStates.Dim(0), 1, hiddenStates.Dim(1))
 
-	upStates := mlp.Up.MulmatID(ctx, hiddenStates, selectedExperts)
+	upStates := mlp.Up.Weight.MulmatID(ctx, hiddenStates, selectedExperts)
 
-	hiddenStates = mlp.Gate.MulmatID(ctx, hiddenStates, selectedExperts)
+	hiddenStates = mlp.Gate.Weight.MulmatID(ctx, hiddenStates, selectedExperts)
 	hiddenStates = hiddenStates.SILU(ctx)
 	hiddenStates = hiddenStates.Mul(ctx, upStates)
 
-	experts := mlp.Down.MulmatID(ctx, hiddenStates, selectedExperts)
+	experts := mlp.Down.Weight.MulmatID(ctx, hiddenStates, selectedExperts)
 	experts = experts.Mul(ctx, routingWeights)
 
 	nextStates := experts.View(ctx, 0, experts.Dim(0), experts.Stride(2), experts.Dim(2))
Repository: vuejs/vue
Pull request: [automated] Patreon backers update (Oct 2021

This is an automated pull request.

Changed files:
filename: BACKERS.md
patch: @@ -462,26 +462,27 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
 - Yoshitaka M
 - Peter Imburg
 - Johnny Ray Austin
-- errorrik 
 - Wasim Khamlichi
 <!--50 end-->
 
 <h2 align="center">Backers via Patreon</h2>
 
 <!--10 start-->
-- Felix Mok
+- Kevin López Brante
 - Keisuke Kita
+- Mok Wang Quan
+- Jeffrey Rennie
 - Meinhard Dam
 - Роман Латкин
 - Alex Riviere
 - WhereJuly
 - Fontis 
 - Jack 
+- Artur Bańka
 - Traversy Media
 - Pierre Baron
 - Donghai Gai
 - Aleksander Figiel
-- Dennis Zanetti
 - wickedwei 
 - Sunny Yuen
 - Jules 
@@ -492,15 +493,16 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
 - Roy Segall
 - Allan McKernan
 - Diana Bergholz
+- Philip John Basile
 - Riki Fridrich
 - Alfonso Herrera
 - Bichinger Software & Consulting
 - username
 - Pierre Lebrun
 - Peter Matkovsky
 - 龙腾道 
-- Nick Dandakis
-- Jeffrey Rennie
+- Theo Ephraim
+- Yusuke Kawabata
 - Shawn Wildermuth
 - Elon Hung
 - Juan Bermudez
@@ -531,7 +533,7 @@ Funds donated via Patreon go directly to support Evan You's full-time work on Vu
 - Wen-Tien Chang
 - Stephen Hartley
 - Victor Tolbert
-- Yusuke Kawabata
+- Nick Dandakis
 <!--10 end-->
 
 <h2 align="center">Backers via OpenCollective</h2>
Repository: ollama/ollama
Pull request: README.md : Community : Terminal : add ollama-multirun

Add to Community : Terminal section of README.md:

ollama-multirun - A bash shell script to run a single prompt against any or all of your locally installed ollama models, saving the output and performance statistics as easily navigable web pages.

Repo: https://github.com/attogram/ollama-multirun

Demo: https://attogram.github.io/ai_test_zone/


Changed files:
filename: README.md
patch: @@ -451,6 +451,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 - [orca-cli](https://github.com/molbal/orca-cli) Ollama Registry CLI Application - Browse, pull, and download models from Ollama Registry in your terminal.
 - [GGUF-to-Ollama](https://github.com/jonathanhecl/gguf-to-ollama) - Importing GGUF to Ollama made easy (multiplatform)
 - [AWS-Strands-With-Ollama](https://github.com/rapidarchitect/ollama_strands) - AWS Strands Agents with Ollama Examples
+- [ollama-multirun](https://github.com/attogram/ollama-multirun) - A bash shell script to run a single prompt against any or all of your locally installed ollama models, saving the output and performance statistics as easily navigable web pages. ([Demo](https://attogram.github.io/ai_test_zone/))
 
 ### Apple Vision Pro
Repository: ggml-org/llama.cpp
Pull request: webui: Fix duplicated messages on q param

Close #19899 
Close #20568

Changed files:
filename: tools/server/webui/src/routes/+page.svelte
patch: @@ -57,7 +57,6 @@
 		// Handle ?q= parameter - create new conversation and send message
 		if (qParam !== null) {
 			await conversationsStore.createConversation();
-			await chatStore.sendMessage(qParam);
 			clearUrlParams();
 		} else if (modelParam || newChatParam === 'true') {
 			clearUrlParams();