Skip to content

v1.5.5 - Development Experience Improvements

Choose a tag to compare

@doublegate doublegate released this 08 Jan 03:18
· 1 commit to master since this release

Summary

Minor release focused on improving the developer experience and simplifying internal code patterns. Adds automatic DevTools opening in development mode and streamlines the IPC callback registration pattern.

What's New

Development Experience Improvements

  • Automatic DevTools in Development: DevTools now opens automatically when running in development mode
    • Uses !app.isPackaged check to detect development environment
    • Opens in detached mode for better debugging workflow
    • Allows developers to see renderer console output immediately on startup

Code Simplification

  • Simplified Sidebar Toggle IPC Pattern: Streamlined callback registration in preload.ts
    • Previous pattern: Store callback in module-level variable, invoke on IPC receipt
    • New pattern: Directly bind callback to ipcRenderer.on inside onSidebarToggle
    • Functionally equivalent but cleaner, more straightforward implementation
    • Reduced code complexity while maintaining exact same behavior

Technical Details

window.ts Changes

// Open DevTools in development to see renderer console output
if (!app.isPackaged) {
  mainWindow.webContents.openDevTools({ mode: "detach" });
}

preload.ts Changes

// Before (v1.5.4): External callback storage
let sidebarToggleCallback: (() => void) | null = null;
ipcRenderer.on("sidebar-toggle", () => {
  if (sidebarToggleCallback) sidebarToggleCallback();
});
onSidebarToggle: (callback) => { sidebarToggleCallback = callback; }

// After (v1.5.5): Direct binding
onSidebarToggle: (callback: () => void) => {
  ipcRenderer.on("sidebar-toggle", (_event) => {
    callback();
  });
}

Files Changed

  • src/electron/managers/window.ts - Added automatic DevTools opening in development mode
  • src/electron/preload.ts - Simplified sidebar toggle callback pattern
  • CHANGELOG.md - v1.5.5 release notes
  • README.md - Updated latest release section
  • package.json - Version bump to 1.5.5
  • VERSION - Version bump to 1.5.5

Quality Check Results

Check Status
TypeScript (bunx tsc --noEmit) Passed
ESLint (bunx eslint . --quiet) Passed
Build (bun run build) Passed
Tests (bun run test) 8/8 Passed

Full Changelog: v1.5.4...v1.5.5