helloadhavan/github_issues huggingface dataset:
Repository: electron/electron
Pull request: build: enable dependabot on supported branches

This enables github actions and npm dependabot on all supported branches instead of just main, it always felt a bit weird that we had this enabled for main but not our release lines. Should reduce drift and remove the need to backport these if dependabot runs on everything.

Will need to keep this file up to date during the release process but doing that manually for now (once every two months) isn't the end of the world.

Notes: none

Changed files:
filename: .github/dependabot.yml
patch: @@ -10,3 +10,91 @@ updates:
     labels:
       - "no-backport"
       - "semver/none"
+    target-branch: main
+  - package-ecosystem: github-actions
+    directory: /
+    schedule:
+      interval: weekly
+    labels:
+      - "no-backport"
+      - "semver/none"
+    target-branch: 33-x-y
+  - package-ecosystem: github-actions
+    directory: /
+    schedule:
+      interval: weekly
+    labels:
+      - "no-backport"
+      - "semver/none"
+    target-branch: 32-x-y
+  - package-ecosystem: github-actions
+    directory: /
+    schedule:
+      interval: weekly
+    labels:
+      - "no-backport"
+      - "semver/none"
+    target-branch: 31-x-y
+  - package-ecosystem: github-actions
+    directory: /
+    schedule:
+      interval: weekly
+    labels:
+      - "no-backport"
+      - "semver/none"
+    target-branch: 30-x-y
+  - package-ecosystem: npm
+    directories:
+      - /
+      - /spec
+      - /npm
+    schedule:
+      interval: daily
+    labels:
+      - "no-backport"
+    open-pull-requests-limit: 5
+    target-branch: 33-x-y
+  - package-ecosystem: npm
+    directories:
+      - /
+      - /spec
+      - /npm
+    schedule:
+      interval: daily
+    labels:
+      - "no-backport"
+    open-pull-requests-limit: 5
+    target-branch: main
+  - package-ecosystem: npm
+    directories:
+      - /
+      - /spec
+      - /npm
+    schedule:
+      interval: daily
+    labels:
+      - "no-backport"
+    open-pull-requests-limit: 5
+    target-branch: 32-x-y
+  - package-ecosystem: npm
+    directories:
+      - /
+      - /spec
+      - /npm
+    schedule:
+      interval: daily
+    labels:
+      - "no-backport"
+    open-pull-requests-limit: 5
+    target-branch: 31-x-y
+  - package-ecosystem: npm
+    directories:
+      - /
+      - /spec
+      - /npm
+    schedule:
+      interval: daily
+    labels:
+      - "no-backport"
+    open-pull-requests-limit: 5
+    target-branch: 30-x-y
\ No newline at end of file
Repository: ggml-org/llama.cpp
Pull request: gguf-py : correct charsmap parameter typing

Typing is incorrect, but was never noticed because `pyright` doesn't know the typing from `sentencepiece`.

Changed files:
filename: gguf-py/gguf/gguf_writer.py
patch: @@ -896,7 +896,7 @@ def add_add_space_prefix(self, value: bool) -> None:
     def add_remove_extra_whitespaces(self, value: bool) -> None:
         self.add_bool(Keys.Tokenizer.REMOVE_EXTRA_WS, value)
 
-    def add_precompiled_charsmap(self, charsmap: Sequence[bytes]) -> None:
+    def add_precompiled_charsmap(self, charsmap: bytes) -> None:
         self.add_array(Keys.Tokenizer.PRECOMPILED_CHARSMAP, charsmap)
 
     def add_chat_template(self, value: str | Sequence[Mapping[str, str]]) -> None:
Repository: ggml-org/llama.cpp
Pull request: sycl: Remove waits from async functions call  

`async` function in SYCL backend synchronize after the memcopy. Since they are async it shouldn't happen.
This small pr removes the waits.

##### test log and llama-cli output for Battlemage
[bmg_tests.txt](https://github.com/user-attachments/files/20388390/bmg_tests.txt)
[bmg_opt_tests.txt](https://github.com/user-attachments/files/20388411/bmg_opt_tests.txt)

[cli_output.txt](https://github.com/user-attachments/files/20388430/cli_output.txt)


Changed files:
filename: ggml/src/ggml-sycl/ggml-sycl.cpp
patch: @@ -3740,7 +3740,7 @@ static void ggml_backend_sycl_get_tensor_async(ggml_backend_t backend,
     GGML_ASSERT(buf->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
     const queue_ptr stream = sycl_ctx->stream(sycl_ctx->device, 0);
     SYCL_CHECK(CHECK_TRY_ERROR((stream)->memcpy(
-        data, (const char *)tensor->data + offset, size).wait()));
+        data, (const char *)tensor->data + offset, size)));
 }
 catch (sycl::exception const &exc) {
   std::cerr << exc.what() << "Exception caught at file:" << __FILE__
@@ -3760,7 +3760,7 @@ static bool ggml_backend_sycl_cpy_tensor_async(ggml_backend_t backend,
         */
         const queue_ptr stream = sycl_ctx->stream(sycl_ctx->device, 0);
         SYCL_CHECK(CHECK_TRY_ERROR((stream)->memcpy(
-            dst->data, src->data, ggml_nbytes(dst)).wait()));
+            dst->data, src->data, ggml_nbytes(dst))));
         return true;
     }
Repository: electron/electron
Pull request: fix: -Wunsafe-buffer-usage warnings in GetNextZoomLevel()

Backport of #43803

See that PR for details.


Notes: none.

Changed files:
filename: shell/browser/ui/inspectable_web_contents.cc
patch: @@ -6,6 +6,7 @@
 #include "shell/browser/ui/inspectable_web_contents.h"
 
 #include <algorithm>
+#include <array>
 #include <memory>
 #include <string_view>
 #include <utility>
@@ -71,10 +72,6 @@ namespace electron {
 
 namespace {
 
-const double kPresetZoomFactors[] = {0.25, 0.333, 0.5,  0.666, 0.75, 0.9,
-                                     1.0,  1.1,   1.25, 1.5,   1.75, 2.0,
-                                     2.5,  3.0,   4.0,  5.0};
-
 const char kChromeUIDevToolsURL[] =
     "devtools://devtools/bundled/devtools_app.html?"
     "remoteBase=%s&"
@@ -123,16 +120,20 @@ void SetZoomLevelForWebContents(content::WebContents* web_contents,
   content::HostZoomMap::SetZoomLevel(web_contents, level);
 }
 
-double GetNextZoomLevel(double level, bool out) {
-  double factor = blink::ZoomLevelToZoomFactor(level);
-  size_t size = std::size(kPresetZoomFactors);
-  for (size_t i = 0; i < size; ++i) {
-    if (!blink::ZoomValuesEqual(kPresetZoomFactors[i], factor))
-      continue;
-    if (out && i > 0)
-      return blink::ZoomFactorToZoomLevel(kPresetZoomFactors[i - 1]);
-    if (!out && i != size - 1)
-      return blink::ZoomFactorToZoomLevel(kPresetZoomFactors[i + 1]);
+double GetNextZoomLevel(const double level, const bool out) {
+  static constexpr std::array<double, 16U> kPresetFactors{
+      0.25, 0.333, 0.5,  0.666, 0.75, 0.9, 1.0, 1.1,
+      1.25, 1.5,   1.75, 2.0,   2.5,  3.0, 4.0, 5.0};
+  static constexpr auto kBegin = kPresetFactors.begin();
+  static constexpr auto kEnd = kPresetFactors.end();
+
+  const double factor = blink::ZoomLevelToZoomFactor(level);
+  auto matches = [=](auto val) { return blink::ZoomValuesEqual(factor, val); };
+  if (auto iter = std::find_if(kBegin, kEnd, matches); iter != kEnd) {
+    if (out && iter != kBegin)
+      return blink::ZoomFactorToZoomLevel(*--iter);
+    if (!out && ++iter != kEnd)
+      return blink::ZoomFactorToZoomLevel(*iter);
   }
   return level;
 }
Repository: facebook/react
Pull request: Bump `@next` versions

18.2 will be the next release

Changed files:
filename: ReactVersions.js
patch: @@ -18,25 +18,25 @@
 //
 //   0.0.0-experimental-241c4467e-20200129
 
-const ReactVersion = '18.1.0';
+const ReactVersion = '18.2.0';
 
 // The label used by the @next channel. Represents the upcoming release's
 // stability. Could be "alpha", "beta", "rc", etc.
 const nextChannelLabel = 'next';
 
 const stablePackages = {
-  'eslint-plugin-react-hooks': '4.5.0',
-  'jest-react': '0.13.1',
+  'eslint-plugin-react-hooks': '4.6.0',
+  'jest-react': '0.14.0',
   react: ReactVersion,
   'react-art': ReactVersion,
   'react-dom': ReactVersion,
   'react-is': ReactVersion,
-  'react-reconciler': '0.28.0',
-  'react-refresh': '0.13.0',
+  'react-reconciler': '0.29.0',
+  'react-refresh': '0.14.0',
   'react-test-renderer': ReactVersion,
-  'use-subscription': '1.7.0',
-  'use-sync-external-store': '1.1.0',
-  scheduler: '0.22.0',
+  'use-subscription': '1.8.0',
+  'use-sync-external-store': '1.2.0',
+  scheduler: '0.23.0',
 };
 
 // These packages do not exist in the @next or @latest channel, only
Repository: denoland/deno
Pull request: test: fix info::info_import_map test

esm.sh provided a fix for `window` not existing in Deno anymore.

Changed files:
filename: tests/testdata/info/with_import_map/deno.lock
patch: @@ -1,10 +1,10 @@
 {
   "version": "3",
   "remote": {
-    "https://esm.sh/preact@10.15.1": "2b79349676a4942fbcf835c4efa909791c2f0aeca195225bf22bac9866e94b4e",
-    "https://esm.sh/preact@10.15.1/debug": "eb12af10d41f793ab3a8cf90bff89a9cd8efab57b541d43dada6efc5e3fa8e3c",
+    "https://esm.sh/preact@10.15.1": "4bfd0b2c5a2d432e0c8cda295d6b7304152ae08c85f7d0a22f91289c97085b89",
+    "https://esm.sh/preact@10.15.1/debug": "4bfd0b2c5a2d432e0c8cda295d6b7304152ae08c85f7d0a22f91289c97085b89",
     "https://esm.sh/stable/preact@10.15.1/denonext/debug.js": "e8e5e198bd48c93d484c91c4c78af1900bd81d9bfcfd543e8ac75216f5404c10",
-    "https://esm.sh/stable/preact@10.15.1/denonext/devtools.js": "7e3009ee2208a6cc8bbf747b61e9468d177ef55d94cf9b774ad2a6c926ae51cb",
+    "https://esm.sh/stable/preact@10.15.1/denonext/devtools.js": "f61430e179a84483f8ea8dc098d7d0d46b2f0546de4027518bfcef197cd665c9",
     "https://esm.sh/stable/preact@10.15.1/denonext/preact.mjs": "30710ac1d5ff3711ae0c04eddbeb706f34f82d97489f61aaf09897bc75d2a628"
   }
 }
Repository: nodejs/node
Pull request: test: mark test-http-server-request-timeouts-mixed as flaky

This has been flaking the CI for more than 2 years with various attempts to fix without success. It has still been flaking the CI (failed 19 out of 100 recent testing CI runs). It's time to mark it as flaky.

Refs: https://github.com/nodejs/node/issues/43465

<!--
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: test/sequential/sequential.status
patch: @@ -28,6 +28,9 @@ test-http-server-request-timeouts-mixed: PASS, FLAKY
 # https://github.com/nodejs/node/issues/54816
 test-single-executable-application-empty: PASS, FLAKY
 
+# https://github.com/nodejs/node/issues/43465
+test-http-server-request-timeouts-mixed: PASS, FLAKY
+
 [$system==solaris] # Also applies to SmartOS
 
 [$system==freebsd]
Repository: denoland/deno
Pull request: feat: hide several --unstable-* flags

This commit hides following unstable flags:
- `--unstable-ffi` (the API is now stable)
- `--unstable-webgpu` (this API is now stable)
- `--unstable-fs` (no more unstable APIs)
- `--unstable-byonm` (BYONM is on by default)


The flags are still parseable, but they are not used. Concrete cleanup
will be done in a follow up PR.

Changed files:
filename: cli/args/flags.rs
patch: @@ -3848,15 +3848,9 @@ impl Iterator for UnstableArgsIter {
     } else if self.idx == 2 {
       Arg::new("unstable-byonm")
         .long("unstable-byonm")
-        .help("Enable unstable 'bring your own node_modules' feature")
         .value_parser(FalseyValueParser::new())
         .action(ArgAction::SetTrue)
         .hide(true)
-        .long_help(match self.cfg {
-          UnstableArgsConfig::None => None,
-          UnstableArgsConfig::ResolutionOnly
-          | UnstableArgsConfig::ResolutionAndRuntime => Some("true"),
-        })
         .help_heading(UNSTABLE_HEADING)
     } else if self.idx == 3 {
       Arg::new("unstable-sloppy-imports")

filename: runtime/lib.rs
patch: @@ -72,13 +72,13 @@ pub static UNSTABLE_GRANULAR_FLAGS: &[UnstableGranularFlag] = &[
   UnstableGranularFlag {
     name: deno_ffi::UNSTABLE_FEATURE_NAME,
     help_text: "Enable unstable FFI APIs",
-    show_in_help: true,
+    show_in_help: false,
     id: 3,
   },
   UnstableGranularFlag {
     name: deno_fs::UNSTABLE_FEATURE_NAME,
     help_text: "Enable unstable file system APIs",
-    show_in_help: true,
+    show_in_help: false,
     id: 4,
   },
   UnstableGranularFlag {
@@ -123,7 +123,7 @@ pub static UNSTABLE_GRANULAR_FLAGS: &[UnstableGranularFlag] = &[
   UnstableGranularFlag {
     name: deno_webgpu::UNSTABLE_FEATURE_NAME,
     help_text: "Enable unstable `WebGPU` API",
-    show_in_help: true,
+    show_in_help: false,
     id: 11,
   },
   UnstableGranularFlag {
Repository: denoland/deno
Pull request: BREAKING(console): remove `Deno.customInspect`

Note: this is implemented on Deploy. However, according to @magurotuna, a thin compatibility layer might be in the works that'd prevent breakages for PRs such as this one.

Towards #22079

Changed files:
filename: cli/tsc/dts/lib.deno.ns.d.ts
patch: @@ -5216,19 +5216,6 @@ declare namespace Deno {
    */
   export const args: string[];
 
-  /**
-   * A symbol which can be used as a key for a custom method which will be
-   * called when `Deno.inspect()` is called, or when the object is logged to
-   * the console.
-   *
-   * @deprecated This will be removed in Deno 2.0. See the
-   * {@link https://docs.deno.com/runtime/manual/advanced/migrate_deprecations | Deno 1.x to 2.x Migration Guide}
-   * for migration instructions.
-   *
-   * @category I/O
-   */
-  export const customInspect: unique symbol;
-
   /** The URL of the entrypoint module entered from the command-line. It
    * requires read permission to the CWD.
    *

filename: runtime/js/99_main.js
patch: @@ -56,7 +56,6 @@ import * as version from "ext:runtime/01_version.ts";
 import * as os from "ext:runtime/30_os.js";
 import * as timers from "ext:deno_web/02_timers.js";
 import {
-  customInspect,
   getDefaultInspectOptions,
   getStderrNoColor,
   inspectArgs,
@@ -534,18 +533,6 @@ ObjectDefineProperties(finalDenoNs, {
   noColor: core.propGetterOnly(() => op_bootstrap_no_color()),
   args: core.propGetterOnly(opArgs),
   mainModule: core.propGetterOnly(() => op_main_module()),
-  // TODO(kt3k): Remove this export at v2
-  // See https://github.com/denoland/deno/issues/9294
-  customInspect: {
-    get() {
-      warnOnDeprecatedApi(
-        "Deno.customInspect",
-        new Error().stack,
-        'Use `Symbol.for("Deno.customInspect")` instead.',
-      );
-      return internals.future ? undefined : customInspect;
-    },
-  },
   exitCode: {
     get() {
       return os.getExitCode();

filename: tests/specs/future/runtime_api/main.js
patch: @@ -118,6 +118,5 @@ try {
     console.log("Deno.ListenTlsOptions.(keyFile|certFile) do nothing");
   }
 }
-console.log("Deno.customInspect is", Deno.customInspect);
 
 self.close();

filename: tests/specs/future/runtime_api/main.out
patch: @@ -29,4 +29,3 @@ Deno.FsFile constructor is illegal
 Deno.ConnectTlsOptions.(certFile|keyFile) do nothing
 Deno.ConnectTlsOptions.(certChain|privateKey) do nothing
 Deno.ListenTlsOptions.(keyFile|certFile) do nothing
-Deno.customInspect is undefined
Repository: vercel/next.js
Pull request: doc: add build lifecycle hooks documentation

Added documentation for the new Build Lifecycle Hooks feature in the Next.js Compiler, specifically the `runAfterProductionCompile` hook.

https://github.com/vercel/next.js/pull/77345

Changed files:
filename: docs/03-architecture/nextjs-compiler.mdx
patch: @@ -278,6 +278,29 @@ module.exports = {
 }
 ```
 
+### Build Lifecycle Hooks
+
+The Next.js Compiler supports lifecycle hooks that allow you to run custom code at specific points during the build process. Currently, the following hook is supported:
+
+#### runAfterProductionCompile
+
+A hook function that executes after production build compilation finishes, but before running post-compilation tasks such as type checking and static page generation. This hook provides access to project metadata including the project directory and build output directory, making it useful for third-party tools to collect build outputs like sourcemaps.
+
+```js filename="next.config.js"
+module.exports = {
+  compiler: {
+    runAfterProductionCompile: async ({ distDir, projectDir }) => {
+      // Your custom code here
+    },
+  },
+}
+```
+
+The hook receives an object with the following properties:
+
+- `distDir`: The build output directory (defaults to `.next`)
+- `projectDir`: The root directory of the project
+
 ## Experimental Features
 
 ### SWC Trace profiling
Repository: electron/electron
Pull request: fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer()

Backport of #43795

See that PR for details.


Notes: none.

Changed files:
filename: shell/common/api/electron_api_clipboard.cc
patch: @@ -111,12 +111,16 @@ void Clipboard::WriteBuffer(const std::string& format,
     return;
   }
 
+  CHECK(buffer->IsArrayBufferView());
+  v8::Local<v8::ArrayBufferView> buffer_view = buffer.As<v8::ArrayBufferView>();
+  const size_t n_bytes = buffer_view->ByteLength();
+  mojo_base::BigBuffer big_buffer{n_bytes};
+  [[maybe_unused]] const size_t n_got =
+      buffer_view->CopyContents(big_buffer.data(), n_bytes);
+  DCHECK_EQ(n_got, n_bytes);
+
   ui::ScopedClipboardWriter writer(GetClipboardBuffer(args));
-  base::span<const uint8_t> payload_span(
-      reinterpret_cast<const uint8_t*>(node::Buffer::Data(buffer)),
-      node::Buffer::Length(buffer));
-  writer.WriteUnsafeRawData(base::UTF8ToUTF16(format),
-                            mojo_base::BigBuffer(payload_span));
+  writer.WriteUnsafeRawData(base::UTF8ToUTF16(format), std::move(big_buffer));
 }
 
 void Clipboard::Write(const gin_helper::Dictionary& data,
Repository: electron/electron
Pull request: fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer()

#### Description of Change

Part 5 in a [series](https://github.com/electron/electron/pull/43477) to fix `-Wunsafe-buffer-usage` warnings in electron `shell/`.

This PR fixes a warning in `electron::api::Clipboard::WriteBuffer()`. The warning happened while copying a `v8::ArrayBufferView` into a `mojo::BigBuffer`. Previously we did this by using an unsafe `base::span constructor` to feed to the big buffer. Like #43564, this PR uses [`v8::ArrayBufferView::CopyContents()`](https://chromium.googlesource.com/v8/v8/+/287f5002404a3d08df6b42de1081f89ace1927ea/include/v8-array-buffer.h#386) as an alternative to unsafe pointer math.

The warning fixed by this PR:

```
../../electron/shell/common/api/electron_api_clipboard.cc:115:29: error: function introduces unsafe buffer manipulation [-Werror,-Wunsafe-buffer-usage]
  115 |   base::span<const uint8_t> payload_span(
      |                             ^~~~~~~~~~~~~
  116 |       reinterpret_cast<const uint8_t*>(node::Buffer::Data(buffer)),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  117 |       node::Buffer::Length(buffer));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

#### Checklist

- [x] PR description included and stakeholders cc'd
- [x] `npm test` passes
- [x] [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: shell/common/api/electron_api_clipboard.cc
patch: @@ -111,12 +111,16 @@ void Clipboard::WriteBuffer(const std::string& format,
     return;
   }
 
+  CHECK(buffer->IsArrayBufferView());
+  v8::Local<v8::ArrayBufferView> buffer_view = buffer.As<v8::ArrayBufferView>();
+  const size_t n_bytes = buffer_view->ByteLength();
+  mojo_base::BigBuffer big_buffer{n_bytes};
+  [[maybe_unused]] const size_t n_got =
+      buffer_view->CopyContents(big_buffer.data(), n_bytes);
+  DCHECK_EQ(n_got, n_bytes);
+
   ui::ScopedClipboardWriter writer(GetClipboardBuffer(args));
-  base::span<const uint8_t> payload_span(
-      reinterpret_cast<const uint8_t*>(node::Buffer::Data(buffer)),
-      node::Buffer::Length(buffer));
-  writer.WriteUnsafeRawData(base::UTF8ToUTF16(format),
-                            mojo_base::BigBuffer(payload_span));
+  writer.WriteUnsafeRawData(base::UTF8ToUTF16(format), std::move(big_buffer));
 }
 
 void Clipboard::Write(const gin_helper::Dictionary& data,
Repository: denoland/deno
Pull request: fix: fix jupyter display function type


Changed files:
filename: cli/tsc/dts/lib.deno.unstable.d.ts
patch: @@ -2143,7 +2143,10 @@ declare namespace Deno {
      * @category Jupyter
      * @experimental
      */
-    export function display(obj: unknown, options?: DisplayOptions): void;
+    export function display(
+      obj: unknown,
+      options?: DisplayOptions,
+    ): Promise<void>;
 
     /**
      * Show Markdown in Jupyter frontends with a tagged template function.
@@ -2216,12 +2219,12 @@ declare namespace Deno {
      * Format an object for displaying in Deno
      *
      * @param obj - The object to be displayed
-     * @returns MediaBundle
+     * @returns Promise<MediaBundle>
      *
      * @category Jupyter
      * @experimental
      */
-    export function format(obj: unknown): MediaBundle;
+    export function format(obj: unknown): Promise<MediaBundle>;
 
     /**
      * Broadcast a message on IO pub channel.
Repository: facebook/react
Pull request: Changed example json value.

Hi.

When I had to try the [tutorial](https://facebook.github.io/react/docs/tutorial.html#updating-state), I get an error at the Chrome console.

```
react.js:19287 Warning: flattenChildren(...): Encountered two children with the same key, `.$undefined`. Child keys must be unique; when two children share a key, only the first child will be used.
```

Fixed value of json.


Changed files:
filename: docs/docs/tutorial.md
patch: @@ -380,8 +380,8 @@ When the component is first created, we want to GET some JSON from the server an
 
 ```json
 [
-  {"author": "Pete Hunt", "text": "This is one comment"},
-  {"author": "Jordan Walke", "text": "This is *another* comment"}
+  {"id": "1", "author": "Pete Hunt", "text": "This is one comment"},
+  {"id": "2", "author": "Jordan Walke", "text": "This is *another* comment"}
 ]
 ```