Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

infinite loop caused by isInViewRef #572

Closed
jjenzz opened this issue Jul 5, 2022 · 12 comments · Fixed by #573
Closed

infinite loop caused by isInViewRef #572

jjenzz opened this issue Jul 5, 2022 · 12 comments · Fixed by #573
Labels

Comments

@jjenzz
Copy link

jjenzz commented Jul 5, 2022

When calling setRef from this package, it causes an infinite loop if called from within an inline function e.g. when passed as a param to packages like react-merge-ref.

Here's a simple repro of the issue (calling manually from inside an inline ref callback):

https://codesandbox.io/s/sweet-rgb-6werdb?file=/src/App.js

When an inline ref function is used, React will set the ref to null and back again on every render. So, from my quick dive into this package's code I believe this caveat is causing the observer to set up again which is firing setState and re-rendering, which calls setRef with null (and back again), and loops.

@thebuilder
Copy link
Owner

thebuilder commented Jul 5, 2022

Hey @jjenzz, see the FAQ. If your application code needs access to the ref, then you must make a stable useCallback function.

There's no perfect way to solve this (that I'm aware of) - The library needs to use the callback ref function, since this is the only way it can correctly determine when the ref is set/changed.

Valid use cases I've seen include:

  • Not setting the ref on initial render (maybe a spinner is shown)
  • Removing the ref after initial render
  • Moving the ref between elements
  • Toggling the ref based on UI state

All of these require the IntersectionObserver to be recreated, to correctly determine the new state.

@jjenzz
Copy link
Author

jjenzz commented Jul 6, 2022

There's no perfect way to solve this (that I'm aware of)

The lib is calling setState with a new object reference regardless of whether the intersection value has actually changed (causing an infinite loop). Checking for change there would prevent it:

Another approach is to take advantage of React's batching to set the node in state:

https://codesandbox.io/s/fervent-wood-h7jj1g?file=/src/App.js

There are likely other ways I haven't considered but it does seem that the lib should be able to handle it.

@thebuilder
Copy link
Owner

Thank you for the ideas, @jjenzz. 🙏
I'll try and see if I can come up with a stable solution - It has been bugging me, but just seemed like it was that way across the React ecosystem.

Is it safe to use batching/setState instead of the useCallback for handling ref? Or any caveats to be aware of?

@jjenzz
Copy link
Author

jjenzz commented Jul 6, 2022

Is it safe to use batching/setState instead of the useCallback for handling ref? Or any caveats to be aware of?

All safe as far as I know. A callback ref expects a function and setState is a function after all. Only caveat is an additional render on mount.

@thebuilder
Copy link
Owner

Seems to be causing quite a few extra renders - You already get two because of setState when the initial inView is set.

I've tried updating the callback, so it compares the entry with previous entry before updating state.

(inView, entry) => {
  setState((prevState) => {
    if (!mounted) {
      mounted = true;

      if (
        prevState.entry &&
        prevState.entry.target === entry.target &&
        prevState.entry.isIntersecting === entry.isIntersecting &&
        prevState.entry.intersectionRatio === entry.intersectionRatio
      ) {
        // Hook has previously been used. Don't update the state
        return prevState;
      }
    }
    return {
      inView,
      entry,
    };
  });

  if (entry.isIntersecting && triggerOnce && unobserve.current) {
    // If it should only trigger once, unobserve the element after it's inView
    unobserve.current();
    unobserve.current = undefined;
  }
},

It's kinda working, but if you are scrolling slowly on the page, it will trigger multiple updates since the intersectionRatio keeps changing. In general this approach will cause the entry to be incorrect. It might be fine, but if a consumer is using specific values (like time, intersectionRatio, intersectionRect), then it becomes unreliable.

It will also recreate the IntersectionObserver on each render, instead of reusing it the instance - Would have to make the cleanup function lazy, which is going to cause extra headaches with async timeouts.

@thebuilder
Copy link
Owner

Tried with batching setState instead, and that seems to be working nicely. But it is triggering 3 renders, instead of 2 when mounted. Will try it out some more. 🤞

@jjenzz
Copy link
Author

jjenzz commented Jul 22, 2022

are you in StrictMode on dev when you see 3 renders? React will trigger an extra render in this case on purpose.

@thebuilder
Copy link
Owner

are you in StrictMode on dev when you see 3 renders? React will trigger an extra render in this case on purpose.

No, StrictMode would double the renders. You can see it in your CodeSandbox (updated with the changes from the PR)

The following happens on every mount of the Hook:

  1. Initial render, set the ref on HTML element
  2. State updated with ref
  3. Callback from IntersectionObserver with a new state

@jjenzz
Copy link
Author

jjenzz commented Jul 22, 2022

  1. Initial render, set the ref on HTML element
  2. State updated with ref
  3. Callback from IntersectionObserver with a new state

Ah, yeah that makes sense, there's not much you can do about that tho with this approach.

@thebuilder
Copy link
Owner

🎉 This issue has been resolved in version 9.4.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

bors bot referenced this issue in noaione/naoTimesUI Jul 29, 2022
171: chore(deps): update dependency @sentry/nextjs to v7.8.0 r=noaione a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [`@sentry/nextjs](https://togithub.com/getsentry/sentry-javascript)` | [`7.0.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/`@sentry%2fnextjs/7.0.0/7.8.0)` | [![age](https://badges.renovateapi.com/packages/npm/`@sentry%2fnextjs/7.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)` | [![adoption](https://badges.renovateapi.com/packages/npm/`@sentry%2fnextjs/7.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)` | [![passing](https://badges.renovateapi.com/packages/npm/`@sentry%2fnextjs/7.8.0/compatibility-slim/7.0.0)](https://docs.renovatebot.com/merge-confidence/)` | [![confidence](https://badges.renovateapi.com/packages/npm/`@sentry%2fnextjs/7.8.0/confidence-slim/7.0.0)](https://docs.renovatebot.com/merge-confidence/)` |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript</summary>

### [`v7.8.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;780)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.7.0...7.8.0)

This release adds the `transpileClientSDK` flag to the Next.JS SDK Webpack config. This option makes WebPack transpile the SDK code to the same transpilation level as the user code. By specifying this option, the Next.JS SDK works in older browsers that do not support ES6 or ES6+ (e.g. object spread) features.

-   feat(react): Use state context for Redux integration ([#&#8203;5471](https://togithub.com/getsentry/sentry-javascript/issues/5471))
-   feat(remix): Set sentry-trace and baggage <meta> tags on server-side ([#&#8203;5440](https://togithub.com/getsentry/sentry-javascript/issues/5440))
-   feat(tracing): Allow storing span metadata ([#&#8203;5464](https://togithub.com/getsentry/sentry-javascript/issues/5464))
-   feat(tracing): Log start and end of span ([#&#8203;5446](https://togithub.com/getsentry/sentry-javascript/issues/5446))
-   fix(nextjs): Add transpileClientSDK option ([#&#8203;5472](https://togithub.com/getsentry/sentry-javascript/issues/5472))
-   fix(nextjs): Move userNextConfig.sentry to closure ([#&#8203;5473](https://togithub.com/getsentry/sentry-javascript/issues/5473))
-   fix(nextjs): Remove index signaure in `captureUnderscoreErrorException` argument type ([#&#8203;5463](https://togithub.com/getsentry/sentry-javascript/issues/5463))
-   fix(nextjs): Stop using `eval` when checking for `sentry-cli` binary ([#&#8203;5447](https://togithub.com/getsentry/sentry-javascript/issues/5447))
-   fix(remix): Clone erroneous responses not to consume their body streams. ([#&#8203;5429](https://togithub.com/getsentry/sentry-javascript/issues/5429))
-   fix(remix): Do not capture 4xx codes from thrown responses. ([#&#8203;5441](https://togithub.com/getsentry/sentry-javascript/issues/5441))
-   ref(angular): Set ErrorHandler Exception Mechanism to be unhandled by default([#&#8203;3844](https://togithub.com/getsentry/sentry-javascript/issues/3844))
-   ref(nextjs): Extract `isBuild` into an exported function ([#&#8203;5444](https://togithub.com/getsentry/sentry-javascript/issues/5444))
-   ref(nextjs): Remove compensation for workaround in `_error.js` ([#&#8203;5378](https://togithub.com/getsentry/sentry-javascript/issues/5378))
-   ref(nextjs): Use loader to set `RewriteFrames` helper value ([#&#8203;5445](https://togithub.com/getsentry/sentry-javascript/issues/5445))
-   ref(node): Improve Express URL Parameterization ([#&#8203;5450](https://togithub.com/getsentry/sentry-javascript/issues/5450))
-   ref(utils): Improve uuid generation ([#&#8203;5426](https://togithub.com/getsentry/sentry-javascript/issues/5426))

Work in this release contributed by [`@&#8203;mitchheddles](https://togithub.com/mitchheddles).` Thank you for your contribution!

### [`v7.7.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;770)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.6.0...7.7.0)

-   feat(angular): Add URL parameterization of transaction names ([#&#8203;5416](https://togithub.com/getsentry/sentry-javascript/issues/5416))
-   fix(core): Add `sentry_client` to auth headers ([#&#8203;5413](https://togithub.com/getsentry/sentry-javascript/issues/5413))
-   fix(remix): Add `documentRequest` function name. ([#&#8203;5404](https://togithub.com/getsentry/sentry-javascript/issues/5404))
-   fix(remix): Skip capturing `ok` responses as errors. ([#&#8203;5405](https://togithub.com/getsentry/sentry-javascript/issues/5405))
-   ref(remix): Add transaction source ([#&#8203;5398](https://togithub.com/getsentry/sentry-javascript/issues/5398))

### [`v7.6.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;760)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.5.1...7.6.0)

This release adds [the `source` field](https://develop.sentry.dev/sdk/event-payloads/properties/transaction_info/) to all outgoing transactions.
See the [tracking GH issue](https://togithub.com/getsentry/sentry-javascript/issues/5345) for more details.

This release also re-enables lambda layer releases for the Node Serverless SDK.

-   ref(angular): Add transaction source for Angular Router ([#&#8203;5382](https://togithub.com/getsentry/sentry-javascript/issues/5382))
-   ref(build): Reenable lambda layer release in craft ([#&#8203;5207](https://togithub.com/getsentry/sentry-javascript/issues/5207))
-   feat(nextjs): Record transaction name source when creating transactions ([#&#8203;5391](https://togithub.com/getsentry/sentry-javascript/issues/5391))
-   ref(react): Add source to react-router-v3 ([#&#8203;5377](https://togithub.com/getsentry/sentry-javascript/issues/5377))
-   ref(react): Add transaction source for react router v4/v5 ([#&#8203;5384](https://togithub.com/getsentry/sentry-javascript/issues/5384))
-   ref(react): Add transaction source for react router v6 ([#&#8203;5385](https://togithub.com/getsentry/sentry-javascript/issues/5385))
-   feat(remix): Wrap root with ErrorBoundary ([#&#8203;5365](https://togithub.com/getsentry/sentry-javascript/issues/5365))
-   fix(remix): Move hook checks inside the wrapper component ([#&#8203;5371](https://togithub.com/getsentry/sentry-javascript/issues/5371))
-   fix(remix): Strip query params from transaction names ([#&#8203;5368](https://togithub.com/getsentry/sentry-javascript/issues/5368))
-   fix(remix): Make peer deps less restrictive ([#&#8203;5369](https://togithub.com/getsentry/sentry-javascript/issues/5369))
-   fix(remix): Wrap handleDocumentRequest functions ([#&#8203;5387](https://togithub.com/getsentry/sentry-javascript/issues/5387))
-   ref(serverless): Add transaction source ([#&#8203;5394](https://togithub.com/getsentry/sentry-javascript/issues/5394))
-   feat(tracing): Add transaction source field ([#&#8203;5367](https://togithub.com/getsentry/sentry-javascript/issues/5367))
-   feat(tracing): Record transaction name source when name set directly ([#&#8203;5396](https://togithub.com/getsentry/sentry-javascript/issues/5396))
-   ref(tracing): Add transaction source to default router ([#&#8203;5386](https://togithub.com/getsentry/sentry-javascript/issues/5386))
-   ref(tracing): Include transaction in DSC if transaction source is not an unparameterized URL ([#&#8203;5392](https://togithub.com/getsentry/sentry-javascript/issues/5392))
-   feat(vue): Add transaction source to VueRouter instrumentation ([#&#8203;5381](https://togithub.com/getsentry/sentry-javascript/issues/5381))

Work in this release contributed by [`@&#8203;moishinetzer](https://togithub.com/moishinetzer).` Thank you for your contribution!

### [`v7.5.1`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;751)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.5.0...7.5.1)

This release removes the `user_id` and the `transaction` field from the dynamic sampling context data that is attached to outgoing requests as well as sent to Relay.

-   ref(tracing): Remove transaction name and user_id from DSC ([#&#8203;5363](https://togithub.com/getsentry/sentry-javascript/issues/5363))

### [`v7.5.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;750)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.4.1...7.5.0)

This release adds the `sendDefaultPii` flag to the `Sentry.init` options.
When using performance monitoring capabilities of the SDK, it controls whether user IDs (set via `Sentry.setUser`) are propagated in the `baggage` header of outgoing HTTP requests.
This flag is set to `false` per default, and acts as an opt-in mechanism for sending potentially sensitive data.
If you want to attach user IDs to Sentry transactions and traces, set this flag to `true` but keep in mind that this is potentially sensitive information.

-   feat(sdk): Add sendDefaultPii option to the JS SDKs ([#&#8203;5341](https://togithub.com/getsentry/sentry-javascript/issues/5341))
-   fix(remix): Sourcemaps upload script is missing in the tarball ([#&#8203;5356](https://togithub.com/getsentry/sentry-javascript/issues/5356))
-   fix(remix): Use cjs for main entry point ([#&#8203;5352](https://togithub.com/getsentry/sentry-javascript/issues/5352))
-   ref(tracing): Only add `user_id` to DSC if `sendDefaultPii` is `true` ([#&#8203;5344](https://togithub.com/getsentry/sentry-javascript/issues/5344))

Work in this release contributed by [`@&#8203;jkcorrea](https://togithub.com/jkcorrea)` and [`@&#8203;nfelger](https://togithub.com/nfelger).` Thank you for your contributions!

### [`v7.4.1`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;741)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.4.0...7.4.1)

This release includes the first *published* version of ``@sentry/remix`.`

-   build(remix): Make remix package public ([#&#8203;5349](https://togithub.com/getsentry/sentry-javascript/issues/5349))

### [`v7.4.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;740)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.3.1...7.4.0)

This release contains the alpha version of ``@sentry/remix`,` our newest JavaScript SDK! For details on how to use
it, please see the [README](./packages/remix/README.md) and [the tracking GitHub issue](https://togithub.com/getsentry/sentry-javascript/issues/4894).

Attention: Due to an oversight, the ``@sentry/remix`` package is only published as part of the `7.4.1` release.

-   feat(remix): Enable Remix SDK ([#&#8203;5327](https://togithub.com/getsentry/sentry-javascript/issues/5327))
-   feat(remix): Add release / sourcemap upload script. ([#&#8203;5312](https://togithub.com/getsentry/sentry-javascript/issues/5312))
-   feat(remix): Add Remix server SDK ([#&#8203;5269](https://togithub.com/getsentry/sentry-javascript/issues/5269))
-   feat(remix): Add Remix client SDK ([#&#8203;5264](https://togithub.com/getsentry/sentry-javascript/issues/5264))
-   feat(remix): Add Remix SDK package boilerplate ([#&#8203;5256](https://togithub.com/getsentry/sentry-javascript/issues/5256))
-   fix(utils): Handle toJSON methods that return circular references ([#&#8203;5323](https://togithub.com/getsentry/sentry-javascript/issues/5323))

Work in this release contributed by [`@&#8203;MichaelDeBoey](https://togithub.com/MichaelDeBoey).` Thank you for your contribution!

Special thank you to [`@&#8203;jacob-ebey](https://togithub.com/jacob-ebey)` for pointing us in the right direction while we were working on the Remix SDK:
https://github.com/jacob-ebey/remix-sentry.

### [`v7.3.1`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;731)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.3.0...7.3.1)

-   feat(react): expose FallbackRender as top-level type ([#&#8203;5307](https://togithub.com/getsentry/sentry-javascript/issues/5307))
-   fix(core): Remove optional chaining usage ([#&#8203;5304](https://togithub.com/getsentry/sentry-javascript/issues/5304))
-   fix(ember): Restore ember package contents ([#&#8203;5318](https://togithub.com/getsentry/sentry-javascript/issues/5318))
-   fix(ember): Update README docs to match sentry-docs ([#&#8203;5315](https://togithub.com/getsentry/sentry-javascript/issues/5315))
-   ref(hub): Reduce hub bundle size ([#&#8203;5306](https://togithub.com/getsentry/sentry-javascript/issues/5306))
-   ref(tracing): Ignore third party baggage entries from incoming requests ([#&#8203;5319](https://togithub.com/getsentry/sentry-javascript/issues/5319))
-   ref(types): Add type for measurement unit ([#&#8203;5313](https://togithub.com/getsentry/sentry-javascript/issues/5313))

Work in this release contributed by [`@&#8203;MasterOdin](https://togithub.com/MasterOdin).` Thank you for your contribution!

### [`v7.3.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;730)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.2.0...7.3.0)

-   feat(nextjs): Add exception handler for `_error.js` ([#&#8203;5259](https://togithub.com/getsentry/sentry-javascript/issues/5259))
-   feat(tracing): Add additional Dynamic Sampling Context items to baggage and envelope headers ([#&#8203;5292](https://togithub.com/getsentry/sentry-javascript/issues/5292))
-   fix(node): Allow `ParseRequestOptions` to be passed to request handler ([#&#8203;5287](https://togithub.com/getsentry/sentry-javascript/issues/5287))
-   fix(tracing): Baggage parsing fails when input is not of type string ([#&#8203;5276](https://togithub.com/getsentry/sentry-javascript/issues/5276))
-   fix(tracing): Report the right units for CLS and TTFB ([#&#8203;5303](https://togithub.com/getsentry/sentry-javascript/issues/5303))
-   fix(vue): Property access on undefined in errorHandler ([#&#8203;5279](https://togithub.com/getsentry/sentry-javascript/issues/5279))
-   ref(node): Move stack parser to utils so it can be used from Electron ([#&#8203;5286](https://togithub.com/getsentry/sentry-javascript/issues/5286))
-   ref(tracing): Move getBaggage() from Span to Transaction class ([#&#8203;5299](https://togithub.com/getsentry/sentry-javascript/issues/5299))
-   ref(tracing): Unify DSC key names in envelope and baggage headers ([#&#8203;5302](https://togithub.com/getsentry/sentry-javascript/issues/5302))

Work in this release contributed by [`@&#8203;Arinono](https://togithub.com/Arinono).` Thank you for your contribution!

### [`v7.2.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;720)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.1.1...7.2.0)

-   feat(angular): Add Angular 14 support ([#&#8203;5253](https://togithub.com/getsentry/sentry-javascript/issues/5253))
-   feat(tracing): GraphQL and Apollo Integrations ([#&#8203;3953](https://togithub.com/getsentry/sentry-javascript/issues/3953))
-   fix(docs): Adjust hash-link to propagation-of-baggage-header ([#&#8203;5235](https://togithub.com/getsentry/sentry-javascript/issues/5235))
-   fix(docs): Update MIGRATION for SeverityLevel ([#&#8203;5225](https://togithub.com/getsentry/sentry-javascript/issues/5225))
-   fix(nextjs): Export `showReportDialog` from NextJS SDK ([#&#8203;5242](https://togithub.com/getsentry/sentry-javascript/issues/5242))
-   fix(vue): Accounts for undefined options when formatting component name ([#&#8203;5254](https://togithub.com/getsentry/sentry-javascript/issues/5254))
-   ref(node): Move request-data-extraction functions to``@sentry/utils`` ([#&#8203;5257](https://togithub.com/getsentry/sentry-javascript/issues/5257))
-   ref(tracing): Check and set mutability of baggage ([#&#8203;5205](https://togithub.com/getsentry/sentry-javascript/issues/5205))
-   ref(tracing): Sync baggage data in Http and envelope headers ([#&#8203;5218](https://togithub.com/getsentry/sentry-javascript/issues/5218))
-   chore(angular): Add Angular version to event contexts ([#&#8203;5260](https://togithub.com/getsentry/sentry-javascript/issues/5260))
-   chore(core): Remove circular JSON debugging hacks ([#&#8203;5267](https://togithub.com/getsentry/sentry-javascript/issues/5267))
-   chore(integrations): Add trace to CONSOLE_LEVELS ([#&#8203;5249](https://togithub.com/getsentry/sentry-javascript/issues/5249))

Work in this release contributed by [`@&#8203;Arinono](https://togithub.com/Arinono)` and [`@&#8203;slaesh](https://togithub.com/slaesh).` Thank you for your contributions!

### [`v7.1.1`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;711)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.1.0...7.1.1)

-   **Revert** "ref(node): Move non-handler code out of handlers module" ([#&#8203;5223](https://togithub.com/getsentry/sentry-javascript/issues/5223))
-   fix(types): Vendor in TextEncoderCommon type ([#&#8203;5221](https://togithub.com/getsentry/sentry-javascript/issues/5221))

### [`v7.1.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#&#8203;710)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.0.0...7.1.0)

-   feat(tracing): Propagate environment and release values in baggage Http headers ([#&#8203;5193](https://togithub.com/getsentry/sentry-javascript/issues/5193))
-   feat(node): Compression support for `http` transport ([#&#8203;5209](https://togithub.com/getsentry/sentry-javascript/issues/5209))
-   fix(serverless): Do not change DSN in Serverless integration ([#&#8203;5212](https://togithub.com/getsentry/sentry-javascript/issues/5212))
-   fix(core): Normalize trace context ([#&#8203;5171](https://togithub.com/getsentry/sentry-javascript/issues/5171))
-   fix(utils): Fix faulty references in `dropUndefinedKeys` ([#&#8203;5201](https://togithub.com/getsentry/sentry-javascript/issues/5201))
-   fix(build): Add missing debug logger plugin in `debug.min` bundle variant config ([#&#8203;5192](https://togithub.com/getsentry/sentry-javascript/issues/5192))
-   fix(tracing): Fix missing page load metrics in Electron renderer ([#&#8203;5187](https://togithub.com/getsentry/sentry-javascript/issues/5187))
-   ref(node): Move non-handler code out of `handlers` module ([#&#8203;5190](https://togithub.com/getsentry/sentry-javascript/issues/5190))
-   ref: Switch to magic string for logger statements ([#&#8203;5155](https://togithub.com/getsentry/sentry-javascript/issues/5155))
-   chore(build): Only upload lambda layer when releasing ([#&#8203;5208](https://togithub.com/getsentry/sentry-javascript/issues/5208))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/noaione/naoTimesUI).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMTcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjEyNy40In0=-->


182: chore(deps): update typescript-eslint monorepo to v5.31.0 r=noaione a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [`@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)` | [`5.27.0` -> `5.31.0`](https://renovatebot.com/diffs/npm/`@typescript-eslint%2feslint-plugin/5.27.0/5.31.0)` | [![age](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2feslint-plugin/5.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)` | [![adoption](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2feslint-plugin/5.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)` | [![passing](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2feslint-plugin/5.31.0/compatibility-slim/5.27.0)](https://docs.renovatebot.com/merge-confidence/)` | [![confidence](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2feslint-plugin/5.31.0/confidence-slim/5.27.0)](https://docs.renovatebot.com/merge-confidence/)` |
| [`@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)` | [`5.27.0` -> `5.31.0`](https://renovatebot.com/diffs/npm/`@typescript-eslint%2fparser/5.27.0/5.31.0)` | [![age](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2fparser/5.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)` | [![adoption](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2fparser/5.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)` | [![passing](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2fparser/5.31.0/compatibility-slim/5.27.0)](https://docs.renovatebot.com/merge-confidence/)` | [![confidence](https://badges.renovateapi.com/packages/npm/`@typescript-eslint%2fparser/5.31.0/confidence-slim/5.27.0)](https://docs.renovatebot.com/merge-confidence/)` |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (`@&#8203;typescript-eslint/eslint-plugin)</summary>`

### [`v5.31.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5310-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5307v5310-2022-07-25)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.7...v5.31.0)

##### Bug Fixes

-   **eslint-plugin:** \[typedef] Support nested array destructuring with type annotation ([#&#8203;5311](https://togithub.com/typescript-eslint/typescript-eslint/issues/5311)) ([6d19efe](https://togithub.com/typescript-eslint/typescript-eslint/commit/6d19efed16d1cf0357ad363b6373d2021c49a8c8))
-   **scope-manager:** handle typeParameters of TSInstantiationExpression ([#&#8203;5355](https://togithub.com/typescript-eslint/typescript-eslint/issues/5355)) ([2595ccf](https://togithub.com/typescript-eslint/typescript-eslint/commit/2595ccf67cd5158edbd6bebd9ac2dbd8bbd8b99c))

##### Features

-   **eslint-plugin:** \[consistent-generic-ctors] check class field declaration ([#&#8203;5288](https://togithub.com/typescript-eslint/typescript-eslint/issues/5288)) ([48f996e](https://togithub.com/typescript-eslint/typescript-eslint/commit/48f996e8dda79c9c865e8ca6552069902836648b))
-   **eslint-plugin:** \[prefer-nullish-coalescing] add ignoreTernaryTests option ([#&#8203;4965](https://togithub.com/typescript-eslint/typescript-eslint/issues/4965)) ([f82727f](https://togithub.com/typescript-eslint/typescript-eslint/commit/f82727ffeb97475c07773ca1d1e5b9609fcc5e68))

#### [5.30.7](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.6...v5.30.7) (2022-07-18)

##### Bug Fixes

-   **eslint-plugin:** \[no-inferrable] fix optional param to valid code ([#&#8203;5342](https://togithub.com/typescript-eslint/typescript-eslint/issues/5342)) ([98f6d5e](https://togithub.com/typescript-eslint/typescript-eslint/commit/98f6d5e6d08d1eb9789da52a15f337f5f53438bd))
-   **eslint-plugin:** \[no-unused-vars] highlight last write reference ([#&#8203;5267](https://togithub.com/typescript-eslint/typescript-eslint/issues/5267)) ([c3f199a](https://togithub.com/typescript-eslint/typescript-eslint/commit/c3f199a65a16aa72f5bb83e81a1ce0ffb5f69772))

#### [5.30.6](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.5...v5.30.6) (2022-07-11)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

#### [5.30.5](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.4...v5.30.5) (2022-07-04)

##### Bug Fixes

-   **eslint-plugin:** \[consistent-indexed-object-style] fix record mode fixer for generics with a default value ([#&#8203;5280](https://togithub.com/typescript-eslint/typescript-eslint/issues/5280)) ([57f032c](https://togithub.com/typescript-eslint/typescript-eslint/commit/57f032c2e6a822c049177713778d0077ee138d9a))

#### [5.30.4](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.3...v5.30.4) (2022-07-03)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

#### [5.30.3](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.2...v5.30.3) (2022-07-01)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

#### [5.30.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.1...v5.30.2) (2022-07-01)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

#### [5.30.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.0...v5.30.1) (2022-07-01)

##### Bug Fixes

-   **eslint-plugin:** \[no-base-to-string] add missing apostrophe to message ([#&#8203;5270](https://togithub.com/typescript-eslint/typescript-eslint/issues/5270)) ([d320174](https://togithub.com/typescript-eslint/typescript-eslint/commit/58034e343a167ca7751b54d2b2a0e7d3852aabec))

### [`v5.30.7`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5307-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5306v5307-2022-07-18)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.6...v5.30.7)

##### Bug Fixes

-   **eslint-plugin:** \[no-inferrable] fix optional param to valid code ([#&#8203;5342](https://togithub.com/typescript-eslint/typescript-eslint/issues/5342)) ([98f6d5e](https://togithub.com/typescript-eslint/typescript-eslint/commit/98f6d5e6d08d1eb9789da52a15f337f5f53438bd))
-   **eslint-plugin:** \[no-unused-vars] highlight last write reference ([#&#8203;5267](https://togithub.com/typescript-eslint/typescript-eslint/issues/5267)) ([c3f199a](https://togithub.com/typescript-eslint/typescript-eslint/commit/c3f199a65a16aa72f5bb83e81a1ce0ffb5f69772))

### [`v5.30.6`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5306-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5305v5306-2022-07-11)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.5...v5.30.6)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

### [`v5.30.5`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5305-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5304v5305-2022-07-04)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.4...v5.30.5)

##### Bug Fixes

-   **eslint-plugin:** \[consistent-indexed-object-style] fix record mode fixer for generics with a default value ([#&#8203;5280](https://togithub.com/typescript-eslint/typescript-eslint/issues/5280)) ([57f032c](https://togithub.com/typescript-eslint/typescript-eslint/commit/57f032c2e6a822c049177713778d0077ee138d9a))

### [`v5.30.4`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5304-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5303v5304-2022-07-03)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.3...v5.30.4)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

### [`v5.30.3`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5303-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5302v5303-2022-07-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.2...v5.30.3)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

### [`v5.30.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5302-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5301v5302-2022-07-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.1...v5.30.2)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

### [`v5.30.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5301-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5300v5301-2022-07-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.0...v5.30.1)

##### Bug Fixes

-   **eslint-plugin:** \[no-base-to-string] add missing apostrophe to message ([#&#8203;5270](https://togithub.com/typescript-eslint/typescript-eslint/issues/5270)) ([d320174](https://togithub.com/typescript-eslint/typescript-eslint/commit/58034e343a167ca7751b54d2b2a0e7d3852aabec))

### [`v5.30.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5300-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5290v5300-2022-06-27)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.29.0...v5.30.0)

##### Features

-   **eslint-plugin:** \[no-shadow] add shadowed variable location to the error message ([#&#8203;5183](https://togithub.com/typescript-eslint/typescript-eslint/issues/5183)) ([8ca08e9](https://togithub.com/typescript-eslint/typescript-eslint/commit/8ca08e9f18d59b29715c667fbb7d237f6e9a96ba))
-   treat `this` in `typeof this` as a `ThisExpression` ([#&#8203;4382](https://togithub.com/typescript-eslint/typescript-eslint/issues/4382)) ([b04b2ce](https://togithub.com/typescript-eslint/typescript-eslint/commit/b04b2ce1ba90d94718891f2562dd210a6d7b8609))

### [`v5.29.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5290-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5280v5290-2022-06-20)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.28.0...v5.29.0)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)`

### [`v5.28.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5280-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5271v5280-2022-06-13)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.27.1...v5.28.0)

##### Bug Fixes

-   \[TS4.7] allow visiting of typeParameters in TSTypeQuery ([#&#8203;5166](https://togithub.com/typescript-eslint/typescript-eslint/issues/5166)) ([dc1f930](https://togithub.com/typescript-eslint/typescript-eslint/commit/dc1f9309cf04aa7314e758980ac687558482f47f))
-   **eslint-plugin:** \[space-infix-ops] support for optional property without type ([#&#8203;5155](https://togithub.com/typescript-eslint/typescript-eslint/issues/5155)) ([1f25daf](https://togithub.com/typescript-eslint/typescript-eslint/commit/1f25daf74e5d45077199f9ee9fa9bf31107f4089))

##### Features

-   **eslint-plugin:** \[consistent-generic-constructors] add rule ([#&#8203;4924](https://togithub.com/typescript-eslint/typescript-eslint/issues/4924)) ([921cdf1](https://togithub.com/typescript-eslint/typescript-eslint/commit/921cdf17e548845311d0591249616ec844503926))

#### [5.27.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06)

##### Bug Fixes

-   **eslint-plugin:** \[space-infix-ops] correct PropertyDefinition with typeAnnotation ([#&#8203;5113](https://togithub.com/typescript-eslint/typescript-eslint/issues/5113)) ([d320174](https://togithub.com/typescript-eslint/typescript-eslint/commit/d320174f40a74b34e6b6e4c88128ef6e736311d8))
-   **eslint-plugin:** \[space-infix-ops] regression fix for conditional types ([#&#8203;5135](https://togithub.com/typescript-eslint/typescript-eslint/issues/5135)) ([e5238c8](https://togithub.com/typescript-eslint/typescript-eslint/commit/e5238c84e56e7c34174b2c6f1e3ea59456797c2f))
-   **eslint-plugin:** \[space-infix-ops] regression fix for type aliases ([#&#8203;5138](https://togithub.com/typescript-eslint/typescript-eslint/issues/5138)) ([4e13deb](https://togithub.com/typescript-eslint/typescript-eslint/commit/4e13deb05fbd8724996156b15b65f6a66794a7cc))

### [`v5.27.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5271-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5270v5271-2022-06-06)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1)

##### Bug Fixes

-   **eslint-plugin:** \[space-infix-ops] correct PropertyDefinition with typeAnnotation ([#&#8203;5113](https://togithub.com/typescript-eslint/typescript-eslint/issues/5113)) ([d320174](https://togithub.com/typescript-eslint/typescript-eslint/commit/d320174f40a74b34e6b6e4c88128ef6e736311d8))
-   **eslint-plugin:** \[space-infix-ops] regression fix for conditional types ([#&#8203;5135](https://togithub.com/typescript-eslint/typescript-eslint/issues/5135)) ([e5238c8](https://togithub.com/typescript-eslint/typescript-eslint/commit/e5238c84e56e7c34174b2c6f1e3ea59456797c2f))
-   **eslint-plugin:** \[space-infix-ops] regression fix for type aliases ([#&#8203;5138](https://togithub.com/typescript-eslint/typescript-eslint/issues/5138)) ([4e13deb](https://togithub.com/typescript-eslint/typescript-eslint/commit/4e13deb05fbd8724996156b15b65f6a66794a7cc))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (`@&#8203;typescript-eslint/parser)</summary>`

### [`v5.31.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5310-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5307v5310-2022-07-25)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.7...v5.31.0)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### [5.30.7](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.6...v5.30.7) (2022-07-18)

##### Bug Fixes

-   expose types supporting old versions of typescript ([#&#8203;5339](https://togithub.com/typescript-eslint/typescript-eslint/issues/5339)) ([4ba9bdb](https://togithub.com/typescript-eslint/typescript-eslint/commit/4ba9bdb93f87e6bc370f13aa1de48f435abe3f88))

#### [5.30.6](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.5...v5.30.6) (2022-07-11)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### [5.30.5](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.4...v5.30.5) (2022-07-04)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### [5.30.4](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.3...v5.30.4) (2022-07-03)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### [5.30.3](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.2...v5.30.3) (2022-07-01)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### [5.30.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.1...v5.30.2) (2022-07-01)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### 5.30.1 (2022-07-01)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.7`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5307-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5306v5307-2022-07-18)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.6...v5.30.7)

##### Bug Fixes

-   expose types supporting old versions of typescript ([#&#8203;5339](https://togithub.com/typescript-eslint/typescript-eslint/issues/5339)) ([4ba9bdb](https://togithub.com/typescript-eslint/typescript-eslint/commit/4ba9bdb93f87e6bc370f13aa1de48f435abe3f88))

### [`v5.30.6`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5306-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5305v5306-2022-07-11)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.5...v5.30.6)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.5`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5305-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5304v5305-2022-07-04)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.4...v5.30.5)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.4`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5304-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5303v5304-2022-07-03)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.3...v5.30.4)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.3`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5303-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5302v5303-2022-07-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.2...v5.30.3)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5302-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5301v5302-2022-07-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.1...v5.30.2)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5301-2022-07-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.30.0...v5.30.1)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.30.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5300-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5290v5300-2022-06-27)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.29.0...v5.30.0)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.29.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5290-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5280v5290-2022-06-20)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.28.0...v5.29.0)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.28.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5280-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5271v5280-2022-06-13)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.27.1...v5.28.0)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

#### [5.27.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1) (2022-06-06)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

### [`v5.27.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5271-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5270v5271-2022-06-06)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.27.0...v5.27.1)

**Note:** Version bump only for package [`@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)`

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/noaione/naoTimesUI).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMTcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjEyNy4wIn0=-->


185: chore(deps): update dependency tailwindcss to v3.1.7 r=noaione a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [tailwindcss](https://tailwindcss.com) ([source](https://togithub.com/tailwindlabs/tailwindcss)) | [`3.0.24` -> `3.1.7`](https://renovatebot.com/diffs/npm/tailwindcss/3.0.24/3.1.7) | [![age](https://badges.renovateapi.com/packages/npm/tailwindcss/3.1.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/tailwindcss/3.1.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/tailwindcss/3.1.7/compatibility-slim/3.0.24)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/tailwindcss/3.1.7/confidence-slim/3.0.24)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>tailwindlabs/tailwindcss</summary>

### [`v3.1.7`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;317---2022-07-29)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.6...v3.1.7)

##### Fixed

-   Don't rewrite source maps for ``@layer`` rules ([#&#8203;8971](https://togithub.com/tailwindlabs/tailwindcss/pull/8971))

##### Added

-   Added types for `resolveConfig` ([#&#8203;8924](https://togithub.com/tailwindlabs/tailwindcss/pull/8924))

##### Changed

-   Don't use `cursor: pointer` for buttons by default ([#&#8203;8962](https://togithub.com/tailwindlabs/tailwindcss/pull/8962))

### [`v3.1.6`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;316---2022-07-11)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.5...v3.1.6)

##### Fixed

-   Fix usage on Node 12.x ([b4e637e](https://togithub.com/tailwindlabs/tailwindcss/commit/b4e637e2e096a9d6f2210efba9541f6fd4f28e56))
-   Handle theme keys with slashes when using `theme()` in CSS ([#&#8203;8831](https://togithub.com/tailwindlabs/tailwindcss/pull/8831))

### [`v3.1.5`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;315---2022-07-07)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.4...v3.1.5)

##### Added

-   Support configuring a default `font-weight` for each font size utility ([#&#8203;8763](https://togithub.com/tailwindlabs/tailwindcss/pull/8763))
-   Add support for alpha values in safe list ([#&#8203;8774](https://togithub.com/tailwindlabs/tailwindcss/pull/8774))

##### Fixed

-   Improve types to support fallback values in the CSS-in-JS syntax used in plugin APIs ([#&#8203;8762](https://togithub.com/tailwindlabs/tailwindcss/pull/8762))
-   Support including `tailwindcss` and `autoprefixer` in `postcss.config.js` in standalone CLI ([#&#8203;8769](https://togithub.com/tailwindlabs/tailwindcss/pull/8769))
-   Fix using special-characters as prefixes ([#&#8203;8772](https://togithub.com/tailwindlabs/tailwindcss/pull/8772))
-   Don’t prefix classes used within arbitrary variants ([#&#8203;8773](https://togithub.com/tailwindlabs/tailwindcss/pull/8773))
-   Add more explicit types for the default theme ([#&#8203;8780](https://togithub.com/tailwindlabs/tailwindcss/pull/8780))

### [`v3.1.4`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;314---2022-06-21)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.3...v3.1.4)

##### Fixed

-   Provide default to `<alpha-value>` when using `theme()` ([#&#8203;8652](https://togithub.com/tailwindlabs/tailwindcss/pull/8652))
-   Detect arbitrary variants with quotes ([#&#8203;8687](https://togithub.com/tailwindlabs/tailwindcss/pull/8687))
-   Don’t add spaces around raw `/` that are preceded by numbers ([#&#8203;8688](https://togithub.com/tailwindlabs/tailwindcss/pull/8688))

### [`v3.1.3`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;313---2022-06-14)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.2...v3.1.3)

##### Fixed

-   Fix extraction of multi-word utilities with arbitrary values and quotes ([#&#8203;8604](https://togithub.com/tailwindlabs/tailwindcss/pull/8604))
-   Fix casing of import of `corePluginList` type definition ([#&#8203;8587](https://togithub.com/tailwindlabs/tailwindcss/pull/8587))
-   Ignore PostCSS nodes returned by `addVariant` ([#&#8203;8608](https://togithub.com/tailwindlabs/tailwindcss/pull/8608))
-   Fix missing spaces around arithmetic operators ([#&#8203;8615](https://togithub.com/tailwindlabs/tailwindcss/pull/8615))
-   Detect alpha value in CSS `theme()` function when using quotes ([#&#8203;8625](https://togithub.com/tailwindlabs/tailwindcss/pull/8625))
-   Fix "Maximum call stack size exceeded" bug ([#&#8203;8636](https://togithub.com/tailwindlabs/tailwindcss/pull/8636))
-   Allow functions returning parallel variants to mutate the container ([#&#8203;8622](https://togithub.com/tailwindlabs/tailwindcss/pull/8622))
-   Remove text opacity CSS variables from `::marker` ([#&#8203;8622](https://togithub.com/tailwindlabs/tailwindcss/pull/8622))

### [`v3.1.2`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;312---2022-06-10)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.1...v3.1.2)

##### Fixed

-   Ensure `\` is a valid arbitrary variant token ([#&#8203;8576](https://togithub.com/tailwindlabs/tailwindcss/pull/8576))
-   Enable `postcss-import` in the CLI by default in watch mode ([#&#8203;8574](https://togithub.com/tailwindlabs/tailwindcss/pull/8574), [#&#8203;8580](https://togithub.com/tailwindlabs/tailwindcss/pull/8580))

### [`v3.1.1`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;311---2022-06-09)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.1.0...v3.1.1)

##### Fixed

-   Fix candidate extractor regression ([#&#8203;8558](https://togithub.com/tailwindlabs/tailwindcss/pull/8558))
-   Split `::backdrop` into separate defaults group ([#&#8203;8567](https://togithub.com/tailwindlabs/tailwindcss/pull/8567))
-   Fix postcss plugin type ([#&#8203;8564](https://togithub.com/tailwindlabs/tailwindcss/pull/8564))
-   Fix class detection in markdown code fences and slim templates ([#&#8203;8569](https://togithub.com/tailwindlabs/tailwindcss/pull/8569))

### [`v3.1.0`](https://togithub.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#&#8203;310---2022-06-08)

[Compare Source](https://togithub.com/tailwindlabs/tailwindcss/compare/v3.0.24...v3.1.0)

##### Fixed

-   Types: allow for arbitrary theme values (for 3rd party plugins) ([#&#8203;7926](https://togithub.com/tailwindlabs/tailwindcss/pull/7926))
-   Don’t split vars with numbers in them inside arbitrary values ([#&#8203;8091](https://togithub.com/tailwindlabs/tailwindcss/pull/8091))
-   Require matching prefix when detecting negatives ([#&#8203;8121](https://togithub.com/tailwindlabs/tailwindcss/pull/8121))
-   Handle duplicate At Rules without children ([#&#8203;8122](https://togithub.com/tailwindlabs/tailwindcss/pull/8122))
-   Allow arbitrary values with commas in ``@apply`` ([#&#8203;8125](https://togithub.com/tailwindlabs/tailwindcss/pull/8125))
-   Fix intellisense for plugins with multiple ``@apply`` rules ([#&#8203;8213](https://togithub.com/tailwindlabs/tailwindcss/pull/8213))
-   Improve type detection for arbitrary color values ([#&#8203;8201](https://togithub.com/tailwindlabs/tailwindcss/pull/8201))
-   Support PostCSS config options in config file in CLI ([#&#8203;8226](https://togithub.com/tailwindlabs/tailwindcss/pull/8226))
-   Remove default `[hidden]` style in preflight ([#&#8203;8248](https://togithub.com/tailwindlabs/tailwindcss/pull/8248))
-   Only check selectors containing base apply candidates for circular dependencies ([#&#8203;8222](https://togithub.com/tailwindlabs/tailwindcss/pull/8222))
-   Rewrite default class extractor ([#&#8203;8204](https://togithub.com/tailwindlabs/tailwindcss/pull/8204))
-   Move `important` selector to the front when ``@apply`-ing` selector-modifying variants in custom utilities ([#&#8203;8313](https://togithub.com/tailwindlabs/tailwindcss/pull/8313))
-   Error when registering an invalid custom variant ([#&#8203;8345](https://togithub.com/tailwindlabs/tailwindcss/pull/8345))
-   Create tailwind.config.cjs file in ESM package when running init ([#&#8203;8363](https://togithub.com/tailwindlabs/tailwindcss/pull/8363))
-   Fix `matchVariants` that use at-rules and placeholders ([#&#8203;8392](https://togithub.com/tailwindlabs/tailwindcss/pull/8392))
-   Improve types of the `tailwindcss/plugin` ([#&#8203;8400](https://togithub.com/tailwindlabs/tailwindcss/pull/8400))
-   Allow returning parallel variants from `addVariant` or `matchVariant` callback functions ([#&#8203;8455](https://togithub.com/tailwindlabs/tailwindcss/pull/8455))
-   Try using local `postcss` installation first in the CLI ([#&#8203;8270](https://togithub.com/tailwindlabs/tailwindcss/pull/8270))
-   Allow default ring color to be a function ([#&#8203;7587](https://togithub.com/tailwindlabs/tailwindcss/pull/7587))
-   Don't inherit `to` value from parent gradients ([#&#8203;8489](https://togithub.com/tailwindlabs/tailwindcss/pull/8489))
-   Remove process dependency from log functions ([#&#8203;8530](https://togithub.com/tailwindlabs/tailwindcss/pull/8530))
-   Ensure we can use ``@import` 'tailwindcss/...'` without node_modules ([#&#8203;8537](https://togithub.com/tailwindlabs/tailwindcss/pull/8537))

##### Changed

-   Only apply hover styles when supported (future) ([#&#8203;8394](https://togithub.com/tailwindlabs/tailwindcss/pull/8394))
-   Respect default ring color opacity (future) ([#&#8203;8448](https://togithub.com/tailwindlabs/tailwindcss/pull/8448), [3f4005e](https://togithub.com/tailwindlabs/tailwindcss/commit/3f4005e833445f7549219eb5ae89728cbb3a2630))

##### Added

-   Support PostCSS `Document` nodes ([#&#8203;7291](https://togithub.com/tailwindlabs/tailwindcss/pull/7291))
-   Add `text-start` and `text-end` utilities ([#&#8203;6656](https://togithub.com/tailwindlabs/tailwindcss/pull/6656))
-   Support customizing class name when using `darkMode: 'class'` ([#&#8203;5800](https://togithub.com/tailwindlabs/tailwindcss/pull/5800))
-   Add `--poll` option to the CLI ([#&#8203;7725](https://togithub.com/tailwindlabs/tailwindcss/pull/7725))
-   Add new `border-spacing` utilities ([#&#8203;7102](https://togithub.com/tailwindlabs/tailwindcss/pull/7102))
-   Add `enabled` variant ([#&#8203;7905](https://togithub.com/tailwindlabs/tailwindcss/pull/7905))
-   Add TypeScript types for the `tailwind.config.js` file ([#&#8203;7891](https://togithub.com/tailwindlabs/tailwindcss/pull/7891))
-   Add `backdrop` variant ([#&#8203;7924](https://togithub.com/tailwindlabs/tailwindcss/pull/7924), [#&#8203;8526](https://togithub.com/tailwindlabs/tailwindcss/pull/8526))
-   Add `grid-flow-dense` utility ([#&#8203;8193](https://togithub.com/tailwindlabs/tailwindcss/pull/8193))
-   Add `mix-blend-plus-lighter` utility ([#&#8203;8288](https://togithub.com/tailwindlabs/tailwindcss/pull/8288))
-   Add arbitrary variants ([#&#8203;8299](https://togithub.com/tailwindlabs/tailwindcss/pull/8299))
-   Add experimental `matchVariant` API ([#&#8203;8310](https://togithub.com/tailwindlabs/tailwindcss/pull/8310), [34fd0fb8](https://togithub.com/tailwindlabs/tailwindcss/commit/34fd0fb82aa574cddc5c7aa3ad7d1af5e3735e5d))
-   Add `prefers-contrast` media query variants ([#&#8203;8410](https://togithub.com/tailwindlabs/tailwindcss/pull/8410))
-   Add opacity support when referencing colors with `theme` function ([#&#8203;8416](https://togithub.com/tailwindlabs/tailwindcss/pull/8416))
-   Add `postcss-import` support to the CLI ([#&#8203;8437](https://togithub.com/tailwindlabs/tailwindcss/pull/8437))
-   Add `optional` variant ([#&#8203;8486](https://togithub.com/tailwindlabs/tailwindcss/pull/8486))
-   Add `<alpha-value>` placeholder support for custom colors ([#&#8203;8501](https://togithub.com/tailwindlabs/tailwindcss/pull/8501))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/noaione/naoTimesUI).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMjcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjEyNy40In0=-->


187: chore(deps): update dependency react-intersection-observer to v9.4.0 r=noaione a=renovate[bot]

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [react-intersection-observer](https://togithub.com/thebuilder/react-intersection-observer) | [`9.2.2` -> `9.4.0`](https://renovatebot.com/diffs/npm/react-intersection-observer/9.2.2/9.4.0) | [![age](https://badges.renovateapi.com/packages/npm/react-intersection-observer/9.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/react-intersection-observer/9.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/react-intersection-observer/9.4.0/compatibility-slim/9.2.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/react-intersection-observer/9.4.0/confidence-slim/9.2.2)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>thebuilder/react-intersection-observer</summary>

### [`v9.4.0`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.4.0)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.3.5...v9.4.0)

This release fixes [https://github.com/thebuilder/react-intersection-observer/issues/572](https://togithub.com/thebuilder/react-intersection-observer/issues/572)
It's now possible (not recommended) to use inline functions for `ref` methods. This will still cause extra rerenders, but you will not get into a state of infinite loops.

##### Bug Fixes

-   optimize re-renders in useInView ([a3e2be5](https://togithub.com/thebuilder/react-intersection-observer/commit/a3e2be51062af784f87d89ba7950ab83ea319b05))

##### Features

-   rewrite internals to use setState for `ref` ([776caa6](https://togithub.com/thebuilder/react-intersection-observer/commit/776caa6182826ea6735c8faed8691ab39312f16a))

### [`v9.3.5`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.3.5)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.3.4...v9.3.5)

##### Bug Fixes

-   Add support for TS 4.7+ node16/next module ([a0c099b](https://togithub.com/thebuilder/react-intersection-observer/commit/a0c099b1f74193bf58c22b2dd7330a169113ab94))

### [`v9.3.4`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.3.4)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.3.3...v9.3.4)

##### Bug Fixes

-   export module as `esm.js` ([fa6f3db](https://togithub.com/thebuilder/react-intersection-observer/commit/fa6f3dbf56ef2088d89554ced0bdca9a04160c33))

### [`v9.3.3`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.3.3)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.3.2...v9.3.3)

##### Bug Fixes

-   use the default field ([24be995](https://togithub.com/thebuilder/react-intersection-observer/commit/24be99546163fa76f891b99cc45cad9ed15b0887))

### [`v9.3.2`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.3.2)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.3.1...v9.3.2)

##### Bug Fixes

-   correct the build copy ([88058e1](https://togithub.com/thebuilder/react-intersection-observer/commit/88058e192536978506d1ac4d1374aa3de92adf10))
-   export paths with dot path ([5d36ed6](https://togithub.com/thebuilder/react-intersection-observer/commit/5d36ed69a13423264f85cc29deedd235055a2558))

### [`v9.3.1`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.3.1)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.3.0...v9.3.1)

##### Bug Fixes

-   export the test utils ([cbbdfa3](https://togithub.com/thebuilder/react-intersection-observer/commit/cbbdfa322d766c707e5efee7365e638647eb5107))

### [`v9.3.0`](https://togithub.com/thebuilder/react-intersection-observer/releases/tag/v9.3.0)

[Compare Source](https://togithub.com/thebuilder/react-intersection-observer/compare/v9.2.2...v9.3.0)

##### Features

-   refactor to use modern exports ([bc0daf6](https://togithub.com/thebuilder/react-intersection-observer/commit/bc0daf6de52520cb9413e9f6541e9738181f5a56))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/noaione/naoTimesUI).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMjIuMSIsInVwZGF0ZWRJblZlciI6IjMyLjEyMi4xIn0=-->


Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@heikomat
Copy link

heikomat commented Aug 8, 2022

I'm a little confused about the number of initial renders.
In the PR, a commit switches from useCallback to useEffect, a later commit reverts that and another later commit undoes that revert, so that in the end, useEffect is used.

Does that mean that we have to live with 3 renders on mount, or was another solution found, that results in 2 renders on mount, even with the useEffect?

Am i misinterpreting something here?

@thebuilder
Copy link
Owner

It's doing 3 renders at the moment. I tried different solutions, but the others still had issues. So ended up with useState

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants