Skip to content

Commit 902f70a

Browse files
authored
Merge pull request #325 from oslabs-beta/master
Merging V23 of Reactime
2 parents a044adc + c9159c6 commit 902f70a

File tree

384 files changed

+4972
-1823
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

384 files changed

+4972
-1823
lines changed

.babelrc

-3
This file was deleted.

.eslintrc

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"extends": [
3-
"airbnb",
43
"plugin:jest/recommended",
54
"plugin:@typescript-eslint/eslint-recommended",
65
"plugin:@typescript-eslint/recommended",

.gitignore

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ src/extension/build.pem
1313
bower_components
1414
sandboxes/manual-tests/NextJS/.next
1515
.vscode
16-
src/app/components/Map.tsx
1716
package-lock.json
18-
yarn.lock
17+
yarn.lock
18+
docs/**/*
19+
docs/*

.gitmodules

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
[submodule "tests/manual-tests/recoilTest"]
2-
path = tests/manual-tests/recoilTest
3-
url = https://github.com/kevinfey/recoilTest
41
[submodule "reactime-website"]
52
path = reactime-website
63
url = https://github.com/reactimetravel/reactime-website

.npmcheckrc

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{"depcheck":
2+
{
3+
"ignoreMatches": [
4+
"css-loader",
5+
"sass-loader",
6+
"style-loader",
7+
"typedoc-webpack-plugin"
8+
]
9+
}
10+
}

CONTRIBUTING.md

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Welcome to the Reactime contributing guide!
22

3-
Thank you for investing your time in contributing to our project! :sparkles:.
3+
Thank you for investing your time in contributing to our project! :sparkles:.
44

55
In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
66

@@ -13,16 +13,15 @@ To get an overview of the project, read the [README](README.md). Here are some r
1313
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
1414
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)
1515

16-
1716
## Getting started
1817

19-
To navigate our codebase with confidence, see the [Developer Guidelines](/src/README.md) :confetti_ball:.
18+
To navigate our codebase with confidence, see the [Developer Guidelines](src/DEVELOPER_README.md) :confetti_ball:.
2019

2120
### Issues
2221

2322
#### Create a new issue
2423

25-
If you spot a problem with the docs, [search if an issue already exists](https://github.com/open-source-labs/reactime/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/open-source-labs/reactime/issues/new).
24+
If you spot a problem with the docs, [search if an issue already exists](https://github.com/open-source-labs/reactime/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/open-source-labs/reactime/issues/new).
2625

2726
#### Solve an issue
2827

@@ -32,14 +31,16 @@ Scan through our [existing issues](https://github.com/open-source-labs/reactime/
3231

3332
#### Make changes in the UI
3433

35-
Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review.
34+
Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review.
3635

3736
#### Make changes locally
3837

3938
1. [Install Git LFS](https://docs.github.com/en/github/managing-large-files/versioning-large-files/installing-git-large-file-storage).
4039

4140
2. Fork the repository.
41+
4242
- Using GitHub Desktop:
43+
4344
- [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop.
4445
- Once Desktop is set up, you can use it to [fork the repo](https://github.com/open-source-labs/reactime.git)!
4546

@@ -55,16 +56,17 @@ Commit the changes once you are happy with them.
5556
### Pull Request
5657

5758
When you're finished with the changes, create a pull request, also known as a PR.
58-
- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request.
59+
60+
- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request.
5961
- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one.
6062
- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge.
61-
Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request additional information.
63+
Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request additional information.
6264
- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.
6365
- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations).
6466
- If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues.
6567

6668
### Your PR is merged!
6769

68-
Congratulations :tada::tada: The Reactime team thanks you! :sparkles:.
70+
Congratulations :tada::tada: The Reactime team thanks you! :sparkles:.
6971

7072
Once your PR is merged, your contributions will be publicly visible on [Reactime](https://github.com/open-source-labs/reactime)!

README.fr.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<br>
3737

3838
<p align="center">
39-
<img src="./assets/gifs/GeneralDemoGif.gif" />
39+
<img src="./assets/gifs/GeneralDemoGif_v23.gif" />
4040
</p>
4141

4242
<p align="center">

README.md

+28-22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
<h1 align="center">
2-
1+
<h1 align="center">
32
<br>
43
<img src ="./assets/logos/chromeExtensionIcons/marqueePromoTitle.png"/>
54
<br>
@@ -17,7 +16,6 @@
1716
<a href="https://github.com/oslabs-beta/reactime">
1817
<img src="https://img.shields.io/github/license/oslabs-beta/reactime" alt="GitHub">
1918
</a>
20-
<img src="https://img.shields.io/badge/babel%20preset-airbnb-ff69b4" alt="BabelPresetPrefs">
2119
<img src="https://img.shields.io/badge/linted%20with-eslint-blueviolet" alt="LintPrefs">
2220
</p>
2321

@@ -29,7 +27,7 @@
2927
<br>
3028

3129
<p align="center">
32-
<img src="./assets/gifs/GeneralDemoGif.gif" />
30+
<img src="./assets/gifs/GeneralDemoGif_V23.gif" />
3331
</p>
3432

3533
<p align="center">
@@ -42,13 +40,14 @@
4240

4341
You can view your application's file structure and click on a snapshot to view
4442
your app's state. State can be visualized in a Component Graph, JSON Tree, or
45-
Performance Graph. Snapshots can be compared with the previous snapshot, which can
46-
be viewed in Diff mode.
43+
Performance Graph. Snapshot history can be visualized in the History tab.
44+
The Web Metrics tab provides some useful metrics for site performance.
45+
Snapshots can be compared with the previous snapshot, which can be viewed in Diff mode.
4746
<br>
4847
<br>
4948

5049
<p align="center">
51-
<img src="./assets/gifs/TimeTravelGif.gif" />
50+
<img src="./assets/gifs/TimeTravelGif_V23.gif" />
5251
</p>
5352
<br>
5453

@@ -85,7 +84,7 @@ Download the recorded snapshots as a JSON file and upload them to access state t
8584
<br>
8685

8786
<p align="center">
88-
<img src="./assets/gifs/importExport_v22.gif" />
87+
<img src="./assets/gifs/ImportExportGif_v23.gif" />
8988
</p>
9089
<br>
9190

@@ -95,11 +94,6 @@ If Reactime loses its connection to the tab you're monitoring, simply click the
9594
<br>
9695
<br>
9796

98-
<p align="center">
99-
<img src="./assets/gifs/ReconnectGif22.gif" />
100-
</p>
101-
<br>
102-
10397
### 🔹 Re-render Optimization
10498

10599
One of the most common issues that affects performance in React is unnecessary
@@ -168,16 +162,22 @@ of the structure and interfaces of the codebase.
168162

169163
<h1>What's New!</h1>
170164

171-
Reactime 22.0 heralds significant enhancements, addressing core performance issues and fortifying the overall application's stability and reliability. In our pursuit of consistent evolution, we've updated outdated packages and transitioned state management to Redux Toolkit. This strategic shift not only modernizes our tech stack but also ensures our application is positioned for easier maintenance and scalability in the future. Complementing these upgrades, this release also mends various bugs. The debut of features like the reconnection button, a status icon, and the integration of key web metrics – Cumulative Layout Shift (CLS) and Interaction To Next Paint (INP) – amplifies its functionality and offers users a more refined experience.
165+
Reactime 23.0 brings a new look to the UI, completely updates all outdated packages, and significantly improves stability by solving loading bugs.
166+
167+
UI
172168

173-
<i>Taking a deeper look</i>
169+
V23 showcases a sharp new theme to our extension’s UI. We also opted to completely overhaul the styling architecture to make it easier for future developers to change it to their liking.
174170

175-
Addressing the persistent disconnection/black screen issues that occasionally affected users during regular application use, we made decisive improvements by removing the "keepAlive" function and implementing robust logic to fix the core issue. This enabled us to refine the communication protocol between our application and the Chrome extension API, delivering a more consistent and stable connection. To further enhance the user experience and foster resilience, we introduced a user-friendly reconnection feature. This not only offers users a swift recovery route but also acts as an added layer of protection against any unexpected disconnections in the future.
171+
Dependencies
176172

177-
In an effort to improve maintainability, scalability, and longevity, we updated and phased out certain dependencies. To name a few, we moved away from the Immer library and transitioned our state management to use Redux Toolkit, while upgrading the Web Vitals API from version 1.1.2 to 3.5.0, allowing us to harness a broader range of web metrics. As part of this transition, we also converted all of the existing tests to work with the updated state management system, while further expanding testing suites to increase overall testing coverage. Lastly, we achieved a notable increase in TypeScript coverage, strengthening code quality and early detection of potential development issues.
173+
As of Reactime v22, installing node modules required the use of npm --force due to numerous lingering peer dependency issues. We have tackled this issue head-on in v23 of Reactime. We trimmed bulky packages that already served their purpose. We completely updated those that played a vital role in our extension’s current operation, and we fully resolved their conflicts with other dependencies. By downsizing from 124 to 70 packages, we have made Reactime much lighter and more future-proof.
178174

179-
For an improved user experience, we set our sights on several impactful enhancements. First on our list is the reconnection feature, designed as a protective measure for those unexpected moments when a user gets disconnected. In such events, an intuitive pop-up dialog will instantly emerge, offering users a seamless way to dive right back into their session, while also offering the option to download recorded snapshots of state as a JSON file. Complementing this, we've integrated a dynamic status indicator that transparently displays a user's current app status, highlighting whether they're online or offline. But that's not all. We've enriched the application with two vital web performance metrics: Cumulative Layout Shift (CLS) and Interaction to Next Paint (INP). These metrics are pivotal, providing developers with insights into layout stability and responsiveness, empowering them to optimize user interactions with precision.
175+
This effort serves to bolster Reactime in two ways: First, updating packages like react router and webpack gives Reactime’s users access to the performance upgrades that come with modern versions. Additionally, we have future-proofed Reactime by leaving our dependencies at their latest versions. This effort gives future developers of the extension a head start in adding new features and expanding the power of existing ones.
180176

177+
Loading stability
178+
179+
Reactime has experienced persistent issues with stably loading up. Our first step in tackling these loading inconsistencies was to thoroughly unpack Reactime’s inner workings. Tracking the flow of messages from our content script, our background service workers, the Redux state management and our extension’s backend allowed us to diagnose potential roadblocks as Reactime was spinning up. An exhaustive period of trial and error further deepened our understanding of the problem and ultimately led us towards our new and robustly stable launch experience.
180+
Beyond this, we have built out a road map of documentation with the goal of setting future Reactime developers on the fast track to further enhance the stability of Reactime’s launch and overall user experience.
181181

182182
If you would like to read more about previous releases, click <a href="https://github.com/open-source-labs/reactime/releases">here!</a>
183183

@@ -213,14 +213,16 @@ locally.
213213

214214
<i>Please refer to Developer Install for a detailed guide:</i>
215215

216-
Refer [DEVELOPER README](src/README.md) for more info on the project, and
216+
Refer to the [DEVELOPER README](src/DEVELOPER_README.md) for more info on the project, and
217217
instructions on building from source.
218218

219219
### <b>How to Use</b>
220220

221221
After installing the Chrome extension, just open up your project in the browser.
222222

223-
Then open up your Chrome DevTools and navigate to the Reactime panel.
223+
Then right click on your application and choose the 'Reactime' context menu item to open up a Reactime panel.
224+
225+
Alternatively, you can open up your Chrome DevTools and navigate to the Reactime panel.
224226

225227
## <b>Troubleshooting</b>
226228

@@ -242,7 +244,7 @@ clicking the right mouse button “Reload frame”.
242244
### ❓ <b>I found a bug in Reactime</b>
243245

244246
Reactime is an open-source project, and we'd love to hear from you about
245-
improving the user experience. Please read [DEVELOPER README](src/README.md),
247+
improving the user experience. Please read [DEVELOPER README](src/DEVELOPER_README.md),
246248
and create a pull request (or issue) to propose and collaborate on changes to Reactime.
247249

248250
### ❓ <b>Node version compatibility</b>
@@ -253,7 +255,7 @@ Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy'
253255

254256
## <b>Read More</b>
255257

256-
- [Reactime: Real-time Debugging, Timeless Results](https://medium.com/@kelvinmirhan/reactime-real-time-debugging-timeless-results-3f163b721d01)
258+
- [Reactime renovation: Updates Coming in Version 23.0!](https://medium.com/@liam.donaher/reactime-renovation-updates-coming-in-version-23-0-37b2ef2a2771)
257259

258260
## <b>Authors</b>
259261

@@ -353,6 +355,10 @@ Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy'
353355
- **Jimmy Phy** - [@jimmally](https://github.com/jimmally)
354356
- **Andrew Byun** - [@AndrewByun](https://github.com/AndrewByun)
355357
- **Kelvin Mirhan** - [@kelvinmirhan](https://github.com/kelvinmirhan)
358+
- **Jesse Rosengrant** - [@jrosengrant](https://github.com/jrosengrant)
359+
- **Liam Donaher** - [@leebology](https://github.com/leebology)
360+
- **David Moore** - [@Solodt55](https://github.com/Solodt55)
361+
- **John Banks** - [@Jbanks123](https://github.com/Jbanks123)
356362

357363
## <b>License </b>
358364

assets/DataFlowDiagram.PNG

-177 KB
Binary file not shown.

assets/DataFlowDiagramV23.png

99.8 KB
Loading

assets/gifs/GeneralDemoGif.gif

-1.32 MB
Binary file not shown.

assets/gifs/GeneralDemoGif_V23.gif

3.7 MB
Loading

assets/gifs/ImportExportGif_V23.gif

3.59 MB
Loading

assets/gifs/PerformanceGif_V23.gif

3.85 MB
Loading

assets/gifs/TimeTravelGif.gif

-1.7 MB
Binary file not shown.

assets/gifs/TimeTravelGif_V23.gif

4.09 MB
Loading

assets/gifs/importExport_v22.gif

-3.04 MB
Binary file not shown.

assets/gifs/main_v21.gif

-1.2 MB
Binary file not shown.

0 commit comments

Comments
 (0)