Skip to main content

Issues To Keep Track On

The "Issues To Keep Track On" page is a valuable resource for a project team or organization to maintain transparency, collaboration, and efficiency. It serves several purposes:

  1. Transparency: It allows everyone involved in the project to have a clear understanding of the issues that are being worked on or need attention. This helps to avoid duplication of efforts and ensures that everyone is aware of the current status of the project.
  2. Collaboration: By documenting issues and their solutions, the team can collaborate more effectively. Team members can refer to the page to understand the context of a particular issue, its status, and the proposed solution. This can help in making informed decisions and ensuring that everyone is on the same page.
  3. Efficiency: By keeping track of issues, the team can prioritize their work more effectively. They can focus on resolving the most critical issues first, ensuring that the project progresses smoothly. This can help in avoiding delays and ensuring that the project stays on track.
  4. Learning: The "Issues To Keep Track On" page can also serve as a learning resource. By documenting the issues and their solutions, the team can learn from past experiences and avoid making the same mistakes in the future. This can help in improving the overall quality of the project.

Testing

NameShort DescriptionSolution
jsdom: ResizeObserver is not defined on window IssueUnable to test the components that uses the ResizeObserver, for emaple the Radix ScrollArea componentMock global.ResizeObserver
Inability to test Radix Select in tests, IssueThe library cannot open the select when writing unit tests with @testing-library/react against the Select component.We don't have solution yet
msw: Unable to use Networking Overrides for post requests correctly. DicsussionIt seems that if success case is run first, handlers, that are supposed to override it, will be ignored. If I move this kind of test to be run in the beginning, the whole suite passes. If test is run in isolation it will also pass. If I move it to the end, after tests which used default handler run, it will fail because handler override is ignored.Add the "workaround test" before such test cases.

React Libraries

NameShort DescriptionSolution
React Table: The need to memoize data provided table, IssueThe component keeps rerendering if data is not memoizedJust wrap data that you pass into useMemo
React Hook Form: the debounced form values causes form rerendering IssueIf we add something like this: const formWatch = form.watch(); const debouncedForm = useDebounceValue(formWatch, 1000); the form component starts rerendering every 1 second.Create the separate useDebounceFormWatch hook