helloadhavan/github_issues huggingface dataset:
Repository: vuejs/vue
Pull request: Pull Request Template to GitHub

Adding a Pull Request Template for external contributors.

**Please check if the PR fulfills these requirements**
- [x] Do not submit PRs against the master branch.
- [X] Checkout a topic branch from the relevant branch, e.g. dev, and merge back against that branch.
- [X] The tests are running: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup


**What kind of change does this PR introduce?** (check at least one with "x")
```
[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactoring
[ ] Build related changes
[X] Other... Please describe:
A template to help people to contribute with Vue
```

**Does this PR introduce a breaking change?** (check one with "x")
```
[ ] Yes
[X] No
```

Changed files:
filename: .github/PULL_REQUEST_TEMPLATE.md
patch: @@ -2,3 +2,39 @@
 Please make sure to read the Pull Request Guidelines:
 https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
 -->
+
+<!-- ISSUE TEMPLATE -->
+**Please check if the PR fulfills these requirements**
+- [ ] Do not submit PRs against the master branch.
+- [ ] Checkout a topic branch from the relevant branch, e.g. dev, and merge back against that branch.
+- [ ] The tests are running: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
+
+If adding new feature:
+- [ ] Added accompanying test case.
+- [ ] In the commit message, provide convincing reason to add this feature.
+      Ideally you should open a suggestion issue first and have it greenlighted before working on it.
+
+If fixing a bug:
+- [ ] If you are resolving a special issue, add (fix #xxxx[,#xxx]) (#xxxx is the issue id) in your PR title
+- [ ] Provide detailed description of the bug in the PR. Live demo preferred.
+- [ ] Add appropriate test coverage if applicable.
+
+**What kind of change does this PR introduce?** (check at least one with "x")
+```
+[ ] Bugfix
+[ ] Feature
+[ ] Code style update
+[ ] Refactoring
+[ ] Build related changes
+[ ] Other... Please describe:
+```
+
+**Does this PR introduce a breaking change?** (check one with "x")
+```
+[ ] Yes
+[ ] No
+```
+
+If this PR contains a breaking change, please describe the impact and migration path for existing applications:
+
+**Other information**:
Repository: ollama/ollama
Pull request: catch when model vocab size is set correctly

This check catches if there are too many tokens in the tokenizer vs. the expected number of tokens specified in the `vocab_size` field of `config.json`. This typically happens if the `added_tokens` array in `tokenizer.json` ends up has too many tokens.

Right now this results in the back end barfing during inference instead of catching it during `ollama create`.

Changed files:
filename: convert/convert.go
patch: @@ -208,14 +208,18 @@ func ConvertModel(fsys fs.FS, ws io.WriteSeeker) error {
 		return err
 	}
 
-	if vocabSize := int(p.VocabSize); vocabSize > len(t.Vocabulary.Tokens) {
-		slog.Warn("vocabulary is smaller than expected, padding with dummy tokens", "expect", p.VocabSize, "actual", len(t.Vocabulary.Tokens))
+	vocabSize := int(p.VocabSize)
+	switch {
+	case vocabSize > len(t.Vocabulary.Tokens):
+		slog.Warn("vocabulary is smaller than expected, padding with dummy tokens", "expect", vocabSize, "actual", len(t.Vocabulary.Tokens))
 		for i := range vocabSize - len(t.Vocabulary.Tokens) {
 			t.Vocabulary.Tokens = append(t.Vocabulary.Tokens, fmt.Sprintf("[PAD%d]", i))
 			t.Vocabulary.Scores = append(t.Vocabulary.Scores, -1)
 			t.Vocabulary.Types = append(t.Vocabulary.Types, tokenTypeUserDefined)
 		}
-	} else {
+	case vocabSize < len(t.Vocabulary.Tokens):
+		return fmt.Errorf("vocabulary is larger than expected '%d' instead of '%d'", len(t.Vocabulary.Tokens), vocabSize)
+	default:
 		slog.Debug("vocabulary", "size", len(t.Vocabulary.Tokens))
 	}
Repository: ollama/ollama
Pull request: readme: add crewai to community integrations


Changed files:
filename: README.md
patch: @@ -359,6 +359,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 
 - [LangChain](https://python.langchain.com/docs/integrations/llms/ollama) and [LangChain.js](https://js.langchain.com/docs/modules/model_io/models/llms/integrations/ollama) with [example](https://js.langchain.com/docs/use_cases/question_answering/local_retrieval_qa)
 - [Firebase Genkit](https://firebase.google.com/docs/genkit/plugins/ollama)
+- [crewAI](https://github.com/crewAIInc/crewAI)
 - [LangChainGo](https://github.com/tmc/langchaingo/) with [example](https://github.com/tmc/langchaingo/tree/main/examples/ollama-completion-example)
 - [LangChain4j](https://github.com/langchain4j/langchain4j) with [example](https://github.com/langchain4j/langchain4j-examples/tree/main/ollama-examples/src/main/java)
 - [LangChainRust](https://github.com/Abraxas-365/langchain-rust) with [example](https://github.com/Abraxas-365/langchain-rust/blob/main/examples/llm_ollama.rs)
Repository: vuejs/vue
Pull request: support mouse modifier - #3050

#3050

Changed files:
filename: src/compiler/codegen/events.js
patch: @@ -26,7 +26,10 @@ const modifierCode: { [key: string]: string } = {
   ctrl: 'if(!$event.ctrlKey)return null;',
   shift: 'if(!$event.shiftKey)return null;',
   alt: 'if(!$event.altKey)return null;',
-  meta: 'if(!$event.metaKey)return null;'
+  meta: 'if(!$event.metaKey)return null;',
+  left: 'if($event.button !== 0)return null;',
+  middle: 'if($event.button !== 1)return null;',
+  right: 'if($event.button !== 2)return null;'
 }
 
 export function genHandlers (events: ASTElementHandlers, native?: boolean): string {

filename: test/unit/features/directives/on.spec.js
patch: @@ -212,6 +212,49 @@ describe('Directive v-on', () => {
     expect(spy).toHaveBeenCalled()
   })
 
+  it('should support mouse modifier', () => {
+    const left = 0
+    const middle = 1
+    const right = 2
+    const spyLeft = jasmine.createSpy()
+    const spyMiddle = jasmine.createSpy()
+    const spyRight = jasmine.createSpy()
+
+    vm = new Vue({
+      el,
+      template: `
+        <div>
+          <div ref="left" @mousedown.left="foo">left</div>
+          <div ref="right" @mousedown.right="foo1">right</div>
+          <div ref="middle" @mousedown.middle="foo2">right</div>
+        </div>
+      `,
+      methods: {
+        foo: spyLeft,
+        foo1: spyRight,
+        foo2: spyMiddle
+      }
+    })
+
+    triggerEvent(vm.$refs.left, 'mousedown', e => { e.button = right })
+    triggerEvent(vm.$refs.left, 'mousedown', e => { e.button = middle })
+    expect(spyLeft).not.toHaveBeenCalled()
+    triggerEvent(vm.$refs.left, 'mousedown', e => { e.button = left })
+    expect(spyLeft).toHaveBeenCalled()
+
+    triggerEvent(vm.$refs.right, 'mousedown', e => { e.button = left })
+    triggerEvent(vm.$refs.right, 'mousedown', e => { e.button = middle })
+    expect(spyRight).not.toHaveBeenCalled()
+    triggerEvent(vm.$refs.right, 'mousedown', e => { e.button = right })
+    expect(spyRight).toHaveBeenCalled()
+
+    triggerEvent(vm.$refs.middle, 'mousedown', e => { e.button = left })
+    triggerEvent(vm.$refs.middle, 'mousedown', e => { e.button = right })
+    expect(spyMiddle).not.toHaveBeenCalled()
+    triggerEvent(vm.$refs.middle, 'mousedown', e => { e.button = middle })
+    expect(spyMiddle).toHaveBeenCalled()
+  })
+
   it('should support custom keyCode', () => {
     Vue.config.keyCodes.test = 1
     vm = new Vue({
Repository: ollama/ollama
Pull request: Update README.md

added crewai with mesop anew since there was a conflict previously

Changed files:
filename: README.md
patch: @@ -312,6 +312,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 - [Cherry Studio](https://github.com/kangfenmao/cherry-studio) (Desktop client with Ollama support)
 - [ConfiChat](https://github.com/1runeberg/confichat) (Lightweight, standalone, multi-platform, and privacy focused LLM chat interface with optional encryption)
 - [Archyve](https://github.com/nickthecook/archyve) (RAG-enabling document library)
+- [crewAI with Mesop](https://github.com/rapidarchitect/ollama-crew-mesop) (Mesop Web Interface to run crewAI with Ollama)
 
 ### Terminal
Repository: facebook/react
Pull request: [release] Update publishing scripts to make publishing allowlisted packages easier


It's getting unwieldy to list every single package to skip in these commands when you only want to publish one, ie eslint-plugin-react-hooks.

This adds a new `onlyPackages` and `publishVersion` option to the publish commands to make that easier.


Changed files:
filename: scripts/release/prepare-release-from-npm-commands/parse-params.js
patch: @@ -13,6 +13,13 @@ const paramDefinitions = [
       'Skip NPM and use the build already present in "build/node_modules".',
     defaultValue: false,
   },
+  {
+    name: 'onlyPackages',
+    type: String,
+    multiple: true,
+    description: 'Packages to include in publishing',
+    defaultValue: [],
+  },
   {
     name: 'skipPackages',
     type: String,

filename: scripts/release/prepare-release-from-npm.js
patch: @@ -28,6 +28,9 @@ const run = async () => {
 
     params.packages = await getPublicPackages(isExperimental);
     params.packages = params.packages.filter(packageName => {
+      if (params.onlyPackages.length > 0) {
+        return params.onlyPackages.includes(packageName);
+      }
       return !params.skipPackages.includes(packageName);
     });
 

filename: scripts/release/publish-commands/parse-params.js
patch: @@ -19,6 +19,13 @@ const paramDefinitions = [
     description: 'NPM tags to point to the new release.',
     defaultValue: ['untagged'],
   },
+  {
+    name: 'onlyPackages',
+    type: String,
+    multiple: true,
+    description: 'Packages to include in publishing',
+    defaultValue: [],
+  },
   {
     name: 'skipPackages',
     type: String,
@@ -32,6 +39,11 @@ const paramDefinitions = [
     description: 'Run in automated environment, without interactive prompts.',
     defaultValue: false,
   },
+  {
+    name: 'publishVersion',
+    type: String,
+    description: 'Version to publish',
+  },
 ];
 
 module.exports = () => {

filename: scripts/release/publish.js
patch: @@ -23,14 +23,20 @@ const run = async () => {
   try {
     const params = parseParams();
 
-    const version = readJsonSync(
-      './build/node_modules/react/package.json'
-    ).version;
+    const version =
+      params.publishVersion ??
+      readJsonSync('./build/node_modules/react/package.json').version;
     const isExperimental = version.includes('experimental');
 
     params.cwd = join(__dirname, '..', '..');
     params.packages = await getPublicPackages(isExperimental);
 
+    if (params.onlyPackages.length > 0) {
+      params.packages = params.packages.filter(packageName => {
+        return params.onlyPackages.includes(packageName);
+      });
+    }
+
     // Pre-filter any skipped packages to simplify the following commands.
     // As part of doing this we can also validate that none of the skipped packages were misspelled.
     params.skipPackages.forEach(packageName => {
Repository: ollama/ollama
Pull request: Align OpenAI Chat option processing with Completion option processing

https://github.com/ollama/ollama/pull/6514 removed the option scaling for OpenAI Completion requests.  Do the same for Chat requests.

Changed files:
filename: openai/openai.go
patch: @@ -452,7 +452,7 @@ func fromChatRequest(r ChatCompletionRequest) (*api.ChatRequest, error) {
 	}
 
 	if r.Temperature != nil {
-		options["temperature"] = *r.Temperature * 2.0
+		options["temperature"] = *r.Temperature
 	} else {
 		options["temperature"] = 1.0
 	}
@@ -462,11 +462,11 @@ func fromChatRequest(r ChatCompletionRequest) (*api.ChatRequest, error) {
 	}
 
 	if r.FrequencyPenalty != nil {
-		options["frequency_penalty"] = *r.FrequencyPenalty * 2.0
+		options["frequency_penalty"] = *r.FrequencyPenalty
 	}
 
 	if r.PresencePenalty != nil {
-		options["presence_penalty"] = *r.PresencePenalty * 2.0
+		options["presence_penalty"] = *r.PresencePenalty
 	}
 
 	if r.TopP != nil {

filename: openai/openai_test.go
patch: @@ -102,9 +102,9 @@ func TestChatMiddleware(t *testing.T) {
 					"num_predict":       999.0, // float because JSON doesn't distinguish between float and int
 					"seed":              123.0,
 					"stop":              []any{"\n", "stop"},
-					"temperature":       6.0,
-					"frequency_penalty": 8.0,
-					"presence_penalty":  10.0,
+					"temperature":       3.0,
+					"frequency_penalty": 4.0,
+					"presence_penalty":  5.0,
 					"top_p":             6.0,
 				},
 				Format: "json",
Repository: nodejs/node
Pull request: tools: update x64 macOS runner

Refs: https://github.com/actions/runner-images/issues/13046

<!--
Before submitting a pull request, please read:

- the CONTRIBUTING guide at https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
- the commit message formatting guidelines at
  https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines

For code changes:
1. Include tests for any bug fixes or new features.
2. Update documentation if relevant.
3. Ensure that `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes.

If you believe this PR should be highlighted in the Node.js CHANGELOG
please add the `notable-change` label.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.
-->


Changed files:
filename: .github/workflows/test-shared.yml
patch: @@ -108,7 +108,7 @@ jobs:
             system: x86_64-linux
           - runner: ubuntu-24.04-arm
             system: aarch64-linux
-          - runner: macos-13
+          - runner: macos-15-intel
             system: x86_64-darwin
           - runner: macos-latest
             system: aarch64-darwin
Repository: vuejs/vue
Pull request: Check property exists instead of truthy value

Fixes #5043 

Changed files:
filename: src/core/instance/inject.js
patch: @@ -25,7 +25,7 @@ export function initInjections (vm: Component) {
       const provideKey = isArray ? key : inject[key]
       let source = vm
       while (source) {
-        if (source._provided && source._provided[provideKey]) {
+        if (source._provided && provideKey in source._provided) {
           vm[key] = source._provided[provideKey]
           break
         }

filename: test/unit/features/options/inject.spec.js
patch: @@ -20,7 +20,7 @@ describe('Options provide/inject', () => {
       template: `<child/>`,
       provide: {
         foo: 1,
-        bar: 2
+        bar: false
       },
       components: {
         child: {
@@ -32,15 +32,15 @@ describe('Options provide/inject', () => {
       }
     }).$mount()
 
-    expect(injected).toEqual([1, 2])
+    expect(injected).toEqual([1, false])
   })
 
   it('should use closest parent', () => {
     new Vue({
       template: `<child/>`,
       provide: {
         foo: 1,
-        bar: 2
+        bar: null
       },
       components: {
         child: {
@@ -55,15 +55,15 @@ describe('Options provide/inject', () => {
       }
     }).$mount()
 
-    expect(injected).toEqual([3, 2])
+    expect(injected).toEqual([3, null])
   })
 
   it('provide function', () => {
     new Vue({
       template: `<child/>`,
       data: {
         a: 1,
-        b: 2
+        b: false
       },
       provide () {
         return {
@@ -81,7 +81,7 @@ describe('Options provide/inject', () => {
       }
     }).$mount()
 
-    expect(injected).toEqual([1, 2])
+    expect(injected).toEqual([1, false])
   })
 
   it('inject with alias', () => {
@@ -99,7 +99,7 @@ describe('Options provide/inject', () => {
     new Vue({
       template: `<child/>`,
       provide: {
-        foo: 1,
+        foo: false,
         bar: 2
       },
       components: {
@@ -112,7 +112,7 @@ describe('Options provide/inject', () => {
       }
     }).$mount()
 
-    expect(injected).toEqual([1, 2])
+    expect(injected).toEqual([false, 2])
   })
 
   it('self-inject', () => {
Repository: vercel/next.js
Pull request: Turbopack: normalize distDir separators

Closes #86652
Closes PACK-6023

Previously, `dist_dir` contained backslashes on Windows which broke various things (among them, relative paths for the externals symlinks):

https://github.com/vercel/next.js/blob/6eed9a05450f2c179b951c97350e305973a09e6f/crates/next-api/src/project.rs#L765

Changed files:
filename: packages/next/src/build/swc/index.ts
patch: @@ -488,6 +488,9 @@ function rustifyOptionEnv(
   }))
 }
 
+const normalizePathOnWindows = (p: string) =>
+  path.sep === '\\' ? p.replace(/\\/g, '/') : p
+
 // TODO(sokra) Support wasm option.
 function bindingToApi(
   binding: RawBindings,
@@ -875,23 +878,35 @@ function bindingToApi(
       )
     }
 
+    // These are relative paths, but might be backslash-separated on Windows
+    nextConfigSerializable.distDir = normalizePathOnWindows(
+      nextConfigSerializable.distDir
+    )
+    nextConfigSerializable.distDirRoot = normalizePathOnWindows(
+      nextConfigSerializable.distDirRoot
+    )
+
     // loaderFile is an absolute path, we need it to be relative for turbopack.
     if (nextConfigSerializable.images.loaderFile) {
       nextConfigSerializable.images = {
         ...nextConfigSerializable.images,
         loaderFile:
           './' +
-          path.relative(projectPath, nextConfigSerializable.images.loaderFile),
+          normalizePathOnWindows(
+            path.relative(projectPath, nextConfigSerializable.images.loaderFile)
+          ),
       }
     }
 
     // cacheHandler can be an absolute path, we need it to be relative for turbopack.
     if (nextConfigSerializable.cacheHandler) {
       nextConfigSerializable.cacheHandler =
         './' +
-        (path.isAbsolute(nextConfigSerializable.cacheHandler)
-          ? path.relative(projectPath, nextConfigSerializable.cacheHandler)
-          : nextConfigSerializable.cacheHandler)
+        normalizePathOnWindows(
+          path.isAbsolute(nextConfigSerializable.cacheHandler)
+            ? path.relative(projectPath, nextConfigSerializable.cacheHandler)
+            : nextConfigSerializable.cacheHandler
+        )
     }
     if (nextConfigSerializable.cacheHandlers) {
       nextConfigSerializable.cacheHandlers = Object.fromEntries(
@@ -902,9 +917,11 @@ function bindingToApi(
           .map(([key, value]) => [
             key,
             './' +
-              (path.isAbsolute(value)
-                ? path.relative(projectPath, value)
-                : value),
+              normalizePathOnWindows(
+                path.isAbsolute(value)
+                  ? path.relative(projectPath, value)
+                  : value
+              ),
           ])
       )
     }
Repository: vuejs/vue
Pull request: fine-tuning of toNumber function

1. parseFloat() support only one param, see MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
2. maybe it's better to use isNaN() to judge the conversion result?

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->


Changed files:
filename: src/shared/util.js
patch: @@ -16,8 +16,8 @@ export function _toString (val: any): string {
  * If the conversion fails, return original string.
  */
 export function toNumber (val: string): number | string {
-  const n = parseFloat(val, 10)
-  return (n || n === 0) ? n : val
+  const n = parseFloat(val)
+  return isNaN(n) ? val : n
 }
 
 /**
Repository: electron/electron
Pull request: build: bump NMV to 143 for Electron 40

#### Description of Change

The PR bump the NMV to 143 for Electron 40 

#### 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 API documentation, tutorials, and examples are updated and follow the [documentation style guide](https://github.com/electron/electron/blob/main/docs/development/style-guide.md)
- [ ] [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: build/args/all.gn
patch: @@ -2,7 +2,7 @@ is_electron_build = true
 root_extra_deps = [ "//electron" ]
 
 # Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
-node_module_version = 140
+node_module_version = 143
 
 v8_promise_internal_field_count = 1
 v8_embedder_string = "-electron.0"
Repository: nodejs/node
Pull request: doc: `domain.add()` does not accept timer objects

Found during a @types/node cleanup. Might be deprecated, but may as well be accurate.

Changed files:
filename: doc/api/domain.md
patch: @@ -289,24 +289,26 @@ To handle the errors that it catches, listen to its `'error'` event.
 
 * Type: {Array}
 
-An array of timers and event emitters that have been explicitly added
-to the domain.
+An array of event emitters that have been explicitly added to the domain.
 
 ### `domain.add(emitter)`
 
-* `emitter` {EventEmitter|Timer} emitter or timer to be added to the domain
+<!-- YAML
+changes:
+  - version: v9.3.0
+    pr-url: https://github.com/nodejs/node/pull/16222
+    description: No longer accepts timer objects.
+-->
+
+* `emitter` {EventEmitter} emitter to be added to the domain
 
 Explicitly adds an emitter to the domain. If any event handlers called by
 the emitter throw an error, or if the emitter emits an `'error'` event, it
 will be routed to the domain's `'error'` event, just like with implicit
 binding.
 
-This also works with timers that are returned from [`setInterval()`][] and
-[`setTimeout()`][]. If their callback function throws, it will be caught by
-the domain `'error'` handler.
-
-If the Timer or `EventEmitter` was already bound to a domain, it is removed
-from that one, and bound to this one instead.
+If the `EventEmitter` was already bound to a domain, it is removed from that
+one, and bound to this one instead.
 
 ### `domain.bind(callback)`
 
@@ -398,7 +400,7 @@ d.on('error', (er) => {
 
 ### `domain.remove(emitter)`
 
-* `emitter` {EventEmitter|Timer} emitter or timer to be removed from the domain
+* `emitter` {EventEmitter} emitter to be removed from the domain
 
 The opposite of [`domain.add(emitter)`][]. Removes domain handling from the
 specified emitter.
@@ -484,6 +486,4 @@ promises. In other words, no `'error'` event will be emitted for unhandled
 [`domain.add(emitter)`]: #domainaddemitter
 [`domain.bind(callback)`]: #domainbindcallback
 [`domain.exit()`]: #domainexit
-[`setInterval()`]: timers.md#setintervalcallback-delay-args
-[`setTimeout()`]: timers.md#settimeoutcallback-delay-args
 [`throw`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/throw