Skip to content

Releases: Pollux-Studio/stashify

Stashify v0.1.0

20 Feb 19:21

Choose a tag to compare

Changelog

src/components/PatchViewer.tsx

Added

  • Introduced a dedicated PatchViewer component using Monaco Editor for stash patch review.
  • Added Monaco worker configuration for JSON/CSS/HTML/TypeScript plus default editor worker.
  • Added file-language detection based on known Monaco filenames/extensions.
  • Added unified-diff parsing (extractDiffSides) to derive original/modified panes when raw patch text is provided.
  • Added in-memory URI model strategy for stable Monaco model identity.

Changed

  • Implemented dual rendering modes:
    • Side-by-side diff editor for standard file statuses.
    • Single-pane editor for added/new files (isAddedStatus) to avoid empty original panes.
  • Added dynamic theme sync between app theme and Monaco (vs / vs-dark) via DOM class observer.

Reliability / Performance

  • Added explicit editor/model lifecycle cleanup to prevent model leaks and stale editor instances.
  • Ensured model recreation is tied to file/patch/status changes for consistent updates.

———

src/App.tsx

Added

  • Replaced default starter screen with full Stashify desktop workflow UI.
  • Added repository/folder management:
    • Manual add, folder picker integration, saved repo list.
    • Persistent saved repos via local storage.
    • Repo card drag-and-reorder.
  • Added stash workflow:
    • Load stashes per selected repo.
    • Expand/collapse stash sections.
    • Load stash diff files and summaries (added/modified/deleted/renamed/other).
  • Added file tree explorer with folder expand/collapse and “expand all / collapse all” behavior.
  • Added image-diff mode with zoom controls for image files.
  • Added Drive features:
    • Available drive listing.
    • Drive selector dropdown.
    • Drive folder search suggestions.
  • Added error UX:
    • Human-readable invalid-repository cards and actionable hints.
  • Added desktop window UX for Tauri:
    • Drag window region and custom minimize/maximize/close controls.
  • Added global shortcut handling and browser-control blocking (e.g. F12, F5, reload/devtools-style combos).

Changed

  • Integrated PatchViewer as the primary code diff surface.
  • Added theme mode persistence and runtime switching.
  • Added request-id guards for stash/diff/search async calls to avoid stale response races.

UX Improvements

  • Added richer empty/loading/error states.
  • Improved repo labels, badge styling by git status, and stash summary visibility.
  • Added keyboard-focused productivity shortcuts (repo focus/reload/theme toggle flows).