github byvfx/go-notion-md-sync v0.12.0

latest releases: v0.16.0, v0.13.0
9 months ago

Release Notes - v0.12.0

Release Date: July 16, 2025
Major Milestone: Terminal User Interface (TUI) Implementation

Overview

Version 0.12.0 introduces a comprehensive Terminal User Interface (TUI) that provides an intuitive, visual way to interact with notion-md-sync. This release represents the completion of Phase 4 from the project roadmap and brings us significantly closer to the v1.0 milestone.

New Features

Terminal User Interface (TUI)

Command: notion-md-sync tui

The TUI provides a split-pane interface that matches the original design mockup:

  • Left Pane - File Browser

    • Interactive file listing with sync status indicators
    • File selection with visual markers
    • Status icons: synced, modified, error, pending, conflict
    • Statistics showing file counts by status
  • Right Pane - Sync Status

    • Real-time sync operation monitoring
    • Tree-style progress display
    • Elapsed time tracking
    • Daily sync statistics
  • Header Section

    • Application title and version
    • Notion workspace connection status
  • Footer Section

    • Keyboard shortcuts and help text

Navigation and Controls

  • Tab: Switch focus between file list and sync status panes
  • Arrow Keys: Navigate within the active pane
  • Space: Select/deselect files for sync operations
  • s: Initiate sync for selected files
  • c: Open configuration view
  • q / Ctrl+C: Quit the application

Design Features

  • Clean, professional interface with straight borders
  • Focused pane highlighting with colored borders
  • Responsive layout that adapts to terminal size
  • Cross-platform compatibility (Windows, macOS, Linux)

Technical Implementation

Architecture

  • Built using the Bubble Tea framework for robust terminal UI
  • Implements proper Model-View-Update (MVU) pattern
  • Modular component design for maintainability
  • Type-safe message passing between components

Package Structure

pkg/tui/
├── model.go          # Main TUI application model
├── unified.go        # Split-pane unified view
├── filelist.go       # File browser component
├── syncstatus.go     # Sync status component
├── dashboard.go      # Dashboard component
├── config.go         # Configuration component
├── search.go         # Search component
├── conflict.go       # Conflict resolution component
└── *_test.go         # Comprehensive test suite

Dependencies

  • github.com/charmbracelet/bubbletea - Terminal UI framework
  • github.com/charmbracelet/bubbles - UI components
  • github.com/charmbracelet/lipgloss - Styling and layout

Quality Assurance

Testing

  • Comprehensive unit test coverage for all TUI components
  • Integration tests for keyboard navigation and state management
  • Cross-platform compatibility testing

Code Quality

  • Zero linter violations (golangci-lint)
  • Proper error handling throughout
  • Clean separation of concerns
  • Documented public APIs

Breaking Changes

None. The TUI is an additive feature that doesn't affect existing CLI functionality.

Bug Fixes

  • Fixed import issues in TUI package structure
  • Resolved type assertion errors in model updates
  • Corrected file selection indicator display

Performance

  • Efficient rendering with minimal CPU usage
  • Responsive interface even with large file lists
  • Memory-efficient component lifecycle management

Documentation Updates

  • Updated CLI help text to include TUI navigation instructions
  • Added comprehensive TUI documentation
  • Updated project README with TUI usage examples

Migration Guide

No migration required. Existing workflows continue to function as before. The TUI can be accessed via:

notion-md-sync tui

Known Limitations

  • File operations are currently mock data (real integration pending)
  • Configuration interface is placeholder (full implementation in next release)
  • Search functionality is placeholder (planned for v0.13.0)

What's Next

The next release (v0.13.0) will focus on:

  • Real file system integration with the TUI
  • Enhanced configuration management interface
  • Search functionality implementation
  • Advanced sync operation controls

Contributors

This release represents significant progress toward the v1.0 milestone, implementing the complete TUI experience as outlined in the project roadmap.


Full Changelog: v0.11.0...v0.12.0

Don't miss a new go-notion-md-sync release

NewReleases is sending notifications on new releases.