Skip to content

Feat/elastic scroll#7

Merged
rust17 merged 5 commits intomasterfrom
feat/elastic-scroll
Mar 22, 2026
Merged

Feat/elastic scroll#7
rust17 merged 5 commits intomasterfrom
feat/elastic-scroll

Conversation

@rust17
Copy link
Copy Markdown
Owner

@rust17 rust17 commented Mar 22, 2026

This PR marks a major architectural milestone: migrating vstable from Electron to Tauri 2.0. This transition primarily addresses the need for native elastic scroll (rubber-banding) in macOS sub-containers while significantly improving application performance and footprint.


Overview

The migration to Tauri 2.0 was driven by the limitations of Electron in supporting native WebKit elastic scrolling for local containers on macOS. By moving to a Rust-based core, we now achieve better system integration, a drastically smaller bundle size, and lower resource consumption.

Key Changes

1. Architecture Refactor

  • Core Engine: Replaced the Node.js Main process and Preload scripts with a Rust core.
  • Sidecar Integration: The Go-based engine now runs as a Tauri Sidecar, communicating with the Rust layer via gRPC.
  • IPC Bridge: Shifted the frontend from window.api to Tauri's invoke system. Persistent storage is now handled via tauri-plugin-store.

2. Frontend & Build System

  • Build Tooling: Migrated from electron-vite to standard Vite, simplifying the build pipeline.
  • Dependency Cleanup: Removed heavy dependencies including electron and electron-builder.
  • UI Optimizations: Enabled .elastic-scroll across key components (e.g., ResultGrid, DatabaseTree) with overscroll-behavior: contain to polish the macOS user experience.

3. Engineering & Testing

  • CI/CD: Updated GitHub Actions to utilize tauri-apps/tauri-action for cross-platform compilation and automated releases.
  • E2E Testing: Refactored the Playwright suite to mock Tauri's IPC internals (window.__TAURI_INTERNALS__), ensuring full-link validation in headless environments.

Performance Benchmarks

Metric Electron (Old) Tauri (New)
Installer Size ~100MB ~10MB
Memory Usage High Significantly Reduced

Testing Checklist

  • DB Connectivity: Verified MySQL and PostgreSQL connections.
  • Data Grid: CRUD operations and pagination working as expected.
  • Schema Designer: DDL generation and execution validated.
  • Cross-platform: Successful builds for macOS (Intel/ARM) and Windows.

@rust17 rust17 merged commit afd9aed into master Mar 22, 2026
4 checks passed
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.

1 participant