helloadhavan/github_issues huggingface dataset:
Repository: facebook/react
Pull request: fix(devtools): remove duplicated "Display density" field in General settings

<!--
  Thanks for submitting a pull request!
  We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory.

  Before submitting a pull request, please make sure the following is done:

  1. Fork [the repository](https://github.com/facebook/react) and create your branch from `main`.
  2. Run `yarn` in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development.
  5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`.
  6. If you need a debugger, run `yarn test --debug --watch TestName`, open `chrome://inspect`, and press "Inspect".
  7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`).
  8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files.
  9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`).
  10. If you haven't already, complete the CLA.

  Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html
-->
## Summary

This pull request fixes a small UI issue in the React Developer Tools settings panel.
The “Display density” field was appearing twice in the General tab.

Fix : https://github.com/facebook/react/issues/34791

Changed files:
filename: packages/react-devtools-shared/src/devtools/views/Settings/GeneralSettings.js
patch: @@ -104,18 +104,6 @@ export default function GeneralSettings(_: {}): React.Node {
         ) : null}
       </div>
 
-      <div className={styles.SettingWrapper}>
-        <div className={styles.RadioLabel}>Display density</div>
-        <select
-          value={displayDensity}
-          onChange={({currentTarget}) =>
-            setDisplayDensity(currentTarget.value)
-          }>
-          <option value="compact">Compact</option>
-          <option value="comfortable">Comfortable</option>
-        </select>
-      </div>
-
       {supportsTraceUpdates && (
         <div className={styles.SettingWrapper}>
           <label className={styles.SettingRow}>
Repository: ollama/ollama
Pull request: fix(cmd): unload model before removal

this change fixes two bugs with `ollama rm`:

1. before a model is removed, it will first be stopped. this only happens for the first argument and skipped for all other models
2. models are unloaded indiscriminately. this errors for cloud models and should be omitted

Changed files:
filename: cmd/cmd.go
patch: @@ -280,6 +280,13 @@ func loadOrUnloadModel(cmd *cobra.Command, opts *runOptions) error {
 		return err
 	}
 
+	if info, err := client.Show(cmd.Context(), &api.ShowRequest{Model: opts.Model}); err != nil {
+		return err
+	} else if info.RemoteHost != "" {
+		// Cloud model, no need to load/unload
+		return nil
+	}
+
 	req := &api.GenerateRequest{
 		Model:     opts.Model,
 		KeepAlive: opts.KeepAlive,
@@ -720,23 +727,21 @@ func DeleteHandler(cmd *cobra.Command, args []string) error {
 		return err
 	}
 
-	// Unload the model if it's running before deletion
-	opts := &runOptions{
-		Model:     args[0],
-		KeepAlive: &api.Duration{Duration: 0},
-	}
-	if err := loadOrUnloadModel(cmd, opts); err != nil {
-		if !strings.Contains(strings.ToLower(err.Error()), "not found") {
-			fmt.Fprintf(os.Stderr, "Warning: unable to stop model '%s'\n", args[0])
+	for _, arg := range args {
+		// Unload the model if it's running before deletion
+		if err := loadOrUnloadModel(cmd, &runOptions{
+			Model:     args[0],
+			KeepAlive: &api.Duration{Duration: 0},
+		}); err != nil {
+			if !strings.Contains(strings.ToLower(err.Error()), "not found") {
+				fmt.Fprintf(os.Stderr, "Warning: unable to stop model '%s'\n", args[0])
+			}
 		}
-	}
 
-	for _, name := range args {
-		req := api.DeleteRequest{Name: name}
-		if err := client.Delete(cmd.Context(), &req); err != nil {
+		if err := client.Delete(cmd.Context(), &api.DeleteRequest{Name: arg}); err != nil {
 			return err
 		}
-		fmt.Printf("deleted '%s'\n", name)
+		fmt.Printf("deleted '%s'\n", arg)
 	}
 	return nil
 }
Repository: ollama/ollama
Pull request: fix: qwen2.5vl, qwen3vl composite image

this change fixes images with an alpha channel by overlaying the image onto a white background

Changed files:
filename: model/models/qwen25vl/process_image.go
patch: @@ -79,6 +79,8 @@ type Grid struct {
 }
 
 func (p *ImageProcessor) ProcessImage(img image.Image) ([]float32, *Grid, error) {
+	img = imageproc.Composite(img)
+
 	origWidth := img.Bounds().Dx()
 	origHeight := img.Bounds().Dy()
 

filename: model/models/qwen3vl/imageprocessor.go
patch: @@ -83,6 +83,8 @@ type Grid struct {
 }
 
 func (p *ImageProcessor) ProcessImage(ctx ml.Context, img image.Image) (ml.Tensor, *Grid, error) {
+	img = imageproc.Composite(img)
+
 	origWidth := img.Bounds().Dx()
 	origHeight := img.Bounds().Dy()
Repository: facebook/react
Pull request: [compiler] Add VoidUseMemo rule to RecommendedLatest


Adds a new error category VoidUseMemo which is only enabled in the RecommendedLatest preset for now.


Changed files:
filename: compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts
patch: @@ -536,7 +536,8 @@ function printErrorSummary(category: ErrorCategory, message: string): string {
     case ErrorCategory.StaticComponents:
     case ErrorCategory.Suppression:
     case ErrorCategory.Syntax:
-    case ErrorCategory.UseMemo: {
+    case ErrorCategory.UseMemo:
+    case ErrorCategory.VoidUseMemo: {
       heading = 'Error';
       break;
     }
@@ -582,6 +583,10 @@ export enum ErrorCategory {
    * Checking for valid usage of manual memoization
    */
   UseMemo = 'UseMemo',
+  /**
+   * Checking that useMemos always return a value
+   */
+  VoidUseMemo = 'VoidUseMemo',
   /**
    * Checking for higher order functions acting as factories for components/hooks
    */
@@ -977,6 +982,16 @@ function getRuleForCategoryImpl(category: ErrorCategory): LintRule {
         preset: LintRulePreset.Recommended,
       };
     }
+    case ErrorCategory.VoidUseMemo: {
+      return {
+        category,
+        severity: ErrorSeverity.Error,
+        name: 'void-use-memo',
+        description:
+          'Validates that useMemos always return a value. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.',
+        preset: LintRulePreset.RecommendedLatest,
+      };
+    }
     case ErrorCategory.IncompatibleLibrary: {
       return {
         category,

filename: compiler/packages/babel-plugin-react-compiler/src/Inference/DropManualMemoization.ts
patch: @@ -454,7 +454,7 @@ export function dropManualMemoization(
               if (!hasNonVoidReturn(funcToCheck.loweredFunc.func)) {
                 errors.pushDiagnostic(
                   CompilerDiagnostic.create({
-                    category: ErrorCategory.UseMemo,
+                    category: ErrorCategory.VoidUseMemo,
                     reason: 'useMemo() callbacks must return a value',
                     description: `This ${
                       manualMemo.loadInstr.value.kind === 'PropertyLoad'
Repository: vercel/next.js
Pull request: test: Run Adapter e2e tests with Turbopack instead

<!-- 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?

### Why?

### How?

Closes NEXT-
Fixes #

-->


Changed files:
filename: .github/workflows/test_e2e_deploy_release.yml
patch: @@ -146,7 +146,7 @@ jobs:
       overrideProxyAddress: ${{ inputs.overrideProxyAddress || '' }}
 
   test-deploy-adapter:
-    name: Run Deploy Adapter Tests
+    name: Run Deploy Adapter Tests (Turbopack)
     needs: setup
     if: ${{ github.event.inputs.deployScriptPath == '' }}
     uses: ./.github/workflows/build_reusable.yml
@@ -174,7 +174,7 @@ jobs:
         npm i -g vercel@latest && \
         NEXT_E2E_TEST_TIMEOUT=240000 \
         NEXT_TEST_MODE=deploy \
-        IS_WEBPACK_TEST=1 \
+        IS_TURBOPACK_TEST=1 \
         NEXT_ENABLE_ADAPTER=1 \
         NEXT_EXTERNAL_TESTS_FILTERS="test/deploy-tests-manifest.json" \
         NEXT_TEST_VERSION="${{ github.event.inputs.nextVersion || needs.setup.outputs.next-version || 'canary' }}" \
Repository: rust-lang/rust
Pull request: interpret/validity: remove unreachable error kind

See the comments in the code for why this is unreachable.

Changed files:
filename: compiler/rustc_const_eval/src/interpret/validity.rs
patch: @@ -128,7 +128,6 @@ enum ExpectedKind {
     Reference,
     Box,
     RawPtr,
-    InitScalar,
     Bool,
     Char,
     Float,
@@ -143,7 +142,6 @@ impl fmt::Display for ExpectedKind {
             ExpectedKind::Reference => "expected a reference",
             ExpectedKind::Box => "expected a box",
             ExpectedKind::RawPtr => "expected a raw pointer",
-            ExpectedKind::InitScalar => "expected initialized scalar value",
             ExpectedKind::Bool => "expected a boolean",
             ExpectedKind::Char => "expected a unicode scalar value",
             ExpectedKind::Float => "expected a floating point number",
@@ -1478,7 +1476,9 @@ impl<'rt, 'tcx, M: Machine<'tcx>> ValueVisitor<'tcx, M> for ValidityVisitor<'rt,
             BackendRepr::Scalar(scalar_layout) => {
                 if !scalar_layout.is_uninit_valid() {
                     // There is something to check here.
-                    let scalar = self.read_scalar(val, ExpectedKind::InitScalar)?;
+                    // We read directly via `ecx` since the read cannot fail -- we already read
+                    // this field above when recursing into the field.
+                    let scalar = self.ecx.read_scalar(val)?;
                     self.visit_scalar(scalar, scalar_layout)?;
                 }
             }
@@ -1487,8 +1487,9 @@ impl<'rt, 'tcx, M: Machine<'tcx>> ValueVisitor<'tcx, M> for ValidityVisitor<'rt,
                 // FIXME: find a way to also check ScalarPair when one side can be uninit but
                 // the other must be init.
                 if !a_layout.is_uninit_valid() && !b_layout.is_uninit_valid() {
-                    let (a, b) =
-                        self.read_immediate(val, ExpectedKind::InitScalar)?.to_scalar_pair();
+                    // We read directly via `ecx` since the read cannot fail -- we already read
+                    // this field above when recursing into the field.
+                    let (a, b) = self.ecx.read_immediate(val)?.to_scalar_pair();
                     self.visit_scalar(a, a_layout)?;
                     self.visit_scalar(b, b_layout)?;
                 }
Repository: facebook/react
Pull request: [DevTools] Gate SuspenseTab


Changed files:
filename: packages/react-devtools-shared/src/devtools/views/DevTools.js
patch: @@ -361,15 +361,17 @@ export default function DevTools({
                                         }
                                       />
                                     </div>
-                                    <div
-                                      className={styles.TabContent}
-                                      hidden={tab !== 'suspense'}>
-                                      <SuspenseTab
-                                        portalContainer={
-                                          suspensePortalContainer
-                                        }
-                                      />
-                                    </div>
+                                    {enableSuspenseTab && (
+                                      <div
+                                        className={styles.TabContent}
+                                        hidden={tab !== 'suspense'}>
+                                        <SuspenseTab
+                                          portalContainer={
+                                            suspensePortalContainer
+                                          }
+                                        />
+                                      </div>
+                                    )}
                                   </div>
                                   {editorPortalContainer ? (
                                     <EditorPane
Repository: facebook/react
Pull request: [ci] Dry run with debug mode


Adds `--debug` to our dry run command so we can see the npm dry run output


Changed files:
filename: .github/workflows/compiler_prereleases.yml
patch: @@ -62,7 +62,7 @@ jobs:
         name: Publish packages to npm (dry run)
         run: |
           cp ./scripts/release/ci-npmrc ~/.npmrc
-          scripts/release/publish.js --ci --versionName=${{ inputs.version_name }} --tag=${{ inputs.dist_tag }} ${{ inputs.tag_version && format('--tagVersion={0}', inputs.tag_version) || '' }}
+          scripts/release/publish.js --frfr --debug --ci --versionName=${{ inputs.version_name }} --tag=${{ inputs.dist_tag }} ${{ inputs.tag_version && format('--tagVersion={0}', inputs.tag_version) || '' }}
       - if: inputs.dry_run != true
         name: Publish packages to npm
         run: |
Repository: electron/electron
Pull request: fix: bind offscreen paint callback to child `WebContents`

Backport of #49998.

See that PR for details.

Notes: none

Changed files:
filename: shell/browser/api/electron_api_web_contents.cc
patch: @@ -1311,10 +1311,11 @@ void WebContents::MaybeOverrideCreateParamsForNewWindow(
          dict.Get(options::kOffscreen, &is_offscreen) && is_offscreen);
 
     if (is_offscreen) {
+      // Use a no-op callback here. The real OnPaint callback will be bound
+      // to the child WebContents in AddNewContents via SetCallback().
       auto* view = new OffScreenWebContentsView(
           false, offscreen_use_shared_texture_,
-          offscreen_shared_texture_pixel_format_,
-          base::BindRepeating(&WebContents::OnPaint, base::Unretained(this)));
+          offscreen_shared_texture_pixel_format_, base::DoNothing());
       create_params->view = view;
       create_params->delegate_view = view;
     }
@@ -1342,6 +1343,15 @@ content::WebContents* WebContents::AddNewContents(
   v8::HandleScope handle_scope(isolate);
   auto api_web_contents = CreateAndTake(isolate, std::move(new_contents), type);
 
+  // Rebind the paint callback to the child WebContents. The
+  // OffScreenWebContentsView was initially created with the parent's OnPaint
+  // in MaybeOverrideCreateParamsForNewWindow, but the paint data
+  // belongs to the child.
+  if (auto* osr_view = api_web_contents->GetOffScreenWebContentsView()) {
+    osr_view->SetCallback(base::BindRepeating(&WebContents::OnPaint,
+                                              api_web_contents->GetWeakPtr()));
+  }
+
   // We call RenderFrameCreated here as at this point the empty "about:blank"
   // render frame has already been created.  If the window never navigates again
   // RenderFrameCreated won't be called and certain prefs like

filename: shell/browser/osr/osr_web_contents_view.cc
patch: @@ -45,6 +45,10 @@ void OffScreenWebContentsView::SetWebContents(
     view->InstallTransparency();
 }
 
+void OffScreenWebContentsView::SetCallback(const OnPaintCallback& callback) {
+  callback_ = callback;
+}
+
 void OffScreenWebContentsView::SetNativeWindow(NativeWindow* window) {
   if (native_window_)
     native_window_->RemoveObserver(this);

filename: shell/browser/osr/osr_web_contents_view.h
patch: @@ -43,6 +43,7 @@ class OffScreenWebContentsView : public content::WebContentsView,
 
   void SetWebContents(content::WebContents*);
   void SetNativeWindow(NativeWindow* window);
+  void SetCallback(const OnPaintCallback& callback);
 
   // NativeWindowObserver:
   void OnWindowResize() override;
Repository: rust-lang/rust
Pull request: const validity checking: do not recurse to references inside MaybeDangling

This arguably should be allowed, but we currently reject it:
```rust
#![feature(maybe_dangling)]
use std::mem::MaybeDangling;

const X: MaybeDangling<&bool> = unsafe { std::mem::transmute(&5u8) };
```

r? @WaffleLapkin 

Changed files:
filename: compiler/rustc_const_eval/src/interpret/validity.rs
patch: @@ -678,8 +678,11 @@ impl<'rt, 'tcx, M: Machine<'tcx>> ValidityVisitor<'rt, 'tcx, M> {
                 format!("encountered a {ptr_kind} pointing to uninhabited type {ty}")
             )
         }
-        // Recursive checking
-        if let Some(ref_tracking) = self.ref_tracking.as_deref_mut() {
+
+        // Recursive checking (but not inside `MaybeDangling` of course).
+        if let Some(ref_tracking) = self.ref_tracking.as_deref_mut()
+            && !self.may_dangle
+        {
             // Proceed recursively even for ZST, no reason to skip them!
             // `!` is a ZST and we want to validate it.
             if let Some(ctfe_mode) = self.ctfe_mode {

filename: tests/ui/consts/const-eval/valid-const.rs
patch: @@ -1,10 +1,12 @@
 //@ check-pass
 //
 // Some constants that *are* valid
+#![feature(maybe_dangling)]
 
 use std::mem;
 use std::ptr::NonNull;
 use std::num::NonZero;
+use std::mem::MaybeDangling;
 
 const NON_NULL_PTR1: NonNull<u8> = unsafe { mem::transmute(1usize) };
 const NON_NULL_PTR2: NonNull<u8> = unsafe { mem::transmute(&0) };
@@ -14,4 +16,6 @@ const NON_NULL_USIZE: NonZero<usize> = unsafe { mem::transmute(1usize) };
 
 const UNIT: () = ();
 
+const INVALID_INSIDE_MAYBE_DANGLING: MaybeDangling<&bool> = unsafe { std::mem::transmute(&5u8) };
+
 fn main() {}
Repository: nodejs/node
Pull request: test: avoid flaky debugger restart waits

## Summary

- replace `stepCommand('restart')` with `command('restart')` in:
  - `test/parallel/test-debugger-restart-message.js`
  - `test/parallel/test-debugger-run-after-quit-restart.js`
- in `test-debugger-restart-message`, wait for `Debugger attached.` and prompt before asserting the listening message count
- in `test-debugger-run-after-quit-restart`, continue to assert behavior via `waitForInitialBreak()` and `breakInfo`

## Context

`test-macOS` has shown intermittent timeouts while waiting for `BREAK_MESSAGE` in restart-related debugger tests.
In failing logs, reconnect succeeds (`Debugger attached.` is printed), but the expected `break ... in` line is not observed before timeout.

## Hypothesis

The flake is likely caused by a timing race in CLI output ordering around restart/reconnect:
- `stepCommand()` requires `BREAK_MESSAGE` to appear
- under some timing conditions (seen on macOS unusual-path runs), attach/prompt output arrives, but `break ... in` output is delayed or missed by this wait pattern

This change does not claim to prove a single root cause. It may be related to timing behavior in `test/common/debugger.js`, but this PR only narrows these two tests to a less fragile synchronization path aligned with what each test is actually verifying.

## Why this approach

- keep test intent intact
- reduce dependence on a brittle `BREAK_MESSAGE` wait specifically for `restart`
- minimize blast radius by changing only the affected tests

## Testing

- [x] `out/Release/node test/parallel/test-debugger-restart-message.js` (passes locally)
- [x] `out/Release/node test/parallel/test-debugger-run-after-quit-restart.js` (passes locally)
- [x] Additional local stress runs were executed from an unusual-character path on both this PR branch and main. (https://github.com/nodejs/node/pull/61773#issuecomment-3940188387)
- [x] CI passes on macOS

Refs: https://github.com/nodejs/node/issues/61762


Changed files:
filename: test/parallel/test-debugger-restart-message.js
patch: @@ -25,7 +25,11 @@ const startCLI = require('../common/debugger');
       assert.strictEqual(cli.output.match(listeningRegExp).length, 1);
 
       for (let i = 0; i < RESTARTS; i++) {
-        await cli.stepCommand('restart');
+        // For `restart`, sync on attach/prompt instead of BREAK_MESSAGE to avoid flaky races.
+        // https://github.com/nodejs/node/issues/61762
+        await cli.command('restart');
+        await cli.waitFor(/Debugger attached\./);
+        await cli.waitForPrompt();
         assert.strictEqual(cli.output.match(listeningRegExp).length, 1);
       }
     } finally {

filename: test/parallel/test-debugger-run-after-quit-restart.js
patch: @@ -57,7 +57,7 @@ const path = require('path');
         { filename: script, line: 2 },
       );
     })
-    .then(() => cli.stepCommand('restart'))
+    .then(() => cli.command('restart'))
     .then(() => cli.waitForInitialBreak())
     .then(() => {
       assert.deepStrictEqual(