helloadhavan/github_issues huggingface dataset:
Repository: electron/electron
Pull request: fix: `net.isOnline` always true in utility processes

Backport of #48111

See that PR for details.


Notes: Fixed an issue where `net.isOnline()` always returned `true` in utilityProcesses.


Changed files:
filename: shell/services/node/node_service.cc
patch: @@ -11,6 +11,7 @@
 #include "base/no_destructor.h"
 #include "base/strings/utf_string_conversions.h"
 #include "electron/mas.h"
+#include "net/base/network_change_notifier.h"
 #include "services/network/public/cpp/wrapper_shared_url_loader_factory.h"
 #include "services/network/public/mojom/host_resolver.mojom.h"
 #include "services/network/public/mojom/network_context.mojom.h"
@@ -127,6 +128,10 @@ void NodeService::Initialize(
 
   node_bindings_->Initialize(js_env_->isolate()->GetCurrentContext());
 
+  network_change_notifier_ = net::NetworkChangeNotifier::CreateIfNeeded(
+      net::NetworkChangeNotifier::CONNECTION_UNKNOWN,
+      net::NetworkChangeNotifier::ConnectionSubtype::SUBTYPE_UNKNOWN);
+
   // Append program path for process.argv0
   auto program = base::CommandLine::ForCurrentProcess()->GetProgram();
 #if defined(OS_WIN)

filename: shell/services/node/node_service.h
patch: @@ -11,6 +11,7 @@
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "net/base/network_change_notifier.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "services/network/public/mojom/host_resolver.mojom.h"
 #include "services/network/public/mojom/url_loader_factory.mojom-forward.h"
@@ -84,6 +85,8 @@ class NodeService : public node::mojom::NodeService {
 
   // depends-on: js_env_'s isolate
   std::shared_ptr<node::Environment> node_env_;
+
+  std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier_;
 };
 
 }  // namespace electron
Repository: vuejs/vue
Pull request: Some improvements for "Modal" example

I've taken the liberty to:
- Rename `modal.css` into `style.css` following other examples' convention
- Merge the two `<script>` tags into one for leaner code.


Changed files:
filename: examples/modal/index.html
patch: @@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <title>Vue.js Modal Example</title>
     <script src="../../dist/vue.js"></script>
-    <link rel="stylesheet" href="modal.css">
+    <link rel="stylesheet" href="style.css">
   </head>
   <body>
     <!-- template for the modal component -->
@@ -38,13 +38,6 @@
       </div>
     </script>
 
-    <script>
-      // register modal component
-      Vue.component('modal', {
-        template: '#modal-template'
-      })
-    </script>
-
     <!-- app -->
     <div id="app">
       <button id="show-modal" @click="showModal = true">Show Modal</button>
@@ -59,6 +52,11 @@ <h3 slot="header">custom header</h3>
     </div>
 
     <script>
+      // register modal component
+      Vue.component('modal', {
+        template: '#modal-template'
+      })
+
       // start app
       new Vue({
         el: '#app',

filename: examples/modal/style.css
patch: @@ -40,7 +40,7 @@
 }
 
 /*
- * the following styles are auto-applied to elements with
+ * The following styles are auto-applied to elements with
  * transition="modal" when their visibility is toggled
  * by Vue.js.
  *
Repository: nodejs/node
Pull request: Make `test-worker-message-port-infinite-message-loop.js` fail when the `port1.on('message'` callback isn't called

The test `test-worker-message-port-infinite-message-loop.js` currently passes if the MessagePort does not emit any messages. 

If the message port does not emit a `"message"` event then the infinite message loop would never occur, therefore it's probably not the intent of the test.

Context: this test was incorrectly passing in Bun when we currently do not start the MessagePort until the `start` method is called. This test continues to pass in Node and now correctly fails in Bun (we will fix this later).

Changed files:
filename: test/parallel/test-worker-message-port-infinite-message-loop.js
patch: @@ -27,3 +27,14 @@ port2.postMessage(0);
 // This is part of the test -- the event loop should be available and not stall
 // out due to the recursive .postMessage() calls.
 setTimeout(common.mustCall(), 0);
+
+// Assert that the 'message' handler was actually called.
+//
+// We do not want to assert a specific call count, so common.mustCall cannot be
+// used in the port1.on('message' callback directly.
+process.once(
+  'beforeExit',
+  common.mustCall(() => {
+    assert(count > 0, 'count should be greater than 0');
+  })
+);
Repository: facebook/react
Pull request: Export __COMPILER_RUNTIME in stable



In order to make use of the compiler in stable releases (eg React 19 RC, canary), we need to export the compiler runtime in the stable channel as well.


Changed files:
filename: packages/react/index.stable.js
patch: @@ -9,6 +9,7 @@
 
 export {
   __CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
+  __COMPILER_RUNTIME,
   act,
   Children,
   Component,
Repository: ggml-org/llama.cpp
Pull request: examples : remove references to `make` in examples [no ci]

This commit removes references to `make` in the examples, as the build system has been updated to use CMake directly and using `make` will now generate an error since Commit 37f10f955f70e0158d50343d0b9a3f92d194daae ("make : remove make in favor of CMake (#15449)").


Changed files:
filename: examples/batched.swift/README.md
patch: @@ -1,4 +1,5 @@
 This is a swift clone of `examples/batched`.
 
-$ `make`
-$ `./llama-batched-swift MODEL_PATH [PROMPT] [PARALLEL]`
+```bash
+$ ./llama-batched-swift MODEL_PATH [PROMPT] [PARALLEL]
+```

filename: examples/passkey/README.md
patch: @@ -11,5 +11,5 @@ See the following PRs for more info:
 ### Usage
 
 ```bash
-make -j && ./llama-passkey -m ./models/llama-7b-v2/ggml-model-f16.gguf --junk 250
+llama-passkey -m ./models/llama-7b-v2/ggml-model-f16.gguf --junk 250
 ```

filename: examples/retrieval/README.md
patch: @@ -15,7 +15,7 @@ https://github.com/ggml-org/llama.cpp/pull/6193
 `retrieval` example can be tested as follows:
 
 ```bash
-make -j && ./llama-retrieval --model ./models/bge-base-en-v1.5-f16.gguf --top-k 3 --context-file README.md --context-file License --chunk-size 100 --chunk-separator .
+llama-retrieval --model ./models/bge-base-en-v1.5-f16.gguf --top-k 3 --context-file README.md --context-file License --chunk-size 100 --chunk-separator .
 ```
 
 This chunks and embeds all given files and starts a loop requesting query inputs:

filename: examples/sycl/win-build-sycl.bat
patch: @@ -18,8 +18,6 @@ if %errorlevel% neq 0 goto ERROR
 ::  for FP32
 cmake -G "Ninja" .. -DLLAMA_CURL=OFF -DGGML_SYCL=ON -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=icx -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release
 if %errorlevel% neq 0 goto ERROR
-::  build example/main only
-::  make main
 
 ::  build all binary
 cmake --build . -j
Repository: ollama/ollama
Pull request: Centos 7 EOL broke mirrors

As of July 1st 2024: Could not resolve host: mirrorlist.centos.org This is expected due to EOL dates.

Changed files:
filename: scripts/rh_linux_deps.sh
patch: @@ -6,10 +6,21 @@ set -ex
 MACHINE=$(uname -m)
 
 if grep -i "centos" /etc/system-release >/dev/null; then
+    # As of 7/1/2024 mirrorlist.centos.org has been taken offline, so adjust accordingly
+    sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
+    sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
+    sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
+
     # Centos 7 derivatives have too old of a git version to run our generate script
     # uninstall and ignore failures
     yum remove -y git
     yum -y install epel-release centos-release-scl
+
+    # The release packages reinstate the mirrors, undo that again
+    sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
+    sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
+    sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
+
     yum -y install dnf
     if [ "${MACHINE}" = "x86_64" ]; then
         yum -y install https://repo.ius.io/ius-release-el7.rpm
Repository: electron/electron
Pull request: fix: `net.isOnline` always true in utility processes

#### Description of Change

Closes #48100.

Fixes an issue where `net.isOnline()` always returned `true` in utilityProcesses. This happened because utility processes never created a `net::NetworkChangeNotifier`, so `net.isOnline()` always saw a null [global](https://source.chromium.org/chromium/chromium/src/+/main:net/base/network_change_notifier.cc;drc=280cd6cc9ad696c74313035a0bbaab8f4f8c4bf4;bpv=1;bpt=1;l=52) and defaulted to “online”.

Fix this by adding a per‑utility‑process `NetworkChangeNotifier` during `NodeService::Initialize()]`, allowing `net.isOnline()`  to reflect real connectivity. 

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [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: Fixed an issue where `net.isOnline()` always returned `true` in utilityProcesses.


Changed files:
filename: shell/services/node/node_service.cc
patch: @@ -12,6 +12,7 @@
 #include "base/process/process.h"
 #include "base/strings/utf_string_conversions.h"
 #include "electron/mas.h"
+#include "net/base/network_change_notifier.h"
 #include "services/network/public/cpp/wrapper_shared_url_loader_factory.h"
 #include "services/network/public/mojom/host_resolver.mojom.h"
 #include "services/network/public/mojom/network_context.mojom.h"
@@ -127,6 +128,10 @@ void NodeService::Initialize(
 
   node_bindings_->Initialize(isolate, isolate->GetCurrentContext());
 
+  network_change_notifier_ = net::NetworkChangeNotifier::CreateIfNeeded(
+      net::NetworkChangeNotifier::CONNECTION_UNKNOWN,
+      net::NetworkChangeNotifier::ConnectionSubtype::SUBTYPE_UNKNOWN);
+
   // Append program path for process.argv0
   auto program = base::CommandLine::ForCurrentProcess()->GetProgram();
 #if defined(OS_WIN)

filename: shell/services/node/node_service.h
patch: @@ -11,6 +11,7 @@
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "net/base/network_change_notifier.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "services/network/public/mojom/host_resolver.mojom.h"
 #include "services/network/public/mojom/url_loader_factory.mojom-forward.h"
@@ -84,6 +85,8 @@ class NodeService : public node::mojom::NodeService {
 
   // depends-on: js_env_'s isolate
   std::shared_ptr<node::Environment> node_env_;
+
+  std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier_;
 };
 
 }  // namespace electron
Repository: facebook/react
Pull request: Use completedRenderEndTime as the start of the commit phase if it's an immediate commit

We don't log a phase like "Throttled" or "Suspended" for this case so it can leave a tiny gap otherwise.

This ensures it connects without a seam.

<img width="1059" alt="Screenshot 2024-11-12 at 9 34 17 PM" src="https://github.com/user-attachments/assets/7ed4a3c7-b508-4fc1-b956-44c4e31faa4d">


Changed files:
filename: packages/react-reconciler/src/ReactFiberWorkLoop.js
patch: @@ -3250,7 +3250,12 @@ function commitRootImpl(
 
   if (enableProfilerTimer && enableComponentPerformanceTrack) {
     recordCommitEndTime();
-    logCommitPhase(commitStartTime, commitEndTime);
+    logCommitPhase(
+      suspendedCommitReason === IMMEDIATE_COMMIT
+        ? completedRenderEndTime
+        : commitStartTime,
+      commitEndTime,
+    );
   }
 
   const rootDidHavePassiveEffects = rootDoesHavePassiveEffects;
Repository: vuejs/vue
Pull request: Expose the author URL in "Commits" example

Skimming through 2.0 to grab a hold, and I think some exposure for the authors in the Commits example might be useful.


Changed files:
filename: examples/commits/index.html
patch: @@ -36,7 +36,7 @@ <h1>Latest Vue.js Commits</h1>
         <li v-for="record in commits">
           <a :href="record.html_url" target="_blank" class="commit">{{record.sha.slice(0, 7)}}</a>
           - <span class="message">{{truncate(record.commit.message)}}</span><br>
-          by <span class="author">{{record.commit.author.name}}</span>
+          by <span class="author"><a :href="record.author.html_url" target="_blank">{{record.commit.author.name}}</a></span>
           at <span class="date">{{formatDate(record.commit.author.date)}}</span>
         </li>
       </ul>
Repository: vuejs/vue
Pull request: Add an option to extend a component

#### Related to: vuejs/vue-loader#207

This works as expected for the `<template>` and the `<script>`, but not for the `<style>`.
I noticed that all the `styles` are loaded, but with the wrong priority.

Maybe some changes are needed to the `vue-loader` to figure out that, right?


Changed files:
filename: src/util/options.js
patch: @@ -332,6 +332,9 @@ export function mergeOptions (parent, child, vm) {
   }
   var options = {}
   var key
+  if (child.extends) {
+    parent = mergeOptions(parent, child.extends, vm)
+  }
   if (child.mixins) {
     for (var i = 0, l = child.mixins.length; i < l; i++) {
       parent = mergeOptions(parent, child.mixins[i], vm)

filename: test/unit/specs/util/options_spec.js
patch: @@ -278,6 +278,20 @@ describe('Util - Option merging', function () {
     expect(Object.getOwnPropertyDescriptor(data, 'b').get).toBeTruthy()
   })
 
+  it('extends', function () {
+    var f1 = function () {}
+    var f2 = function () {}
+    var f3 = function () {}
+    var componentA = { template: 'foo', methods: { f1: f1, f2: function () {} } }
+    var componentB = { extends: componentA, methods: { f2: f2 } }
+    var componentC = { extends: componentB, template: 'bar', methods: { f3: f3 } }
+    var res = merge({}, componentC)
+    expect(res.template).toBe('bar')
+    expect(res.methods.f1).toBe(f1)
+    expect(res.methods.f2).toBe(f2)
+    expect(res.methods.f3).toBe(f3)
+  })
+
   it('mixins', function () {
     var a = {}
     var b = {}
Repository: electron/electron
Pull request: fix: webContent.fromId should be number instead of string

#### Description of Change

The fromId defined in the file accepts a string arg, while the api docs are number, the native binding also wants a int32.

#### Release Notes

Notes: none

Changed files:
filename: lib/browser/api/web-contents.ts
patch: @@ -882,7 +882,7 @@ export function create (options = {}): Electron.WebContents {
   return new (WebContents as any)(options);
 }
 
-export function fromId (id: string) {
+export function fromId (id: number) {
   return binding.fromId(id);
 }
Repository: vercel/next.js
Pull request: [test] Deflake tests comparing two random numbers

Fixes https://github.com/vercel/next.js/actions/runs/18941959686/job/54089826267

Tests asserted that two consecutive random numbers are not equal. If random number generators would work that way, they wouldn't be truly random.

The range was very low (<=128) so every 128 tests failed without fault. We retry 2 more times so it only showed up as truly failed 1 in a million. That's not that unreasonable to hit.

1:2^48 should be actually rare. I buy you a beer if you get a test failure on that.

Changed files:
filename: test/e2e/app-dir/cache-components/app/node-crypto/random-int/between/cached/page.tsx
patch: @@ -25,8 +25,8 @@ async function getRandomIntBetween(nonce: number) {
   if (nonce === 2) {
     // We want to exercise the case where the function arguments are length 3
     // but the third arg is still not a callback so it runs sync
-    return crypto.randomInt(128, 256, undefined) as undefined as number
+    return crypto.randomInt(0, 2 ** 48 - 1, undefined) as undefined as number
   } else {
-    return crypto.randomInt(128, 256)
+    return crypto.randomInt(0, 2 ** 48 - 1)
   }
 }

filename: test/e2e/app-dir/cache-components/app/node-crypto/random-int/up-to/cached/page.tsx
patch: @@ -22,5 +22,5 @@ export default async function Page() {
 
 async function getRandomIntUpTo(_nonce: number) {
   'use cache'
-  return crypto.randomInt(128)
+  return crypto.randomInt(2 ** 48 - 1)
 }
Repository: vercel/next.js
Pull request: [test] Deflake prerender suite

Hopefully deflakes 

> SyntaxError: Unexpected non-whitespace character after JSON at position 614

-- https://github.com/vercel/next.js/actions/runs/18936028011/job/54065229936?pr=85537#step:34:254

Seems like a legit bug due to race conditions. It failed on the fifth page so making a cut there

Changed files:
filename: test/e2e/prerender.test.ts
patch: @@ -371,19 +371,19 @@ describe('Prerender', () => {
 
   const navigateTest = (isDev = false) => {
     it('should navigate between pages successfully', async () => {
-      const toBuild = [
-        '/',
-        '/another',
-        '/something',
-        '/normal',
-        '/blog/post-1',
-        '/blog/post-1/comment-1',
-        '/catchall/first',
+      // TODO: Compiling this many pages in parallel hits some race condition
+      // causing "SyntaxError: Unexpected non-whitespace character after JSON at position 614"
+      // which persists throughout Next.js Server instance lifetime.
+      // Compiling in batches to avoid that unknown bug.
+      const toBuildBatches = [
+        ['/', '/another', '/something', '/normal'],
+        ['/blog/post-1', '/blog/post-1/comment-1', '/catchall/first'],
       ]
 
-      await waitFor(2500)
-
-      await Promise.all(toBuild.map((pg) => renderViaHTTP(next.url, pg)))
+      for (const toBuild of toBuildBatches) {
+        // eslint-disable-next-line no-loop-func -- we're not accessing `next` after the loop was exited.
+        await Promise.all(toBuild.map((pg) => renderViaHTTP(next.url, pg)))
+      }
 
       const browser = await webdriver(next.url, '/')
       let text = await browser.elementByCss('p').text()
Repository: huggingface/transformers
Pull request: update deps table

# What does this PR do?
Push a new docker image


Changed files:
filename: setup.py
patch: @@ -138,7 +138,7 @@
     "pyyaml>=5.1",
     "pydantic>=2",
     "pytest>=7.2.0",
-    "pytest-asyncio",
+    "pytest-asyncio>=1.2.0",
     "pytest-rerunfailures<16.0",
     "pytest-timeout",
     "pytest-xdist",

filename: src/transformers/dependency_versions_table.py
patch: @@ -48,7 +48,7 @@
     "pyyaml": "pyyaml>=5.1",
     "pydantic": "pydantic>=2",
     "pytest": "pytest>=7.2.0",
-    "pytest-asyncio": "pytest-asyncio",
+    "pytest-asyncio": "pytest-asyncio>=1.2.0",
     "pytest-rerunfailures": "pytest-rerunfailures<16.0",
     "pytest-timeout": "pytest-timeout",
     "pytest-xdist": "pytest-xdist",
Repository: vuejs/vue
Pull request: Fix x-template typo in select2 example

This typo has no effect on the demo.


Changed files:
filename: examples/select2/index.html
patch: @@ -18,7 +18,7 @@
     <div id="el">
     </div>
 
-    <script type="text/x-tempalte" id="demo-template">
+    <script type="text/x-template" id="demo-template">
       <div>
         <p>Selected: {{ selected }}</p>
         <select2 :options="options" v-model="selected">
Repository: huggingface/transformers
Pull request: Remove unused functions in `image_transforms.py`

Delete a unused function and class from image_transforms.py file.

Changed files:
filename: src/transformers/image_transforms.py
patch: @@ -821,12 +821,6 @@ def split_to_tiles(images: "torch.Tensor", num_tiles_height: int, num_tiles_widt
     return image
 
 
-def _cast_tensor_to_float(x):
-    if x.is_floating_point():
-        return x
-    return x.float()
-
-
 def _group_images_by_shape(nested_images, *paired_inputs, is_nested: bool = False):
     """
     Helper function to flatten a single level of nested image and batch structures and group by shape.
@@ -1005,14 +999,3 @@ def reorder_images(
         ]
 
     return _reconstruct_nested_structure(grouped_images_index, processed_images)
-
-
-class NumpyToTensor:
-    """
-    Convert a numpy array to a PyTorch tensor.
-    """
-
-    def __call__(self, image: np.ndarray):
-        # Same as in PyTorch, we assume incoming numpy images are in HWC format
-        # c.f. https://github.com/pytorch/vision/blob/61d97f41bc209e1407dcfbd685d2ee2da9c1cdad/torchvision/transforms/functional.py#L154
-        return torch.from_numpy(image.transpose(2, 0, 1)).contiguous()
Repository: nodejs/node
Pull request: lib: fix typo in QuicSessionStats

Corrects the misspelling of "privateSynbol" to "privateSymbol".

Changed files:
filename: lib/internal/quic/stats.js
patch: @@ -307,13 +307,13 @@ class QuicSessionStats {
   #disconnected = false;
 
   /**
-   * @param {symbol} privateSynbol
+   * @param {symbol} privateSymbol
    * @param {BigUint64Array} buffer
    */
-  constructor(privateSynbol, buffer) {
+  constructor(privateSymbol, buffer) {
     // We use the kPrivateConstructor symbol to restrict the ability to
     // create new instances of QuicSessionStats to internal code.
-    if (privateSynbol !== kPrivateConstructor) {
+    if (privateSymbol !== kPrivateConstructor) {
       throw new ERR_ILLEGAL_CONSTRUCTOR();
     }
     if (!isArrayBuffer(buffer)) {
Repository: ggml-org/llama.cpp
Pull request: hparams : add check for layer index in is_recurrent

This commit adds a check in the is_recurrent method to ensure that the provided layer index is within the valid range.

The motivation for this change is to prevent potential out-of-bounds and also be consistent with other methods in the class that perform similar checks, like is_swa.


Changed files:
filename: src/llama-hparams.cpp
patch: @@ -140,7 +140,11 @@ uint32_t llama_hparams::n_embd_s() const {
 }
 
 bool llama_hparams::is_recurrent(uint32_t il) const {
-    return recurrent_layer_arr[il];
+    if (il < n_layer) {
+        return recurrent_layer_arr[il];
+    }
+
+    GGML_ABORT("%s: il (%u) out of bounds (n_layer: %u)\n", __func__, il, n_layer);
 }
 
 uint32_t llama_hparams::n_pos_per_embd() const {
Repository: facebook/react
Pull request: [ez] Update useMemoCache return type



Use `mixed` instead of `any`


Changed files:
filename: packages/react-debug-tools/src/ReactDebugHooks.js
patch: @@ -560,7 +560,7 @@ function useId(): string {
 
 // useMemoCache is an implementation detail of Forget's memoization
 // it should not be called directly in user-generated code
-function useMemoCache(size: number): Array<any> {
+function useMemoCache(size: number): Array<mixed> {
   const fiber = currentFiber;
   // Don't throw, in case this is called from getPrimitiveStackCache
   if (fiber == null) {

filename: packages/react-reconciler/src/ReactFiberHooks.js
patch: @@ -1199,7 +1199,7 @@ function use<T>(usable: Usable<T>): T {
   throw new Error('An unsupported type was passed to use(): ' + String(usable));
 }
 
-function useMemoCache(size: number): Array<any> {
+function useMemoCache(size: number): Array<mixed> {
   let memoCache = null;
   // Fast-path, load memo cache from wip fiber if already prepared
   let updateQueue: FunctionComponentUpdateQueue | null =

filename: packages/react-server/src/ReactFizzHooks.js
patch: @@ -792,7 +792,7 @@ function useCacheRefresh(): <T>(?() => T, ?T) => void {
   return unsupportedRefresh;
 }
 
-function useMemoCache(size: number): Array<any> {
+function useMemoCache(size: number): Array<mixed> {
   const data = new Array<any>(size);
   for (let i = 0; i < size; i++) {
     data[i] = REACT_MEMO_CACHE_SENTINEL;

filename: packages/react/src/ReactHooks.js
patch: @@ -212,7 +212,7 @@ export function use<T>(usable: Usable<T>): T {
   return dispatcher.use(usable);
 }
 
-export function useMemoCache(size: number): Array<any> {
+export function useMemoCache(size: number): Array<mixed> {
   const dispatcher = resolveDispatcher();
   // $FlowFixMe[not-a-function] This is unstable, thus optional
   return dispatcher.useMemoCache(size);