Skip to content

Commit 9cb9f0a

Browse files
authored
Merge pull request #318 from oslabs-beta/master
Merging master from fork into open source labs master
2 parents b4e6988 + 28734da commit 9cb9f0a

File tree

84 files changed

+3009
-1639
lines changed

Some content is hidden

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

84 files changed

+3009
-1639
lines changed

README.fr.md

Lines changed: 127 additions & 57 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<br>
3030

3131
<p align="center">
32-
<img src="./assets/gifs/main_v21.gif" />
32+
<img src="./assets/gifs/GeneralDemoGif.gif" />
3333
</p>
3434

3535
<p align="center">
@@ -48,7 +48,7 @@ be viewed in Diff mode.
4848
<br>
4949

5050
<p align="center">
51-
<img src="./assets/gifs/timeTravelHistory_v21.gif" />
51+
<img src="./assets/gifs/TimeTravelGif.gif" />
5252
</p>
5353
<br>
5454

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

8787
<p align="center">
88-
<img src="./assets/gifs/importExport_v21.gif" />
88+
<img src="./assets/gifs/importExport_v22.gif" />
89+
</p>
90+
<br>
91+
92+
### 🔹 Reconnect and Status
93+
94+
If Reactime loses its connection to the tab you're monitoring, simply click the "reconnect" button to resume your work. You'll notice a circle located to the right of the button, which will appear as either red (indicating disconnection) or green (signifying a successful reconnection).
95+
<br>
96+
<br>
97+
98+
<p align="center">
99+
<img src="./assets/gifs/ReconnectGif22.gif" />
89100
</p>
90101
<br>
91102

@@ -94,35 +105,47 @@ Download the recorded snapshots as a JSON file and upload them to access state t
94105
One of the most common issues that affects performance in React is unnecessary
95106
render cycles. This problem can be fixed by checking your renders in the
96107
Performance tab in Chrome DevTools under the Reactime panel.
108+
<br>
109+
<br>
97110

98111
### 🔹 Jumping
99112

100113
Using the actions sidebar, a user can jump to any previously recorded snapshots.
101114
Hitting the jump button on any snapshot will allow a user to view state data at
102115
any point in the history of the target application.
116+
<br>
117+
<br>
103118

104119
### 🔹 Gatsby
105120

106121
Reactime offers full support for Gatsby applications. You would be able to
107122
identify unnecessary renders, duration of each rendering, travel-debugging
108123
features and visual representation of the tree components.
124+
<br>
125+
<br>
109126

110127
### 🔹 Next.js
111128

112129
Reactime offers debugging and performance tools for Next.js apps: time-traveling
113130
debugging, preventing unnecessary component re-renders and making your
114131
application faster.
132+
<br>
133+
<br>
115134

116135
### 🔹 Remix
117136

118137
Reactime offers debugging and performance tools for Remix apps (in beta). Support still
119138
needs to be added for multi-route time traveling. Every other feature works.
139+
<br>
140+
<br>
120141

121142
### 🔹 TypeScript Support
122143

123144
Reactime offers support for TypeScript applications using stateful class
124145
components and functional components. Further testing and development is
125146
required for custom hooks and Concurrent Mode.
147+
<br>
148+
<br>
126149

127150
### 🔹 Documentation
128151

@@ -131,6 +154,7 @@ root level and serve the dynamically generated `/docs/index.html` file on a
131154
browser. Doing so will provide a readable, extensible, and interactive GUI view
132155
of the structure and interfaces of the codebase.
133156
<br>
157+
<br>
134158

135159
### <b>Additional Features</b>
136160

@@ -144,15 +168,16 @@ of the structure and interfaces of the codebase.
144168

145169
<h1>What's New!</h1>
146170

147-
Reactime 21.0 focuses on several key performance issues to improve application stability and reliability, bug fixes, a revamped UI, and the inclusion of a state export and import feature.
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.
172+
173+
<i>Taking a deeper look</i>
148174

149-
<i>Under the Hood</i>
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.
150176

151-
We have resolved several persistent bugs that would result in a black screen during regular application use. One of the major causes of Reactime’s black screen bug was related to the use of deprecated packages, such as an outdated Material UI package. Another source of black screens and poor user experience appeared to be related to the application frequently terminating ports. This prevented Reactime’s contentScript.ts, background.js, and MainContainer.tsx from communicating with the developer’s application. Through the implementation of a ‘keepAlive’ function, we allow the connection to stay long-lived for longer. Updating the current Material UI package from v4 to v5 and implementing keepAlive connections have resulted in a drastic decrease in port disconnects.
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.
152178

153-
In an effort to improve maintainability and application longevity, there were several engineering interventions that were implemented. One of the goals for Reactime 21.0 was to decrease the dependency on external libraries and packages, which we have done by updating or removing packages. While the documentation for the backend and extension was adequate, there was a severe lack of documentation of all the front-end components. Reactime 21.0 has changed this with documentation covering more than 90% of front-end component logic. We have also added new images and charts so future developers can understand how components are interconnected. These improvements should lead to faster development of features in the future.
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.
154180

155-
For user experience, we focused on several major goals. The new download and upload feature allows developers to download their current state history so that developers may share their findings or review them later down the road. Another focus was to remove features that did not meet Reactime’s standards for user experience. The “Compare Actions” option has been removed until the feature becomes more concrete. The initial application load screen has had timings loosened to allow developers with slower computers to allow better connection between Reactime and their application. Loading error messages have been improved to allow easier initial troubleshooting to decrease frustration. Last but not least, while we have now migrated to Material UI v5, we have started the slow transition to convert various components into Material UI. Along with a new take on Reactime’s logo, this has resulted in a cleaner and more modern appearance.
156181

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

@@ -228,7 +253,7 @@ Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy'
228253

229254
## <b>Read More</b>
230255

231-
- [Cheers to Reactime, Version 21!](https://medium.com/@brok3turtl3/cheers-to-reactime-version-21-fa4dafa4bc74)
256+
- [Reactime: Real-time Debugging, Timeless Results](https://medium.com/@kelvinmirhan/reactime-real-time-debugging-timeless-results-3f163b721d01)
232257

233258
## <b>Authors</b>
234259

@@ -324,6 +349,10 @@ Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy'
324349
- **Eivind Del Fierro** - [@EivindDelFierro](https://github.com/EivindDelFierro)
325350
- **Kyle Bell** - [@KyEBell](https://github.com/KyEBell)
326351
- **Sean Kelly** - [@brok3turtl3](https://github.com/brok3turtl3)
352+
- **Christopher Stamper** - [@ctstamper](https://github.com/ctstamper)
353+
- **Jimmy Phy** - [@jimmally](https://github.com/jimmally)
354+
- **Andrew Byun** - [@AndrewByun](https://github.com/AndrewByun)
355+
- **Kelvin Mirhan** - [@kelvinmirhan](https://github.com/kelvinmirhan)
327356

328357
## <b>License </b>
329358

README.rus.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ Reactime beta поддерживает приложения, написанны
177177
- **James McCollough** - [@j-mccoll](https://github.com/j-mccoll)
178178
- **Mike Bednarz** - [@mikebednarz](https://github.com/mikebednarz)
179179
- **Sergei Liubchenko** - [@sergeylvq](https://github.com/sergeylvq)
180+
- **Christopher Stamper** - [@ctstamper](https://github.com/ctstamper)
181+
- **Jimmy Phy** - [@jimmally](https://github.com/jimmally)
182+
- **Andrew Byun** - [@AndrewByun](https://github.com/AndrewByun)
183+
- **Kelvin Mirhan** - [@kelvinmirhan](https://github.com/kelvinmirhan)
180184

181185
## <b>License </b>
182186

1.71 MB
Loading
2.05 MB
Loading

assets/gifs/GeneralDemoGif.gif

1.32 MB
Loading

assets/gifs/ReconnectGif22.gif

2.49 MB
Loading

assets/gifs/TimeTravelGif.gif

1.7 MB
Loading

assets/gifs/importExport_v21.gif

-2.82 MB
Binary file not shown.

assets/gifs/importExport_v22.gif

3.04 MB
Loading

0 commit comments

Comments
 (0)