helloadhavan/github_issues huggingface dataset:
Repository: huggingface/transformers
Pull request: Fix inconsistency of commit sha during the workflow run

# What does this PR do?

In `.github/workflows/check_failed_tests.yml`, we have (before this PR)

```
        uses: actions/github-script@v6
        with:
          script: |            
            const { data: pr } = await github.rest.pulls.get({
              owner: context.repo.owner,
              repo: context.repo.repo,
              pull_number: ${{ inputs.pr_number }}
            });

            const { data: merge_commit }  = await github.rest.repos.getCommit({
              owner: pr.base.repo.owner.login,
              repo: pr.base.repo.name,
              ref: pr.merge_commit_sha,
            });

            core.setOutput('merge_commit_base_sha', merge_commit.parents[0].sha);
```

We get the PR merge commit by fetching from github here. But if the `main` branch is updated during the workflow run, it may cause the situation where we use the old merge commit in an earlier job/step of the workflow run, but use the new merge commit here. 

We already had this happened and the job `check_failed_tests` fails, reporting no failure found for the PR.

This PR fixes this issue by using `${{ inputs.commit_sha }}` directly, which is the merge commit sha being passed if it is triggered from a PR. 

Changed files:
filename: .github/workflows/check_failed_tests.yml
patch: @@ -125,7 +125,7 @@ jobs:
             const { data: merge_commit }  = await github.rest.repos.getCommit({
               owner: pr.base.repo.owner.login,
               repo: pr.base.repo.name,
-              ref: pr.merge_commit_sha,
+              ref: '${{ inputs.commit_sha }}',
             });
 
             core.setOutput('merge_commit_base_sha', merge_commit.parents[0].sha);
Repository: facebook/react
Pull request: Followup: remove dead test code from #30346


I missed that this was a constant false check when making the broader cleanup changes in https://github.com/facebook/react/pull/30346


Changed files:
filename: packages/react/src/__tests__/ReactElementClone-test.js
patch: @@ -273,9 +273,6 @@ describe('ReactElementClone', () => {
     if (gate(flags => flags.disableStringRefs)) {
       expect(component.childRef).toEqual({current: null});
       expect(component.parentRef.current.xyzRef.current.tagName).toBe('SPAN');
-    } else if (gate(flags => false)) {
-      expect(component.childRef).toEqual({current: null});
-      expect(component.parentRef.current.xyzRef.current.tagName).toBe('SPAN');
     } else if (gate(flags => !flags.disableStringRefs)) {
       expect(component.childRef).toEqual({current: null});
       expect(component.parentRef.current.xyzRef.current.tagName).toBe('SPAN');
@@ -413,9 +410,6 @@ describe('ReactElementClone', () => {
         {withoutStack: true},
       );
       expect(clone.props).toEqual({foo: 'ef', ref: '34'});
-    } else if (gate(flags => false)) {
-      expect(clone.ref).toBe(element.ref);
-      expect(clone.props).toEqual({foo: 'ef'});
     } else if (gate(flags => !flags.disableStringRefs)) {
       expect(() => {
         expect(clone.ref).toBe(element.ref);
Repository: ggml-org/llama.cpp
Pull request: readme : Adding BonzAI App (iOS + Mac) to the UIs section

## Description
This PR adds BonzAI App to the list of UIs that use llama.cpp.
(I'm the developer of this application)

## Changes
- Added BonzAI App (free iOS/macOS application) to the "UIs" section of the README
- Marked as proprietary (closed-source) to maintain consistency with the existing format

## Details
BonzAI App is a free iOS/macOS application available on the App Store that leverages llama.cpp for local AI inference on Apple devices through a simple native interface.

BonzAI supports:
- Streaming completion
- Reasoning models
- Multimodal models (vision capabilities)
- Tool calling
- Remote MCP servers
- Customizable model input settings
- Customizable inference settings

App Store link: https://apps.apple.com/us/app/bonzai-your-local-ai-agent/id6752847988

Changed files:
filename: README.md
patch: @@ -200,6 +200,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo
 *(to have a project listed here, it should clearly state that it depends on `llama.cpp`)*
 
 - [AI Sublime Text plugin](https://github.com/yaroslavyaroslav/OpenAI-sublime-text) (MIT)
+- [BonzAI App](https://apps.apple.com/us/app/bonzai-your-local-ai-agent/id6752847988) (proprietary)
 - [cztomsik/ava](https://github.com/cztomsik/ava) (MIT)
 - [Dot](https://github.com/alexpinel/Dot) (GPL)
 - [eva](https://github.com/ylsdamxssjxxdd/eva) (MIT)
Repository: vercel/next.js
Pull request: Fix typo in Fast Refresh documentation

Small grammar fix for fast-refresh.mdx

<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the PR.
- Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to understand the PR)
- When linking to a Slack thread, you might want to share details of the conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic behind a change

### What?

Small grammer update on page introduction.

### Why?

This makes the sentence more readable.

### How?

N/A

Closes NEXT-
Fixes #

-->


Changed files:
filename: docs/03-architecture/fast-refresh.mdx
patch: @@ -3,7 +3,7 @@ title: Fast Refresh
 description: Fast Refresh is a hot module reloading experience that gives you instantaneous feedback on edits made to your React components.
 ---
 
-Fast refresh is a React feature integrated into Next.js that allows you live reload the browser page while maintaining temporary client-side state when you save changes to a file. It's enabled by default in all Next.js applications on **9.4 or newer**. With Fast Refresh enabled, most edits should be visible within a second.
+Fast refresh is a React feature integrated into Next.js that allows you to live reload the browser page while maintaining temporary client-side state when you save changes to a file. It's enabled by default in all Next.js applications on **9.4 or newer**. With Fast Refresh enabled, most edits should be visible within a second.
 
 ## How It Works
Repository: vuejs/vue
Pull request: [fix] Don't remove newlines during parseText

Since `text` is being used as the key in `cache.get(text)` and the
cache is checked _before_ newlines were removed, the cache would always
miss if the input `text` had _any_ newlines.

I updated `tagRe` to match tags which contain newlines, and added an
extra test case to ensure newlines outside of tags are preserved


Changed files:
filename: src/parsers/text.js
patch: @@ -22,8 +22,8 @@ export function compileRegex () {
   var unsafeOpen = escapeRegex(config.unsafeDelimiters[0])
   var unsafeClose = escapeRegex(config.unsafeDelimiters[1])
   tagRE = new RegExp(
-    unsafeOpen + '(.+?)' + unsafeClose + '|' +
-    open + '(.+?)' + close,
+    unsafeOpen + '([^]+?)' + unsafeClose + '|' +
+    open + '([^]+?)' + close,
     'g'
   )
   htmlRE = new RegExp(
@@ -52,7 +52,6 @@ export function parseText (text) {
   if (hit) {
     return hit
   }
-  text = text.replace(/\n/g, '')
   if (!tagRE.test(text)) {
     return null
   }

filename: test/unit/specs/parsers/text_spec.js
patch: @@ -49,6 +49,15 @@ var testCases = [
     expected: [
       { tag: true, value: 'value', html: false, oneTime: false }
     ]
+  },
+  // new lines preserved outside of tags
+  {
+    text: 'hello\n{{value}}\nworld',
+    expected: [
+        { value: 'hello\n' },
+        { tag: true, value: 'value', html: false, oneTime: false },
+        { value: '\nworld' }
+    ]
   }
 ]
Repository: vuejs/vue
Pull request: Default a prop before coercion

Proposed fix for https://github.com/vuejs/vue/issues/2606


Changed files:
filename: src/compiler/compile-props.js
patch: @@ -229,10 +229,11 @@ function makePropsLinkFn (props) {
 
 function processPropValue (vm, prop, rawValue, fn) {
   const isSimple = prop.dynamic && isSimplePath(prop.parentPath)
-  let value = coerceProp(prop, rawValue)
+  let value = rawValue
   if (value === undefined) {
     value = getPropDefaultValue(vm, prop)
   }
+  value = coerceProp(prop, value)
   const coerced = value !== rawValue
   if (!assertProp(prop, value, vm)) {
     value = undefined

filename: test/unit/specs/directives/internal/prop_spec.js
patch: @@ -854,4 +854,26 @@ describe('prop', function () {
       done()
     })
   })
+
+  it('prop coercion should be applied after defaulting', function () {
+    var vm = new Vue({
+      el: el,
+      template: '<comp></comp>',
+      components: {
+        comp: {
+          props: {
+            color: {
+              type: String,
+              default: 'blue',
+              coerce: function (color) {
+                return 'color-' + color
+              }
+            }
+          },
+          template: '<div>{{ color }}</div>'
+        }
+      }
+    })
+    expect(vm.$el.textContent).toBe('color-blue')
+  })
 })
Repository: ollama/ollama
Pull request: fix: skip os.removeAll() if PID does not exist

previously deleted all directories in $TMPDIR starting with ollama. Added a "continue" to skip the directory removal if a PID doesn't exist. We do this to prevent accidentally deleting directories in tmpdir that share the ollama name but aren't created by us for processes

resolves: https://github.com/ollama/ollama/issues/5129

Changed files:
filename: gpu/assets.go
patch: @@ -77,20 +77,27 @@ func cleanupTmpDirs() {
 			continue
 		}
 		raw, err := os.ReadFile(filepath.Join(d, "ollama.pid"))
-		if err == nil {
-			pid, err := strconv.Atoi(string(raw))
-			if err == nil {
-				if proc, err := os.FindProcess(pid); err == nil && !errors.Is(proc.Signal(syscall.Signal(0)), os.ErrProcessDone) {
-					// Another running ollama, ignore this tmpdir
-					continue
-				}
-			}
-		} else {
-			slog.Debug("failed to open ollama.pid", "path", d, "error", err)
+		if err != nil {
+			slog.Warn("failed to read ollama.pid", "path", d, "error", err)
+			// No pid, ignore this tmpdir
+			continue
 		}
-		err = os.RemoveAll(d)
+
+		pid, err := strconv.Atoi(string(raw))
 		if err != nil {
-			slog.Debug("unable to cleanup stale tmpdir", "path", d, "error", err)
+			slog.Warn("failed to parse pid", "path", d, "error", err)
+			continue
+		}
+
+		proc, err := os.FindProcess(pid)
+		if err == nil && !errors.Is(proc.Signal(syscall.Signal(0)), os.ErrProcessDone) {
+			slog.Warn("found running ollama", "pid", pid, "path", d)
+			// Another running ollama, ignore this tmpdir
+			continue
+		}
+
+		if err := os.Remove(d); err != nil {
+			slog.Warn("unable to cleanup stale tmpdir", "path", d, "error", err)
 		}
 	}
 }
Repository: facebook/react
Pull request: [bundles] update GitHub actions for commit build branch


This is a followup to https://github.com/facebook/react/commit/6c0f37f94b020279fb5ada70facc008fccb7172e to unblock the job.


Changed files:
filename: .github/workflows/runtime_commit_artifacts.yml
patch: @@ -137,7 +137,6 @@ jobs:
           # Delete OSS renderer. OSS renderer is synced through internal script.
           RENDERER_FOLDER=$BASE_FOLDER/react-native-github/Libraries/Renderer/implementations/
           rm $RENDERER_FOLDER/ReactFabric-{dev,prod,profiling}.js
-          rm $RENDERER_FOLDER/ReactNativeRenderer-{dev,prod,profiling}.js
 
           # Move React Native version file
           mv build/facebook-react-native/VERSION_NATIVE_FB ./compiled-rn/VERSION_NATIVE_FB
Repository: vercel/next.js
Pull request: [test] Ensure we can toggle the DevTools menu while status indicators are active

There's currently a bug where the status indicator can get stuck on compiling. If we enter this faulty state, tests will not be able to open the devtools menu when that's normally possible. 

This updates the markup to make all toggles openable in tests.

Changed files:
filename: packages/next/src/next-devtools/dev-overlay/components/devtools-indicator/next-logo.tsx
patch: @@ -539,6 +539,7 @@ function CacheBypassBadge({
     <div data-issues data-cache-bypass-badge>
       <button
         data-issues-open
+        data-nextjs-dev-tools-button
         aria-label="Open Next.js Dev Tools"
         onClick={onTriggerClick}
       >

filename: packages/next/src/next-devtools/dev-overlay/components/devtools-indicator/status-indicator.tsx
patch: @@ -158,6 +158,7 @@ export function StatusIndicator({ status, onClick }: StatusIndicatorProps) {
       </style>
       <button
         data-indicator-status
+        data-nextjs-dev-tools-button
         onClick={onClick}
         aria-label="Open Next.js Dev Tools"
       >

filename: test/lib/browsers/playwright.ts
patch: @@ -615,7 +615,7 @@ export class Playwright<TCurrent = undefined> {
   }
 
   locateDevToolsIndicator(): Locator {
-    return page.locator('nextjs-portal [data-nextjs-dev-tools-button]')
+    return page.locator('nextjs-portal [data-nextjs-dev-tools-button]:visible')
   }
 
   locator(selector: string, options?: Parameters<(typeof page)['locator']>[1]) {
Repository: nodejs/node
Pull request: deps: add gn build files for ncrypto

Add GN build files for the new ncrypto dependency.

Changed files:
filename: deps/ncrypto/unofficial.gni
patch: @@ -0,0 +1,31 @@
+# This file is used by GN for building, which is NOT the build system used for
+# building official binaries.
+# Please edit the gyp files if you are making changes to build system.
+
+import("../../node.gni")
+import("$node_v8_path/gni/v8.gni")
+
+# The actual configurations are put inside a template in unofficial.gni to
+# prevent accidental edits from contributors.
+template("ncrypto_gn_build") {
+  config("ncrypto_config") {
+    include_dirs = [ "." ]
+    cflags = [
+      "-Wno-deprecated-declarations",
+      "-Wno-pessimizing-move",
+      "-Wno-shadow",
+    ]
+  }
+
+  gypi_values = exec_script("../../tools/gypi_to_gn.py",
+                            [ rebase_path("ncrypto.gyp") ],
+                            "scope",
+                            [ "ncrypto.gyp" ])
+
+  source_set(target_name) {
+    forward_variables_from(invoker, "*")
+    public_configs = [ ":ncrypto_config" ]
+    sources = gypi_values.ncrypto_sources
+    deps = [ "../openssl" ]
+  }
+}
Repository: vuejs/vue
Pull request: [FEATURE] Add CODE_OF_CONDUCT.md


Changed files:
filename: CODE_OF_CONDUCT.md
patch: @@ -0,0 +1,14 @@
+
+Contributor Code of Conduct
+
+As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
+
+We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
+
+Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
+
+This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
Repository: facebook/react
Pull request: [bundles] stop building legacy Paper renderer


Changed files:
filename: scripts/rollup/bundles.js
patch: @@ -696,40 +696,6 @@ const bundles = [
       }),
   },
 
-  /******* React Native *******/
-  {
-    bundleTypes: __EXPERIMENTAL__
-      ? []
-      : [RN_FB_DEV, RN_FB_PROD, RN_FB_PROFILING],
-    moduleType: RENDERER,
-    entry: 'react-native-renderer',
-    global: 'ReactNativeRenderer',
-    externals: ['react-native', 'ReactNativeInternalFeatureFlags'],
-    minifyWithProdErrorCodes: false,
-    wrapWithModuleBoundaries: true,
-    babel: opts =>
-      Object.assign({}, opts, {
-        plugins: opts.plugins.concat([
-          [require.resolve('@babel/plugin-transform-classes'), {loose: true}],
-        ]),
-      }),
-  },
-  {
-    bundleTypes: [RN_OSS_DEV, RN_OSS_PROD, RN_OSS_PROFILING],
-    moduleType: RENDERER,
-    entry: 'react-native-renderer',
-    global: 'ReactNativeRenderer',
-    externals: ['react-native'],
-    minifyWithProdErrorCodes: false,
-    wrapWithModuleBoundaries: true,
-    babel: opts =>
-      Object.assign({}, opts, {
-        plugins: opts.plugins.concat([
-          [require.resolve('@babel/plugin-transform-classes'), {loose: true}],
-        ]),
-      }),
-  },
-
   /******* React Native Fabric *******/
   {
     bundleTypes: __EXPERIMENTAL__
Repository: vuejs/vue
Pull request: Support for mutiple class names as key

This is to replace #2581.


Changed files:
filename: src/directives/internal/class.js
patch: @@ -41,19 +41,16 @@ export default {
   },
 
   cleanup (value) {
-    if (this.prevKeys) {
-      var i = this.prevKeys.length
-      while (i--) {
-        var key = this.prevKeys[i]
-        if (!key) continue
-        if (isPlainObject(key)) {
-          var keys = Object.keys(key)
-          for (var k = 0; k < keys.length; k++) {
-            removeClass(this.el, keys[k])
-          }
-        } else {
-          removeClass(this.el, key)
-        }
+    if (!this.prevKeys) return
+
+    var i = this.prevKeys.length
+    while (i--) {
+      var key = this.prevKeys[i]
+      if (!key) continue
+
+      var keys = isPlainObject(key) ? Object.keys(key) : [key]
+      for (var j = 0, l = keys.length; j < l; j++) {
+        toggleClasses(this.el, keys[j], removeClass)
       }
     }
   }
@@ -63,9 +60,8 @@ function setObjectClasses (el, obj) {
   var keys = Object.keys(obj)
   for (var i = 0, l = keys.length; i < l; i++) {
     var key = keys[i]
-    if (obj[key]) {
-      addClass(el, key)
-    }
+    if (!obj[key]) continue
+    toggleClasses(el, key, addClass)
   }
 }
 
@@ -77,3 +73,31 @@ function stringToObject (value) {
   }
   return res
 }
+
+/**
+ * Add or remove a class/classes on an element
+ *
+ * @param {Element} el
+ * @param {String} key The class name. This may or may not
+ *                     contain a space character, in such a
+ *                     case we'll deal with multiple class
+ *                     names at once.
+ * @param {Function} fn
+ */
+
+function toggleClasses (el, key, fn) {
+  key = key.trim()
+
+  if (key.indexOf(' ') === -1) {
+    fn(el, key)
+    return
+  }
+
+  // The key contains one or more space characters.
+  // Since a class name doesn't accept such characters, we
+  // treat it as multiple classes.
+  var keys = key.split(' ')
+  for (var i = 0, l = keys.length; i < l; i++) {
+    fn(el, keys[i])
+  }
+}

filename: test/unit/specs/directives/internal/class_spec.js
patch: @@ -34,6 +34,16 @@ describe(':class', function () {
     expect(el.className).toBe('hoho b')
     dir.update(null)
     expect(el.className).toBe('hoho')
+
+    dir.update({
+      'a b': true,
+      c: false
+    })
+    expect(el.className).toBe('hoho a b')
+    dir.update({
+      c: true
+    })
+    expect(el.className).toBe('hoho c')
   })
 
   it('array value', function () {
Repository: vuejs/vue
Pull request: orderBy can take a Function as its first argument

Hello,

This feature was asked in #2518. The point of this generic filter is to support any kind of sorting by using a custom comparator. Tell me your thoughts on the feature and the code :smile: 

PS: I did the PR instead of the issue because it took little to no time to do it and I didn't have internet when I coded it :stuck_out_tongue:


Changed files:
filename: src/filters/array-filters.js
patch: @@ -74,16 +74,21 @@ export function filterBy (arr, search, delimiter) {
 /**
  * Filter filter for arrays
  *
- * @param {String|Array<String>} sortKeys
+ * @param {String|Array<String>|Function} sortKeys
  * @param {Number} [order]
  */
 
 export function orderBy (arr, sortKeys, order) {
   arr = convertArray(arr)
   order = (order && order < 0) ? -1 : 1
+  let recursiveCompare = null
 
   if (typeof sortKeys === 'string') {
     sortKeys = [sortKeys]
+  } else if (typeof sortKeys === 'function') {
+    recursiveCompare = function (a, b) {
+      return sortKeys(a, b) * order
+    }
   } else if (!sortKeys || (sortKeys !== true && !sortKeys.length)) {
     // we check if sortKeys === true because you can sort primitive values with
     // array | orderBy true: http://vuejs.org/api/#orderBy
@@ -101,7 +106,7 @@ export function orderBy (arr, sortKeys, order) {
     return a === b ? 0 : a > b ? order : -order
   }
 
-  function recursiveCompare (a, b, i) {
+  recursiveCompare = recursiveCompare || function (a, b, i) {
     i = i || 0
     if (sortKeys === true || i === sortKeys.length - 1) {
       return compare(a, b, i)

filename: test/unit/specs/filters/filters_spec.js
patch: @@ -264,8 +264,27 @@ describe('Filters', function () {
     res = filter(arr, ['a', 'b'], -1)
     assertArray(res, [arr[2], arr[0], arr[3], arr[1], arr[5], arr[4]])
   })
+
+  it('orderBy using a compare function', function () {
+    var filter = filters.orderBy
+    var arr = [9, 11, 1, 2]
+    var res = filter(arr, evenBeforeOdd)
+    assertArray(res, [arr[3], arr[2], arr[0], arr[1]])
+    res = filter(arr, evenBeforeOdd, 1)
+    assertArray(res, [arr[3], arr[2], arr[0], arr[1]])
+    res = filter(arr, evenBeforeOdd, -1)
+    assertArray(res, [arr[1], arr[0], arr[2], arr[3]])
+  })
 })
 
+function evenBeforeOdd (a, b) {
+  if (a % 2 === 0) {
+    if (b % 2 === 0) return a - b
+    else return -1
+  } else if (b % 2 === 0) return 1
+    else return a - b
+}
+
 function assertArray (res, expectations) {
   expect(res.length).toBe(expectations.length)
   expectations.forEach(function (exp, i) {