After the slice states got reset, the base reset function just reverted all those resets and only reset the base states in the store (manga, scrollbar, ...)
In case the webUI wasn't hosted on the same domain as the server, the ui was stuck on the splash screen, due to the inferred server address being wrong.
Simplifies settings usage by directly accessing the `settings` object instead of relying on intermediary extraction functions. Improves code readability and reduces unnecessary abstraction.
Ensures consistency across all settings components for a cleaner and more efficient implementation.
Previously, the drag-scroll implementation used incremental relative positioning
which accumulated rounding errors over time. This caused the mouse cursor to
gradually drift away from its original position during prolonged drag operations,
particularly noticeable on slower hardware or systems with lower frame rates.
The fix switches from cumulative delta updates to absolute positioning:
- Track initial mouse and scroll positions when drag starts
- Calculate scroll position as: initialScroll - (currentMouse - initialMouse)
- This ensures the visual position remains locked throughout the entire drag
This change eliminates drift by avoiding cumulative floating-point
errors that occurred with the previous += approach.
1. Inverted Logic: The code adds the mouse delta to scrollLeft/scrollTop, but this is backwards. When you drag right, you want the content to move left (scroll increases), and vice versa.
2. Cumulative Rounding Errors: Using += with floating-point deltas accumulates rounding errors over time, especially on slower hardware where mousemove events may be processed less frequently or with more delay.
3. Frame Rate Dependency: On slower hardware, if the browser can't keep up with all mouse events, some movements get skipped, but the positions still update, causing the reference point to drift.