You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/DEVELOPER_README.md
+17-11Lines changed: 17 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,10 +54,24 @@ _Before_ beginning development, especially on teams, make sure to configure your
54
54
55
55
Here are some notes on the current state of Reactime and considerations for future development.
56
56
57
+
## Address open issues on the main OSLabs Reactime Github
58
+
59
+
There are a variety of open issues on the [OSLabs Reactime Github](https://github.com/open-source-labs/reactime) that remain to be addressed.
60
+
57
61
## Main Slice Modularity
58
62
59
63
Currently, Reactime employs Redux Toolkit for state management. At present, all actions are housed within the mainSlice.ts file. As this file has expanded significantly, it would be beneficial to modularize it, creating separate slices for distinct components.
60
64
65
+
## Testing
66
+
67
+
With Reactime V23, ALL outdated packages and peer dependencies were resolved--a huge feat. A side effect of this is that the Jest testing library has unresolved errors. This should be a pretty easy win for future iterators to bring the Jest library back up and running smoothly. The jest-environment-jsdom package has some deprecated sub-packages, so if there is an alternative that can be used, that would be best, so it does not introduce new deprecated packages.
68
+
69
+
In addition, while our current test coverage provides a sturdy base, the application can benefit from deeper exploration into critical user paths and broadening end-to-end testing scenarios. Embracing automation and periodic reviews can further ensure consistent quality and robustness in the face of evolving requirements.
70
+
71
+
## Continue to investigate app behavior on load
72
+
73
+
With Reactime V23, loading errors were eliminated by having the web app reload upon a Reactime panel being opened. While this provides a working, stable solution to what were persistent loading issues, the app's behavior on load should still be examined. There are odd interactions happening within the message passing framework of a chrome dev tool which may be a root cause. Please examine the interacion between background.js, contentscript, maincontainer, and redux toolkit.
74
+
61
75
## Including Support for Hooks Beyond useState
62
76
63
77
Reactime currently shows data stored via useState, but does not show data stored via other hooks such as useContext or useReducer. While showing this data would be simple, maintaining the time travel functionality of Reactime with these hooks would not. _Please see file demo-app/src/client/Components/ButtonsWithMoreHooks.jsx for more details._
@@ -73,9 +87,7 @@ To see how hook data is stored on the fiber tree:
73
87
74
88
Any changes to console.logs in Reactime can be seen by refreshing the browser the app is running in.
75
89
76
-
## Replace Functionality for Outdated Packages
77
-
78
-
Material-ui/core has been updated to use React 18. Future developers may choose to remove Material-ui/core from the application to ensure compatibility in the future or continue to build out the UI. The choice is yours!
90
+
## React DevTools Global Hook
79
91
80
92
React Developer Tools has NOT deprecated \_\_REACT_DEVTOOLS_GLOBAL_HOOK\_\_. However, Reactime v21 has sleuthed and learned the following from the team at React:
81
93
@@ -84,21 +96,15 @@ Ruslan Lesiutin (https://github.com/hoxyq) from Meta/ Facebook responded on July
84
96
We don't have plans on removing the global hook currently, this is still the primary way on how React and React DevTools interact, but it doesn't mean that any other extensions / applications should inject into this hook and use it. You should always take that into account that APIs inside this hook can have breaking changes.
85
97
In a long term, there are plans to implement more reliable API contract of what DevTools can expose from React to other tools, but I don't have any timelines and details yet.”
86
98
87
-
## Continue to investigate app behavior on load
88
-
89
-
With Reactime V23, loading errors were eliminated by having the web app reload upon a Reactime panel being opened. While this provides a working, stable solution to what were persistent loading issues, the app's behavior on load should still be examined. There are odd interactions happening within the message passing framework of a chrome dev tool which may be a root cause. Please examine the interacion between background.js, contentscript, maincontainer, and redux toolkit.
90
-
91
99
## Redux
92
100
93
101
Can Reactime functionality be extended so applications using Redux can track state in Reactime?
94
102
95
103
Yes, but it would be very time-consuming and not the most feasible option while Redux devtools exists already. With how Redux devtools is currently set up, a developer is unable to use Redux devtools as a third-party user and integrate its functionality into their own application, as Redux devtools is meant to be used directly on an application using Redux for state-tracking purposes. Since the devtools do not appear to have a public API for integrated use in an application or it simply does not exist, Redux devtools would need to be rebuilt from the ground up and then integrated into Reactime, or built into Reactime directly still from scratch.
96
104
97
-
## Testing
105
+
## Newsletter functionality on the Reactime website
98
106
99
-
With Reactime V23, ALL outdated packages and peer dependencies were resolved--a huge feat. A side effect of this is that the Jest testing library has unresolved errors. This should be a pretty easy win for future iterators to bring the Jest library back up and running smoothly. The jest-environment-jsdom package has some deprecated sub-packages, so if there is an alternative that can be used, that would be best, so it does not introduce new deprecated packages.
100
-
101
-
In addition, while our current test coverage provides a sturdy base, the application can benefit from deeper exploration into critical user paths and broadening end-to-end testing scenarios. Embracing automation and periodic reviews can further ensure consistent quality and robustness in the face of evolving requirements.
107
+
As noted in the [Reactime Webite Github](https://github.com/reactimetravel/reactime-website), a newsletter functionality would be nice but has not been implemented yet.
0 commit comments