helloadhavan/github_issues huggingface dataset:
Repository: huggingface/transformers
Pull request: Fix wording in `torchscript.md`

# What does this PR do?

This PR improves documentation by fixing a small typo.

## Before submitting
- [x] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case. (doesn't apply)
- [x] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation). 
- [ ] Did you write any new necessary tests? (doesn't apply)


## Who can review?

Anybody, this is a very minor change.


Changed files:
filename: docs/source/en/torchscript.md
patch: @@ -16,7 +16,7 @@ rendered properly in your Markdown viewer.
 
 # TorchScript
 
-[TorchScript](https://pytorch.org/docs/stable/jit.html) serializes PyTorch models into programs that can be executed in non-Python processes. This is especially advantageous in production environments where Python may the most performant choice.
+[TorchScript](https://pytorch.org/docs/stable/jit.html) serializes PyTorch models into programs that can be executed in non-Python processes. This is especially advantageous in production environments where Python may not be the most performant choice.
 
 Transformers can export a model to TorchScript by:
Repository: denoland/deno
Pull request: feat(permissions): `Deno.mainModule` doesn't require permissions

Closes https://github.com/denoland/deno/issues/7315.

Changed files:
filename: runtime/ops/runtime.rs
patch: @@ -4,7 +4,6 @@ use deno_core::error::AnyError;
 use deno_core::op2;
 use deno_core::ModuleSpecifier;
 use deno_core::OpState;
-use deno_permissions::PermissionsContainer;
 
 deno_core::extension!(
   deno_runtime,
@@ -20,12 +19,6 @@ deno_core::extension!(
 fn op_main_module(state: &mut OpState) -> Result<String, AnyError> {
   let main_url = state.borrow::<ModuleSpecifier>();
   let main_path = main_url.to_string();
-  if main_url.scheme() == "file" {
-    let main_path = main_url.to_file_path().unwrap();
-    state
-      .borrow_mut::<PermissionsContainer>()
-      .check_read_blind(&main_path, "main_module", "Deno.mainModule")?;
-  }
   Ok(main_path)
 }
 

filename: tests/integration/run_tests.rs
patch: @@ -1553,7 +1553,7 @@ itest!(import_meta {
 });
 
 itest!(main_module {
-  args: "run --quiet --allow-read --reload run/main_module/main.ts",
+  args: "run --quiet  --reload run/main_module/main.ts",
   output: "run/main_module/main.out",
 });
Repository: ggml-org/llama.cpp
Pull request: sched : avoid changing cur_copy when a graph is already allocated

Fixes #13851

Changed files:
filename: ggml/src/ggml-backend.cpp
patch: @@ -1340,7 +1340,10 @@ static bool ggml_backend_sched_alloc_splits(ggml_backend_sched_t sched) {
     // allocate graph
     if (backend_ids_changed || !ggml_gallocr_alloc_graph(sched->galloc, &sched->graph)) {
         // the re-allocation may cause the split inputs to be moved to a different address
-        ggml_backend_sched_synchronize(sched);
+        // synchronize without ggml_backend_sched_synchronize to avoid changing cur_copy
+        for (int i = 0; i < sched->n_backends; i++) {
+            ggml_backend_synchronize(sched->backends[i]);
+        }
 #ifndef NDEBUG
         GGML_LOG_DEBUG("%s: failed to allocate graph, reserving (backend_ids_changed = %d)\n", __func__, backend_ids_changed);
 #endif
@@ -1564,7 +1567,6 @@ bool ggml_backend_sched_alloc_graph(ggml_backend_sched_t sched, struct ggml_cgra
 
     ggml_backend_sched_split_graph(sched, graph);
 
-
     if (!ggml_backend_sched_alloc_splits(sched)) {
         return false;
     }
@@ -1598,9 +1600,12 @@ void ggml_backend_sched_synchronize(ggml_backend_sched_t sched) {
     for (int i = 0; i < sched->n_backends; i++) {
         ggml_backend_synchronize(sched->backends[i]);
     }
-    // reset the current copy to 0 so that the graphs will be similar during generation
-    // necessary for CUDA graphs
-    sched->cur_copy = 0;
+    if (!sched->is_alloc) {
+        // if the graph is not already allocated, always use copy 0 after a synchronization
+        // this ensures that during generation the same copy is used every time,
+        // which avoids changes in the graph that could cause CUDA or other graphs to be disabled
+        sched->cur_copy = 0;
+    }
 }
 
 void ggml_backend_sched_set_eval_callback(ggml_backend_sched_t sched, ggml_backend_sched_eval_callback callback, void * user_data) {
Repository: denoland/deno
Pull request: fix(lockfile): use loose deserialization for version constraints

* https://github.com/denoland/deno_lockfile/pull/39

Closes https://github.com/denoland/deno/issues/25649

Changed files:
filename: Cargo.lock
patch: @@ -1719,9 +1719,9 @@ dependencies = [
 
 [[package]]
 name = "deno_lockfile"
-version = "0.23.0"
+version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb68a4a666c69eabd8fe505d6fdc4ed4a2d962fe1680dbfa8b0c8a2975d58ed0"
+checksum = "579117d5815aa9bae0212637d6f4d5f45f9649bb2c8988dca434077545535039"
 dependencies = [
  "deno_semver",
  "serde",

filename: Cargo.toml
patch: @@ -48,7 +48,7 @@ deno_ast = { version = "=0.42.0", features = ["transpiling"] }
 deno_core = { version = "0.308.0" }
 
 deno_bench_util = { version = "0.162.0", path = "./bench_util" }
-deno_lockfile = "=0.23.0"
+deno_lockfile = "=0.23.1"
 deno_media_type = { version = "0.1.4", features = ["module_specifier"] }
 deno_permissions = { version = "0.28.0", path = "./runtime/permissions" }
 deno_runtime = { version = "0.177.0", path = "./runtime" }
Repository: facebook/react
Pull request: [DevTools] enable `enableProfilerComponentTree` flag for all builds

This feature is now available for all builds

`yarn build:chrome`

<img width="1530" alt="image" src="https://user-images.githubusercontent.com/1001890/178812032-540d2475-0a23-43dd-8514-563237bb4bd2.png">


Changed files:
filename: packages/react-devtools-shared/src/config/DevToolsFeatureFlags.core-oss.js
patch: @@ -19,7 +19,7 @@ export const enableNamedHooksFeature = true;
 export const enableProfilerChangedHookIndices = true;
 export const enableStyleXFeatures = false;
 export const isInternalFacebookBuild = false;
-export const enableProfilerComponentTree = false;
+export const enableProfilerComponentTree = true;
 
 /************************************************************************
  * Do not edit the code below.

filename: packages/react-devtools-shared/src/config/DevToolsFeatureFlags.default.js
patch: @@ -19,4 +19,4 @@ export const enableNamedHooksFeature = true;
 export const enableProfilerChangedHookIndices = true;
 export const enableStyleXFeatures = false;
 export const isInternalFacebookBuild = false;
-export const enableProfilerComponentTree = false;
+export const enableProfilerComponentTree = true;

filename: packages/react-devtools-shared/src/config/DevToolsFeatureFlags.extension-oss.js
patch: @@ -19,7 +19,7 @@ export const enableNamedHooksFeature = true;
 export const enableProfilerChangedHookIndices = true;
 export const enableStyleXFeatures = false;
 export const isInternalFacebookBuild = false;
-export const enableProfilerComponentTree = false;
+export const enableProfilerComponentTree = true;
 
 /************************************************************************
  * Do not edit the code below.
Repository: electron/electron
Pull request: test: add tests dbus notification images

Backport of #43938

See that PR for details.


Notes: none.

Changed files:
filename: spec/api-notification-dbus-spec.ts
patch: @@ -9,8 +9,12 @@
 import { expect } from 'chai';
 import * as dbus from 'dbus-native';
 import { app } from 'electron/main';
+import { nativeImage } from 'electron/common';
 import { ifdescribe } from './lib/spec-helpers';
 import { promisify } from 'node:util';
+import * as path from 'node:path';
+
+const fixturesPath = path.join(__dirname, 'fixtures');
 
 const skip = process.platform !== 'linux' ||
              process.arch === 'ia32' ||
@@ -92,6 +96,7 @@ ifdescribe(!skip)('Notification module (dbus)', () => {
         title: 'title',
         subtitle: 'subtitle',
         body: 'body',
+        icon: nativeImage.createFromPath(path.join(fixturesPath, 'assets', 'notification_icon.png')),
         replyPlaceholder: 'replyPlaceholder',
         sound: 'sound',
         closeButtonText: 'closeButtonText'
@@ -117,6 +122,7 @@ ifdescribe(!skip)('Notification module (dbus)', () => {
         actions: [],
         hints: {
           append: 'true',
+          image_data: [3, 3, 12, true, 8, 4, Buffer.from([255, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 76, 255, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 38, 255, 255, 0, 0, 0, 255, 0, 0, 0, 0])],
           'desktop-entry': appName,
           'sender-pid': process.pid,
           urgency: 1
Repository: ggml-org/llama.cpp
Pull request: cuda : prevent using split buffers with 3d/4d matrices

Fixes #13372

Changed files:
filename: ggml/src/ggml-cuda/ggml-cuda.cu
patch: @@ -2994,9 +2994,12 @@ static bool ggml_backend_cuda_device_supports_op(ggml_backend_dev_t dev, const g
             {
                 struct ggml_tensor * a = op->src[0];
                 struct ggml_tensor * b = op->src[1];
-                // for small weight matrices the active device can end up without any rows, don't use row split in those cases
-                // this avoids some edge cases (and the performance would not be good anyways)
                 if (a->buffer && ggml_backend_buft_is_cuda_split(a->buffer->buft)) {
+                    if (a->ne[2] > 1 || a->ne[3] > 1) {
+                        return false;
+                    }
+                    // for small weight matrices the active device can end up without any rows, don't use row split in those cases
+                    // this avoids some edge cases (and the performance would not be good anyways)
                     ggml_backend_cuda_split_buffer_type_context * buft_ctx = (ggml_backend_cuda_split_buffer_type_context *) a->buffer->buft->context;
                     int64_t row_low;
                     int64_t row_high;
Repository: vercel/next.js
Pull request: fix: pnp test cases failed when using rspack

<!-- 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

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### 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 #

-->

The Yarn PnP test suite (`test/e2e/yarn-pnp/test/*.test.ts`) fails when running with Rspack because tests don't install required `@rspack/core` dependency.

# Note

The failing Rspack dev test case (`test/development/app-dir/ssr-in-rsc/ssr-in-rsc.test.ts`) is expected behavior. Since Rspack currently doesn't support `compilation.codeGenerationResults`, the error snapshot differs from Webpack's output.

Changed files:
filename: test/e2e/yarn-pnp/test/utils.ts
patch: @@ -35,6 +35,10 @@ export function runTests(
       delete packageJson.dependencies['react']
       delete packageJson.dependencies['react-dom']
 
+      if (process.env.NEXT_RSPACK) {
+        packageJson.dependencies['@rspack/core'] = 'latest'
+      }
+
       next = await createNext({
         files: srcFiles.reduce(
           (prev, file) => {
Repository: huggingface/transformers
Pull request: Skip `test_push_to_hub_with_saves_each_epoch` for now

# What does this PR do?

Need to check if it is staging hub issue or anything else.

Changed files:
filename: tests/trainer/test_trainer.py
patch: @@ -4939,6 +4939,8 @@ def get_commit_history(self, repo):
         commits = commit_logs.split("\n\n")[1::2]
         return [commit.strip() for commit in commits]
 
+    # TODO: @ydshieh or @SunMarc
+    @unittest.skip("unknown failure reason, possibly staging hub issue")
     def test_push_to_hub_with_saves_each_epoch(self):
         with TemporaryHubRepo(token=self._token) as tmp_repo:
             with tempfile.TemporaryDirectory() as tmp_dir:
Repository: denoland/deno
Pull request: fix(runtime): don't error `child.output()` on consumed stream

This fixes the fast path for `readableStreamCollectIntoUint8Array` to only
trigger if the readable stream has not yet been disturbed - because otherwise we
may not be able to close it if the read errors.

Fixes #22621

Changed files:
filename: ext/web/06_streams.js
patch: @@ -1054,7 +1054,7 @@ async function readableStreamCollectIntoUint8Array(stream) {
     getReadableStreamResourceBackingUnrefable(stream);
   const reader = acquireReadableStreamDefaultReader(stream);
 
-  if (resourceBacking) {
+  if (resourceBacking && !isReadableStreamDisturbed(stream)) {
     // fast path, read whole body in a single op call
     try {
       readableStreamDisturb(stream);

filename: tests/unit/command_test.ts
patch: @@ -1043,3 +1043,24 @@ Deno.test(
     }
   },
 );
+
+Deno.test(async function outputWhenManuallyConsumingStreams() {
+  const command = new Deno.Command(Deno.execPath(), {
+    args: ["eval", "console.log('hello world')"],
+    stdout: "piped",
+    stderr: "piped",
+  });
+  const child = command.spawn();
+  for await (const _ of child.stdout) {
+    // consume stdout
+  }
+  for await (const _ of child.stderr) {
+    // consume stderr
+  }
+  const status = await child.output();
+  assertEquals(status.success, true);
+  assertEquals(status.code, 0);
+  assertEquals(status.signal, null);
+  assertEquals(status.stdout, new Uint8Array());
+  assertEquals(status.stderr, new Uint8Array());
+});
Repository: electron/electron
Pull request: build: update appveyor image to latest version

This PR updates appveyor.yml to the latest baked image, e-131.0.6734.0.

Notes: none

Changed files:
filename: appveyor-woa.yml
patch: @@ -29,7 +29,7 @@
 
 version: 1.0.{build}
 build_cloud: electronhq-16-core
-image: e-130.0.6695.0-node-20
+image: e-131.0.6734.0
 environment:
   GIT_CACHE_PATH: C:\Users\appveyor\libcc_cache
   ELECTRON_OUT_DIR: Default

filename: appveyor.yml
patch: @@ -29,7 +29,7 @@
 
 version: 1.0.{build}
 build_cloud: electronhq-16-core
-image: e-130.0.6695.0-node-20
+image: e-131.0.6734.0
 environment:
   GIT_CACHE_PATH: C:\Users\appveyor\libcc_cache
   ELECTRON_OUT_DIR: Default
Repository: huggingface/transformers
Pull request: [CI] remove duplicated message on GH comment to run slow tests

# What does this PR do?

`This comment contains run-slow, running the specified jobs:` appears twice on the GH comment to trigger slow tests ([example](https://github.com/huggingface/transformers/pull/37922#issuecomment-2853876256)).

This PR removes one of the copies 🤗 

Changed files:
filename: .github/workflows/self-comment-ci.yml
patch: @@ -145,7 +145,7 @@ jobs:
         env:
           GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           MODELS: ${{ needs.get-tests.outputs.models }}
-          BODY: "This comment contains run-slow, running the specified jobs:\n\nmodels: ${{ needs.get-tests.outputs.models }}\nquantizations: ${{ needs.get-tests.outputs.quantizations }}"
+          BODY: "\n\nmodels: ${{ needs.get-tests.outputs.models }}\nquantizations: ${{ needs.get-tests.outputs.quantizations }}"
         run: |
           gh api \
             --method POST \
Repository: ggml-org/llama.cpp
Pull request: convert : fix rwkv bos/eos token

SpecialVocab gets the token IDs from `config.json`, but they are overridden to 0 in [hf_rwkv_tokenizer.py](https://huggingface.co/fla-hub/rwkv7-2.9B-world/blob/main/hf_rwkv_tokenizer.py#L166) since they all share the same [value](https://huggingface.co/fla-hub/rwkv7-2.9B-world/blob/main/special_tokens_map.json) (except eos_token, but that's [incorrect](https://huggingface.co/fla-hub/rwkv7-2.9B-world/discussions/3#6836b8155e0917e677cc72c5) and we use `eot_token` here).

cc/ @MollySophia

Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -1047,6 +1047,10 @@ def _set_vocab_rwkv_world(self):
         special_vocab.chat_template = "rwkv-world"
         # hack: Add '\n\n' as the EOT token to make it chat normally
         special_vocab._set_special_token("eot", 261)
+        # hack: Override these as they have already been set (incorrectly)
+        special_vocab.special_token_ids["bos"] = 0
+        special_vocab.special_token_ids["eos"] = 0
+
         special_vocab.add_to_gguf(self.gguf_writer)
 
     def _set_vocab_builtin(self, model_name: Literal["gpt-neox", "llama-spm"], vocab_size: int):
Repository: vercel/next.js
Pull request: Turbopack: Make `turbo-rcstr` crate Rust 2024

This required explicitly wrapping certain calls in `unsafe` blocks. The calling functions were already marked `unsafe`.


Closes PACK-4593

Changed files:
filename: turbopack/crates/turbo-rcstr/Cargo.toml
patch: @@ -1,7 +1,7 @@
 [package]
 name = "turbo-rcstr"
 version = "0.1.0"
-edition = "2021"
+edition = "2024"
 license = "MIT"
 
 [features]

filename: turbopack/crates/turbo-rcstr/benches/mod.rs
patch: @@ -1,4 +1,4 @@
-use criterion::{criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
+use criterion::{BatchSize, BenchmarkId, Criterion, criterion_group, criterion_main};
 use turbo_rcstr::RcStr;
 
 // map has a fast-path if the Arc is uniquely owned

filename: turbopack/crates/turbo-rcstr/src/dynamic.rs
patch: @@ -3,22 +3,22 @@ use std::ptr::NonNull;
 use triomphe::Arc;
 
 use crate::{
-    tagged_value::{TaggedValue, MAX_INLINE_LEN},
-    RcStr, INLINE_TAG_INIT, LEN_OFFSET, TAG_MASK,
+    INLINE_TAG_INIT, LEN_OFFSET, RcStr, TAG_MASK,
+    tagged_value::{MAX_INLINE_LEN, TaggedValue},
 };
 
 pub unsafe fn cast(ptr: TaggedValue) -> *const String {
     ptr.get_ptr().cast()
 }
 
 pub unsafe fn deref_from<'i>(ptr: TaggedValue) -> &'i String {
-    &*cast(ptr)
+    unsafe { &*cast(ptr) }
 }
 
 /// Caller should call `forget` (or `clone`) on the returned `Arc`
 pub unsafe fn restore_arc(v: TaggedValue) -> Arc<String> {
     let ptr = v.get_ptr() as *const String;
-    Arc::from_raw(ptr)
+    unsafe { Arc::from_raw(ptr) }
 }
 
 /// This can create any kind of [Atom], although this lives in the `dynamic`

filename: turbopack/crates/turbo-rcstr/src/lib.rs
patch: @@ -3,7 +3,7 @@ use std::{
     ffi::OsStr,
     fmt::{Debug, Display},
     hash::{Hash, Hasher},
-    mem::{forget, ManuallyDrop},
+    mem::{ManuallyDrop, forget},
     num::NonZeroU8,
     ops::Deref,
     path::{Path, PathBuf},

filename: turbopack/crates/turbo-rcstr/src/tagged_value.rs
patch: @@ -135,9 +135,9 @@ impl TaggedValue {
         // All except the lowest byte, which is first in little-endian, last in
         // big-endian.
         if cfg!(target_endian = "little") {
-            data = data.offset(1);
+            data = unsafe { data.offset(1) };
         }
         let len = std::mem::size_of::<TaggedValue>() - 1;
-        slice::from_raw_parts_mut(data, len)
+        unsafe { slice::from_raw_parts_mut(data, len) }
     }
 }
Repository: nodejs/node
Pull request: test: test-stream-compose.js doesn't need internals


Changed files:
filename: test/parallel/test-stream-compose.js
patch: @@ -1,5 +1,3 @@
-// Flags: --expose-internals
-
 'use strict';
 
 const common = require('../common');
@@ -9,9 +7,9 @@ const {
   Transform,
   Writable,
   finished,
+  compose,
   PassThrough
 } = require('stream');
-const compose = require('internal/streams/compose');
 const assert = require('assert');
 
 {
Repository: huggingface/transformers
Pull request: Print commit SHA on slack message for new model notification.

# What does this PR do?

Print commit SHA on slack message for new model notification.

Changed files:
filename: .github/workflows/new_model_pr_merged_notification.yml
patch: @@ -59,7 +59,7 @@ jobs:
                   "type": "section",
                   "text": {
                     "type": "mrkdwn",
-                    "text": "<https://github.com/huggingface/transformers/commit/${{ env.COMMIT_SHA }}|New model: ${{ env.NEW_MODEL }}> GH_ArthurZucker, GH_lysandrejik, GH_ydshieh"
+                    "text": "<https://github.com/huggingface/transformers/commit/${{ env.COMMIT_SHA }}|New model: ${{ env.NEW_MODEL }}> GH_ArthurZucker, GH_lysandrejik, GH_ydshieh\ncommit SHA: ${{ env.COMMIT_SHA }}"
                   }
                 }
               ]
Repository: electron/electron
Pull request: test: ensure `sender-pid` hint is set in Linux notifications

Backport of #43928

See that PR for details.


Notes: Ensured that the `sender-id` hint is set when creating desktop notifications on DBus.

Changed files:
filename: BUILD.gn
patch: @@ -76,6 +76,7 @@ if (is_linux) {
       "notify_notification_set_timeout",
       "notify_notification_set_urgency",
       "notify_notification_set_hint_string",
+      "notify_notification_set_hint",
       "notify_notification_show",
       "notify_notification_close",
     ]

filename: shell/browser/notifications/linux/libnotify_notification.cc
patch: @@ -10,6 +10,7 @@
 #include "base/files/file_enumerator.h"
 #include "base/functional/bind.h"
 #include "base/logging.h"
+#include "base/process/process_handle.h"
 #include "base/strings/utf_string_conversions.h"
 #include "shell/browser/notifications/notification_delegate.h"
 #include "shell/browser/ui/gtk_util.h"
@@ -145,6 +146,10 @@ void LibnotifyNotification::Show(const NotificationOptions& options) {
         notification_, "desktop-entry", desktop_id.c_str());
   }
 
+  libnotify_loader_.notify_notification_set_hint(
+      notification_, "sender-pid",
+      g_variant_new_int64(base::GetCurrentProcId()));
+
   GError* error = nullptr;
   libnotify_loader_.notify_notification_show(notification_, &error);
   if (error) {

filename: spec/api-notification-dbus-spec.ts
patch: @@ -118,6 +118,7 @@ ifdescribe(!skip)('Notification module (dbus)', () => {
         hints: {
           append: 'true',
           'desktop-entry': appName,
+          'sender-pid': process.pid,
           urgency: 1
         }
       });