Skip to content

Return to React; v4.0.0#62

Merged
lauslim12 merged 20 commits intomainfrom
61-return-to-react
Jun 23, 2025
Merged

Return to React; v4.0.0#62
lauslim12 merged 20 commits intomainfrom
61-return-to-react

Conversation

@lauslim12
Copy link
Copy Markdown
Owner

@lauslim12 lauslim12 commented Jun 23, 2025

Rejuvenated Speednote after a long time of its absence ever since February 17 (https://github.com/lauslim12/speednote/releases/tag/v3.1.6)!

What's changed:

  • Revert back to React, since I don't really feel the performance boost and I think that it's much easier to maintain this product in React
  • Migrate to IndexedDB to remove parsing headaches and to ensure structured, durable, committed data
  • Use app folder instead of src, following the convention of React Router 7 even though we don't need it
  • Removed the not-found page, I think it's not necessary, just render it as a normal PWA SPA
  • Reimplemented most of the note editor via IndexedDB and @tanstack/react-store, a lightweight global store, so that it would be easier to maintain and would be performant as well (render cycles)
  • Prevent flash of unwanted content (in this context, for light and dark theme) by loading TailwindCSS and the application after the JavaScript that handles the theme selector
  • Adjusted tests, ensured that there are no breaking changes in terms of functionality (except IndexedDB)
  • Better debounce implementation, instead of using lodash.debounce, it's a learning opportunity as well for me to deep dive into it (managed to roll out a decent debounce implementation with various methods: debouncedFn, flush, and cancel)
  • Changed the design a little bit so that it becomes more minimalist and more contrast-y

Regarding Indexed DB, same as #26, it will cause data loss for those with the old data / notes. I deeply apologize for the inconveniences if anyone is using this application. As part of my responsibility, please create an issue if you encounter this problem, and I will tell you about how to migrate your data to the newer version.

lauslim12 added 20 commits June 7, 2025 23:24
- `biome` update to `2.0.4`
- `typescript` update to `5.8.3`
- Remove all SolidJS dependencies, replace them with React
- Replace `zod` with `valibot` since it is lighter
- Functional: `@tanstack/react-store`, `dexie`, `sonner`, `react-textarea-autosize`
- Tailwind: `tailwind-merge`, `clsx`
Prevents flash of unwanted content (FOUC) by loading the `<script>`
that ensures the theme is set initially. In addition, TailwindCSS is
loaded via HTML, after the FOUC-preventer is called.
- Since we're no longer using React Router and `localStorage`, the
implementation details part of the tests change slightly
- Ensured that no breaking changes are made during the process
@lauslim12 lauslim12 merged commit cc9c556 into main Jun 23, 2025
2 checks passed
@lauslim12 lauslim12 deleted the 61-return-to-react branch June 23, 2025 15:50
@lauslim12 lauslim12 mentioned this pull request Jun 23, 2025
@lauslim12 lauslim12 linked an issue Jun 23, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Return to React

1 participant