Ruslan Lesiutin
94d5b5b2bf
React DevTools 4.28.3 -> 4.28.4 ( #27419 )
...
* refactor[devtools/extension]: refactored messaging logic across
different parts of the extension ([hoxyq](https://github.com/hoxyq ) in
[#27417 ](https://github.com/facebook/react/pull/27417 ))
* fix[devtools/extension]: added a workaround for proxy content script
injection in firefox ([hoxyq](https://github.com/hoxyq ) in
[#27375 ](https://github.com/facebook/react/pull/27375 ))
* fix[devtools/useTransition]: don't check for dispatch property when
determining if hook is stateful ([hoxyq](https://github.com/hoxyq ) in
[#27365 ](https://github.com/facebook/react/pull/27365 ))
* feat[devtools/extension]: show disclaimer when page doesnt run react
and refactor react polling logic ([hoxyq](https://github.com/hoxyq ) in
[#27373 ](https://github.com/facebook/react/pull/27373 ))
* feat:-Added a delete all filters action and added title to the add
filter a… ([Biki-das](https://github.com/Biki-das ) in
[#27332 ](https://github.com/facebook/react/pull/27332 ))
* fix[devtools/extension]: unregister dynamically injected content
scripts instead of filtering ([hoxyq](https://github.com/hoxyq ) in
[#27369 ](https://github.com/facebook/react/pull/27369 ))
* refactor[devtools/extension]: more stable element updates polling to
avoid timed out errors ([hoxyq](https://github.com/hoxyq ) in
[#27357 ](https://github.com/facebook/react/pull/27357 ))
* feat[devtools/extension]: add dark theme for popup
([rakleed](https://github.com/rakleed ) in
[#27330 ](https://github.com/facebook/react/pull/27330 ))
2023-09-25 13:24:52 -04:00
Ruslan Lesiutin
a374287fea
React DevTools 4.28.2 -> 4.28.3 ( #27337 )
...
This is a patch version to fix some bugs in a previous internal release.
I am expecting this one also to be internal-only, need to make sure that
extension is stable in Chrome. Some changes and improvements are
expected for Firefox, though, before going public.
* refactor[devtools/extension]: handle ports disconnection, instead of
frequent reconnection ([hoxyq](https://github.com/hoxyq ) in
[#27336 ](https://github.com/facebook/react/pull/27336 ))
* refactor[devtools/extension]: migrate from using setInterval for
polling if react is loaded ([hoxyq](https://github.com/hoxyq ) in
[#27323 ](https://github.com/facebook/react/pull/27323 ))
* fix[devtools/extension]: fixed duplicating panels in firefox
([hoxyq](https://github.com/hoxyq ) in
[#27320 ](https://github.com/facebook/react/pull/27320 ))
2023-09-05 18:58:27 +01:00
Ruslan Lesiutin
3808b01b3a
React DevTools 4.28.1 -> 4.28.2 ( #27318 )
...
List of changes:
* fix[devtools/extension]: handle tab navigation events before react is
loaded ([hoxyq](https://github.com/hoxyq ) in
[#27316 ](https://github.com/facebook/react/pull/27316 ))
2023-08-30 19:47:08 +01:00
Ruslan Lesiutin
2f368725fb
React DevTools 4.28.0 -> 4.28.1 ( #27305 )
...
List of changes:
* refactor: refactored devtools browser extension scripts to improve
port management and service worker lifetime
([hoxyq](https://github.com/hoxyq ) in
[#27215 ](https://github.com/facebook/react/pull/27215 ))
* refactor[devtools/extension]: minify production builds to strip
comments ([hoxyq](https://github.com/hoxyq ) in
[#27304 ](https://github.com/facebook/react/pull/27304 ))
* fix[devtools]: allow element updates polling only if bridge is alive
([hoxyq](https://github.com/hoxyq ) in
[#27067 ](https://github.com/facebook/react/pull/27067 ))
* refactor: resolve browser via env variables based on build rather than
user agent ([hoxyq](https://github.com/hoxyq ) in
[#27179 ](https://github.com/facebook/react/pull/27179 ))
* fix[devtools/updateFiberRecursively]: mount suspense fallback set in
timed out case ([hoxyq](https://github.com/hoxyq ) in
[#27147 ](https://github.com/facebook/react/pull/27147 ))
* Feat:-Added open in editor to appear by default
([Biki-das](https://github.com/Biki-das ) in
[#26949 ](https://github.com/facebook/react/pull/26949 ))
* fix[devtools/inspect]: null check memoized props before trying to call
hasOwnProperty ([hoxyq](https://github.com/hoxyq ) in
[#27057 ](https://github.com/facebook/react/pull/27057 ))
* rename SuspenseList export to unstable_SuspenseList
([noahlemen](https://github.com/noahlemen ) in
[#27061 ](https://github.com/facebook/react/pull/27061 ))
2023-08-29 13:37:35 +01:00
Ruslan Lesiutin
8fbd307942
refactor: refactored devtools browser extension scripts to improve port management and service worker lifetime ( #27215 )
...
Fixes https://github.com/facebook/react/issues/27119 ,
https://github.com/facebook/react/issues/27185 .
Fixed:
- React DevTools now works as expected when user performs in-tab
navigation, previously it was just stuck.
https://github.com/facebook/react/assets/28902667/b11c5f84-7155-47a5-8b5a-7e90baca5347
- When user closes browser DevTools panel, we now do some cleanup to
disconnect ports and emit shutdown event for bridge. This should fix the
issue with registering duplicated fibers with the same id in Store.
Changed:
- We reconnect proxy port once in 25 seconds, in order to [keep service
worker
alive](https://developer.chrome.com/docs/extensions/whatsnew/#m110-sw-idle ).
- Instead of unregistering dynamically injected content scripts, wen now
get list of already registered scripts and filter them out from scripts
that we want to inject again, see dynamicallyInjectContentScripts.js.
- Split `main.js` and `background.js` into multiple files.
Tested on Chromium and Firefox browsers.
2023-08-29 12:09:26 +01:00
Ruslan Lesiutin
035a41c4e2
React DevTools 4.27.8 -> 4.28.0 ( #27051 )
...
List of changes:
* Devtools:-Removed unused CSS ([Biki-das](https://github.com/Biki-das )
in [#27032 ](https://github.com/facebook/react/pull/27032 ))
* fix[devtools/profilingCache-test]: specify correct version gate for
test ([hoxyq](https://github.com/hoxyq ) in
[#27008 ](https://github.com/facebook/react/pull/27008 ))
* fix[devtools/ci]: fixed incorrect condition calculation for
@reactVersion annotation ([hoxyq](https://github.com/hoxyq ) in
[#26997 ](https://github.com/facebook/react/pull/26997 ))
* fix[ci]: fixed jest configuration not to skip too many devtools tests
([hoxyq](https://github.com/hoxyq ) in
[#26955 ](https://github.com/facebook/react/pull/26955 ))
* fix[devtools/standalone]: update webpack configurations
([hoxyq](https://github.com/hoxyq ) in
[#26963 ](https://github.com/facebook/react/pull/26963 ))
* fix[devtools]: check if fiber is unmounted before trying to highlight
([hoxyq](https://github.com/hoxyq ) in
[#26983 ](https://github.com/facebook/react/pull/26983 ))
* feat[devtools]: support x_google_ignoreList source maps extension
([hoxyq](https://github.com/hoxyq ) in
[#26951 ](https://github.com/facebook/react/pull/26951 ))
* chore[devtools]: upgrade to webpack v5
([hoxyq](https://github.com/hoxyq ) in
[#26887 ](https://github.com/facebook/react/pull/26887 ))
* fix[devtools]: display NaN as string in values
([hoxyq](https://github.com/hoxyq ) in
[#26947 ](https://github.com/facebook/react/pull/26947 ))
* fix: devtools cannot be closed correctly
([Jack-Works](https://github.com/Jack-Works ) in
[#25510 ](https://github.com/facebook/react/pull/25510 ))
* Fix:- Fixed dev tools inspect mode on Shadow dom
([Biki-das](https://github.com/Biki-das ) in
[#26888 ](https://github.com/facebook/react/pull/26888 ))
* Updated copyright text to Copyright (c) Meta Platforms, Inc. and its …
([denmo530](https://github.com/denmo530 ) in
[#26830 ](https://github.com/facebook/react/pull/26830 ))
* Fix strict mode badge URL ([ibrahemid](https://github.com/ibrahemid )
in [#26825 ](https://github.com/facebook/react/pull/26825 ))
2023-07-04 09:11:14 +01:00
Ruslan Lesiutin
2468a87358
React DevTools 4.27.7 -> 4.27.8 ( #26823 )
...
Closes https://github.com/facebook/react/issues/26787 ,
https://github.com/facebook/react/issues/26793
Includes these changes:
* fix[devtools]: fixed duplicated backend activation with multiple
renderers ([hoxyq](https://github.com/hoxyq ) in
[#26807 ](https://github.com/facebook/react/pull/26807 ))
2023-05-17 11:40:50 +01:00
Ruslan Lesiutin
783e7fcfa3
React DevTools 4.27.6 -> 4.27.7 ( #26780 )
...
List of changes:
* DevTools: fix backend activation ([hoxyq](https://github.com/hoxyq ) in
[#26779 ](https://github.com/facebook/react/pull/26779 ))
* fix[dynamic-scripts-injection]: unregister content scripts before
registration ([hoxyq](https://github.com/hoxyq ) in
[#26765 ](https://github.com/facebook/react/pull/26765 ))
2023-05-04 18:22:47 +01:00
Ruslan Lesiutin
7f8c501f68
React DevTools 4.27.5 -> 4.27.6 ( #26684 )
...
Full list of changes:
* Use .slice() for all substring-ing
([sophiebits](https://github.com/sophiebits ) in
[#26677 ](https://github.com/facebook/react/pull/26677 ))
* cleanup[devtools]: remove named hooks & profiler changed hook indices
feature flags ([hoxyq](https://github.com/hoxyq ) in
[#26635 ](https://github.com/facebook/react/pull/26635 ))
* chore[devtools/release-scripts]: update messages / fixed npm view com…
([hoxyq](https://github.com/hoxyq ) in
[#26660 ](https://github.com/facebook/react/pull/26660 ))
* (patch)[DevTools] bug fix: backend injection logic not working for
undocked devtools window ([mondaychen](https://github.com/mondaychen ) in
[#26665 ](https://github.com/facebook/react/pull/26665 ))
* use backend manager to support multiple backends in extension
([mondaychen](https://github.com/mondaychen ) in
[#26615 ](https://github.com/facebook/react/pull/26615 ))
2023-04-20 13:34:25 +01:00
Ruslan Lesiutin
a227bcd4f4
chore[devtools/release-scripts]: update messages / fixed npm view com… ( #26660 )
...
Some minor changes, observed while working on 24.7.5 release:
- Updated numeration of text instructions
- `reactjs.org` -> `react.dev`
- Fixed using `npm view` command for node 16+, `publish-release` script
currently fails if used with node 16+
2023-04-19 10:05:16 +01:00
Mengdi Chen
d962f35cac
[DevTools] use backend manager to support multiple backends in extension ( #26615 )
...
In the extension, currently we do the following:
1. check whether there's at least one React renderer on the page
2. if yes, load the backend to the page
3. initialize the backend
To support multiple versions of backends, we are changing it to:
1. check the versions of React renders on the page
2. load corresponding React DevTools backends that are shipped with the
extension; if they are not contained (usually prod builds of
prereleases), show a UI to allow users to load them from UI
3. initialize each of the backends
To enable this workflow, a backend will ignore React renderers that does
not match its version
This PR adds a new file "backendManager" in the extension for this
purpose.
------
I've tested it on Chrome, Edge and Firefox extensions
2023-04-18 12:02:42 -04:00
Ruslan Lesiutin
77d3b02e5c
React DevTools 4.27.4 -> 4.27.5 ( #26637 )
...
Full list of changes (not everything included in changelog):
* refactor[devtools]: copy to clipboard only on frontend side
([hoxyq](https://github.com/hoxyq ) in
[#26604 ](https://github.com/facebook/react/pull/26604 ))
* Provide icon to edge devtools.
([harrygz889](https://github.com/harrygz889 ) in
[#26543 ](https://github.com/facebook/react/pull/26543 ))
* [BE] move shared types & constants to consolidated locations
([mondaychen](https://github.com/mondaychen ) in
[#26572 ](https://github.com/facebook/react/pull/26572 ))
* remove backend dependency from the global hook
([mondaychen](https://github.com/mondaychen ) in
[#26563 ](https://github.com/facebook/react/pull/26563 ))
* Replace deprecated `new-window` with
`webContents.setWindowOpenHandler()`
([Willie-Boy](https://github.com/Willie-Boy ) in
[#26559 ](https://github.com/facebook/react/pull/26559 ))
* DevTools: Inline references to fiber flags
([acdlite](https://github.com/acdlite ) in
[#26542 ](https://github.com/facebook/react/pull/26542 ))
* refactor[devtools]: forbid editing class instances in props
([hoxyq](https://github.com/hoxyq ) in
[#26522 ](https://github.com/facebook/react/pull/26522 ))
* Move update scheduling to microtask
([acdlite](https://github.com/acdlite ) in
[#26512 ](https://github.com/facebook/react/pull/26512 ))
* Remove unnecessary CIRCLE_CI_API_TOKEN checks
([mondaychen](https://github.com/mondaychen ) in
[#26499 ](https://github.com/facebook/react/pull/26499 ))
* browser extension: improve script injection logic
([mondaychen](https://github.com/mondaychen ) in
[#26492 ](https://github.com/facebook/react/pull/26492 ))
* [flow] make Flow suppressions explicit on the error
([kassens](https://github.com/kassens ) in
[#26487 ](https://github.com/facebook/react/pull/26487 ))
2023-04-17 17:42:02 +01:00
Mengdi Chen
dd5365878d
[DevTools] remove backend dependency from the global hook ( #26563 )
...
## Summary
- #26234 is reverted and replaced with a better approach
- introduce a new global devtools variable to decouple the global hook's
dependency on backend/console.js, and add it to react-devtools-inline
and react-devtools-standalone
With this PR, I want to introduce a new principle to hook.js: we should
always be alert when editing this file and avoid importing from other
files.
In the past, we try to inline a lot of the implementation because we use
`.toString()` to inject this function from the extension (we still have
some old comments left). Although it is no longer inlined that way, it
has became now more important to keep it clean as it is a de facto
global API people are using (9.9K files contains it on Github search as
of today).
**File size change for extension:**
Before:
379K installHook.js
After:
21K installHook.js
363K renderer.js
2023-04-07 03:35:36 -04:00
Mengdi Chen
3fcf209ea4
React DevTools 4.27.3 -> 4.27.4 ( #26470 )
2023-03-24 15:45:26 -04:00
Mengdi Chen
8bdf162bcc
React DevTools 4.27.2 -> 4.27.3 ( #26459 )
...
bump version
2023-03-22 11:20:10 -04:00
Mengdi Chen
fcf2187919
[DevTools] Remove renderer.js from extension build ( #26234 )
...
## Summary
When looking into the compiled code of `installHook.js` of the extension
build, I noticed that it actually includes the large `attach` function
(from renderer.js). I don't think it was expected.
This is because `hook.js` imports from `backend/console.js` which
imports from `backend/renderer.js` for `getInternalReactConstants`
A straightforward way is to extract function
`getInternalReactConstants`. However, I think it's more simplified to
just merge these two files and save the 361K renderer.js from the
extension build since we have always been loading this code anyways.
I changed the execution check from `__REACT_DEVTOOLS_ATTACH__ ` to the
session storage.
## How did you test this change?
Everything works normal in my local build.
2023-03-03 14:01:58 -05:00
Mengdi Chen
42106558ed
React DevTools 4.27.1 -> 4.27.2 ( #26185 )
2023-02-16 16:46:23 -05:00
Mengdi Chen
827cbdbcc6
React DevTools 4.27.0 -> 4.27.1 ( #25835 )
...
patch for devtools bug
2022-12-07 12:23:52 -05:00
Mengdi Chen
f197ca997b
React DevTools 4.26.1 -> 4.27.0 ( #25753 )
2022-11-30 19:14:11 -05:00
Mengdi Chen
6dbccb9249
[DevTools] upgrade to Manifest V3 ( #25145 )
...
## Summary
resolves #24522
To upgrade to Manifest V3, one of the biggest issue is that we are no
longer allowed to add a script element with code in textContent so that
it would run synchronously. It's necessary for us because we need to
inject a global hook for react reconciler to detect whether devtools
exist.
To do that, we'll leverage a new API
`chrome.scripting.registerContentScripts` in V3. Particularly, we rely
on the "world" option (added in Chrome v102
[commit](e5ad3451c1 ))
to run it in the "main world" on the page.
This PR also renames a few content script files so that it's easier to
tell them apart from other extension scripts and understand the purpose
of each of them.
Manifest V3 is not yet ready for Firefox, so we need to keep some code
for compatibility.
## How did you test this change?
`yarn build:chrome && yarn test:chrome`
`yarn build:edge && yarn test:edge`
`yarn build:firefox && yarn test:firefox`
2022-10-21 22:52:18 -04:00
Tianyu Yao
44e2ca393e
React DevTools 4.26.0 -> 4.26.1 ( #25478 )
2022-10-14 10:36:52 -07:00
Tianyu Yao
e099e1dc0e
React DevTools 4.25.0 -> 4.26.0 ( #25283 )
2022-09-16 12:35:00 -07:00
Mengdi Chen
d54880d424
React DevTools 4.24.7 -> 4.25.0 ( #24919 )
2022-07-13 15:57:50 -04:00
Luna Ruan
25837acfee
React DevTools 4.24.6 -> 4.24.7 ( #24646 )
2022-05-31 16:16:07 -04:00
Mengdi "Monday" Chen
52c434be1d
React DevTools 4.24.5 -> 4.24.6 ( #24547 )
2022-05-12 10:52:55 -04:00
Brian Vaughn
547b707493
React DevTools 4.24.4 -> 4.24.5 ( #24503 )
2022-05-05 10:19:08 -07:00
Brian Vaughn
5b2e7253f9
React DevTools 4.24.3 -> 4.24.4 ( #24315 )
2022-04-08 11:38:07 -04:00
Mengdi "Monday" Chen
adb8ebc927
React DevTools 4.24.2 -> 4.24.3 ( #24198 )
2022-03-29 14:44:32 -04:00
Brian Vaughn
8df8a57edd
React DevTools 4.24.1 -> 4.24.2 ( #24150 )
2022-03-24 09:06:10 -04:00
Luna Ruan
ac574d6883
React DevTools 4.24.0 -> 4.24.1 ( #24100 )
2022-03-15 14:13:00 -04:00
Brian Vaughn
f6c130f614
React DevTools 4.23.0 -> 4.24.0 ( #23400 )
...
* React DevTools 4.23.0 -> 4.24.0
* Fixed CHANGELOG header format
* Add separator line beween header version numbers
2022-03-02 13:28:42 -05:00
Brian Vaughn
e28a0db224
React DevTools 4.22.1 -> 4.23.0
2022-01-24 09:29:18 -05:00
Brian Vaughn
5b69c94eed
React DevTools 4.22.0 -> 4.22.1 ( #22962 )
2021-12-14 23:52:50 -05:00
jstejada
0229baee21
React DevTools 4.21.0 -> 4.22.0 ( #22951 )
2021-12-14 14:19:21 -05:00
Juan
6c7ef3fce5
React DevTools 4.20.2 -> 4.21.0 ( #22661 )
2021-10-31 19:19:02 -04:00
Juan
c213030b49
React DevTools 4.20.1 -> 4.20.2 ( #22605 )
2021-10-20 16:00:13 -04:00
Juan
b81de86332
React DevTools 4.20.0 -> 4.20.1 ( #22583 )
2021-10-19 10:55:39 -04:00
Juan
e5f486b5a8
React DevTools 4.19.2 -> 4.20.2 ( #22569 )
2021-10-15 12:50:17 -04:00
Brian Vaughn
20ca9b565a
React DevTools 4.19.1 -> 4.19.2
2021-10-08 13:51:25 -04:00
Brian Vaughn
bdd6d5064d
React DevTools 4.19.0 -> 4.19.1 ( #22480 )
2021-10-01 11:50:05 -04:00
Luna Ruan
0883c4cd3a
React DevTools 4.18.0 -> 4.19.0 ( #22461 )
2021-09-29 12:06:13 -04:00
Luna Ruan
3385b377f7
React DevTools 4.17.0 -> 4.18.0 ( #22234 )
2021-09-01 13:39:36 -07:00
Brian Vaughn
582858083e
React DevTools 4.16.0 -> 4.17.0
2021-08-24 11:12:42 -07:00
Brian Vaughn
b5fbf5464b
Automated DevTools release process ( #22161 )
2021-08-24 14:05:50 -04:00
Brian Vaughn
64f83a6fd2
Replace "source-map" library with "source-map-js" ( #22126 )
2021-08-19 11:25:38 -04:00
Luna Ruan
152ecce117
DevTools 4.15.0 -> 4.16.0 ( #22104 )
2021-08-16 14:55:47 -07:00
Juan
c6f2188ed6
DevTools 4.14.0 -> 4.15.0
2021-08-11 16:47:20 -04:00
Lucas Correia
25f09e3e4e
DevTools: Parse named source AST in a worker ( #21902 )
...
Resolves #21855
Ended up using workerize in order to setup the worker once it allows easy imports (for babel's parse function) and exports.
2021-07-21 12:16:08 -04:00
Brian Vaughn
d0ec283819
DevTools 4.13.5 -> 4.14.0
2021-07-16 00:25:01 -04:00
Brian Vaughn
c5cfa71948
DevTools: Show hook names based on variable usage ( #21641 )
...
Co-authored-by: Brian Vaughn <brian.david.vaughn@gmail.com >
Co-authored-by: Saphal Patro <saphal1998@gmail.com >
Co-authored-by: VibhorCodecianGupta <vibhordelgupta@gmail.com >
2021-07-01 14:39:18 -04:00