Skip to content

WriteIn v4.1.0 (hotfix)

Choose a tag to compare

@github-actions github-actions released this 26 Sep 00:07

WriteIn v4.1.0 — The Editor Precision & Paste Formatting Hotfix

WriteIn v4.1.0 is an essential stability and quality-of-life update. This release introduces a smart clipboard paste sanitization engine with customizable style matching, fixes critical cursor jump behaviors during auto-save, eliminates chapter word count bleeding in the manuscript binder, adds expanded character relationship presets, and refines diagnostic reporting.


🚀 Key Highlights & What's New

📋 1. Smart Clipboard Paste Formatting & Style Matching

Pasting content into your novel now seamlessly adapts to your active manuscript styling:

  • Match Current Style (Default): Automatically strips foreign web and Word styles (such as fixed fonts, pt/px font sizes, hardcoded text colors, inline highlight backgrounds, and MsoNormal classes) while preserving semantic author formatting—including bold (<strong>), italics (<em>), strikethrough (<s>), underline (<u>), headings, blockquotes, and lists.
  • Google Docs & Microsoft Word Cleansing:
    • Detects and unwraps Google Docs' outer <b style="font-weight:normal"> wrapper, preventing pasted text from erroneously turning entirely bold.
    • Intelligently translates inline CSS rules (e.g. font-weight: 700 and font-style: italic) into native semantic novel tags.
  • Selectable Paste Preferences: Configure your default clipboard behavior in the Editor Preferences drawer:
    • Match Style: Inherits novel font, size, line-height, and light/dark theme while keeping bold/italics.
    • Keep Format: Preserves original source styling, headings, and lists as permitted by the editor.
    • Plain Text: Strips all formatting, inserting clean unformatted paragraphs.
  • Instant Plain-Text Shortcut: Press Ctrl+Shift+V (or Cmd+Shift+V) anytime to paste as unformatted plain text on the fly.

🎯 2. Rock-Solid Cursor Stability During Auto-Save

  • Eliminated Cursor Jump Bug: Fixed an issue where pausing typing for 1 second triggered an auto-save that forced TipTap's setContent to execute, rebuilding the ProseMirror document state and throwing the cursor to the very bottom or end of the page.
  • Intelligent Content Guarding: Document content is now only synchronized when actively switching chapters or on initial load, leaving your active cursor position, selection, and scroll position completely undisturbed while writing.
  • Paper Click Refinement: Clicking on the margin or padding of the paper surface now focuses the editor at your current position without forcing the cursor to jump to the end of the chapter.

🌲 3. Manuscript Tree Word Count Isolation

  • Prevented Cross-Chapter Word Count Bleeding: Resolved a race condition where navigating between chapters flushed pending saves into the newly selected chapter, causing previous chapter word counts to overwrite subsequent chapters in the manuscript tree.
  • Explicit Target Node Locking: The document save engine now binds saves strictly to the exact chapter ID loaded in the editor rather than UI selection state.
  • Smart Dirty Tracking: Added internal dirty tracking (isDirtyRef) and suppressed synthetic update transactions (emitUpdate: false) during chapter loading, ensuring that simply browsing or reading chapters never schedules accidental saves.

👥 4. Expanded Character Relationship Presets

  • New Relationship Tags: Added Ally / Friend and Ex-Lover / Ex-Partner options to the character relationship modal, giving authors more nuanced presets for character webs.

🛠️ Enhancements & Bug Fixes

  • Updater & Logger Refinements: Integrated error preservation and progress log deduplication improvements into src/utils/logger.ts and src/components/updater/UpdateCheck.tsx.
  • Version Management Automation: Synchronized version identifiers to 4.1.0 across all desktop targets (package.json, Cargo.toml, tauri.conf.json, appVersion.ts, splashscreen.html) and official website links.
  • Expanded Test Suite: Added 11 new tests covering paste sanitization (Google Docs, Word, web HTML, plain-text) and distinct chapter word count preservation in the manuscript binder (158 automated tests passing).

📦 Downloads (Windows 10 / 11 64-bit)

Package File Description
Windows Setup Installer (Recommended) write-in_4.1.0_x64-setup.exe Standard setup with auto-updater, desktop shortcut, and writein:// registry association.
Windows MSI Package write-in_4.1.0_x64_en-US.msi Native Windows Installer package for managed or enterprise environments.

Requirements

  • Microsoft Edge WebView2

This application is built with Tauri and requires the Microsoft Edge WebView2 Runtime which most modern Windows 10 and Windows 11 installations already include WebView2.

If WebView2 is not installed, the installer may require an Internet connection to download and install it.

Installing on an offline computer? Make sure Microsoft Edge WebView2 Runtime is installed before installing the application.

The WebView2 requirement is for the application's Windows runtime. It does not mean that the application itself requires an Internet connection to perform its normal offline functionality.

🐛 Bugs

  • Updater Signing Key Configuration: The updater currently reports a warning that the TAURI_SIGNING_PRIVATE_KEY does not match the public key configured under plugins > updater > pubkey.
  • Impact: Automatic update verification may not work correctly at runtime.
  • Status: Known issue. The updater signing configuration will be corrected in a future release.
  • Workaround: For now, download and install the latest release manually from the release assets.

Thank You

Thank you for downloading and using WriteIn.

If you find a bug or have a suggestion, feel free to open an issue or start a discussion in the repository.


Full Changelog: v4.0.0...v4.1.0