The Rust tauri crate was bumped to 2.11.1 in PR #146 but the NPM
@tauri-apps/api package stayed at 2.10.1, causing the Tauri build to
fail with a version mismatch error.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update all version references to 1.1.7. Fix TypeScript errors in test
mocks caused by tauri 2.11 changing fs API signatures from string to
string | URL.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
On macOS 12 (Monterey), the app launches but no main window appears.
The root cause is WebKit bug #242740: Safari 15's WKWebView has a race
condition with top-level await in ES modules, causing silent JS failure
that prevents `getCurrentWindow().show()` from ever being called.
Three complementary fixes:
1. Change Vite build target from `esnext` to `safari14` (Tauri recommended)
and add `vite-plugin-top-level-await` to transform TLA into compatible
Promise chains, avoiding the WebKit bug entirely.
2. Replace top-level `await import("./App")` in main.tsx with a `.then()`
chain, removing TLA dependency at the source level.
3. Add a Rust-side 8-second timeout safety net in `setup()` that
force-shows the main window if the frontend JS fails to do so,
preventing permanently hidden windows regardless of the failure cause.
Closes#95
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add build-macos-intel job using macos-15-intel runner with
x86_64-apple-darwin target. Includes code signing, notarization,
and updater support (darwin-x86_64 platform key in latest.json).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add dual workaround for WKWebView failing to repaint after returning
from background (1px resize nudge + DOM reflow)
- Use version-free download links in landing page
- Resolve app version dynamically from Tauri in sidebar
- Bump version to 1.0.5
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename build artifacts to fixed names (ClaudePrism-macOS.dmg, etc.)
- Update latest.json URLs to use fixed filenames
- Update README download links to /releases/latest
- Inline update UI on home screen with version badge
- Gitignore Tauri gen/schemas
- Bump to v1.0.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace toast-based updater with inline version badge on home screen
- Show version + check/update/progress states directly in ProjectPicker
- Move Toaster to App level for workspace toast support
- Remove auto-generated Tauri schemas from git tracking
- Bump to v1.0.2
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Toaster was only in WorkspaceWithClaude so update toasts didn't show
on the home screen. Moved to App level. Also shows version on home.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add tauri-plugin-updater with signed update artifacts
- Add backgroundThrottling: disabled to prevent WKWebView black screen
- Add update check UI with toast notifications (sonner)
- Update build scripts to generate latest.json for GitHub Releases
- Add multi-platform CI workflow (macOS/Linux/Windows) with draft releases
- Bump version to 1.0.1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Updated Tectonic build configuration for local macOS development.
- Modified git2 dependency to use vendored-libgit2 feature.
- Improved the `find_claude_binary` function to check for native installation paths first.
- Added functions to ensure required directories for Claude are created and writable, with elevation handling on macOS.
- Updated `install_claude_cli` to ensure necessary directories exist before installation.
- Refactored scientific skills installation to include directory permission checks and logging.
- Enhanced error handling and logging during installation processes.
- Improved UI components for displaying installation progress and logs.
- Added tests for new directory handling functions and installation logic.
- Updated LaTeX template for poster presentation with improved formatting and content.
- Add covector config and CI workflow for automated versioning
- Bump all package versions to 0.4.0
- Add .changes/ directory with README for change management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up Vitest with jsdom environment and Tauri mocks for frontend testing.
Add 44 frontend tests covering Zustand stores (claude-chat, project, proposed-changes,
template) and lib utilities (template-registry, file type classification).
Add 48 Rust unit tests across zotero (OAuth helpers), slash_commands (markdown parsing),
latex (error extraction, SyncTeX parsing), and claude (session dir encoding, message
title cleaning). Update README with test commands.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added dnd-kit for drag-and-drop interactions in the sidebar.
- Integrated native OS file drop handling using Tauri's onDragDropEvent.
- Enhanced file and folder movement logic to support drag-and-drop.
- Updated sidebar to display active drag items with a drag overlay.
- Introduced Droppable components for root and folder targets.
- Improved file type handling to include PDF files.
- Added unique filename generation for imported files to avoid conflicts.
- Implemented history snapshots before and after Claude edits.
- Created a new history store for managing snapshots and diffs.
- Updated document store to support file and folder movement.
- Added `useProposedChangesStore` to track changes made by Claude.
- Integrated proposed change registration in `useClaudeEvents` for LaTeX file modifications.
- Updated `handleComplete` to refresh files and auto-recompile if LaTeX files were modified.
- Enhanced `document-store` to support folder creation and file import functionality.
- Improved file type detection in `fs.ts` to include style files and ignore LaTeX build artifacts.
- Created a new `synctexEdit` function in `latex-compiler.ts` for synchronization with LaTeX edits.
- Updated project overview documentation to reflect new features and architecture.
- Removed outdated assistant UI components and dependencies from package.json and pnpm-lock.yaml.
- Introduced new Claude chat components including ChatComposer, ChatMessages, and ClaudeChatDrawer for enhanced user interaction.
- Updated App component to utilize the new Claude chat functionality, replacing the previous assistant UI.
- Added markdown rendering capabilities for chat messages and tool widgets to improve content display.
- Enhanced the overall structure and organization of the chat-related components for better maintainability.
- Upgraded pdfjs-dist from version 4.10.38 to 5.4.296 in package.json and pnpm-lock.yaml.
- Added functionality to create a new LaTeX project with a default template in the ProjectPicker component.
- Introduced new icons and buttons for project management, improving user interaction.
- Updated package.json to include new filters for development scripts and added built dependencies for pnpm.
- Introduced a new desktop application with essential files including index.html, package.json, and configuration files (postcss, tsconfig, vite).
- Added core components for the desktop app, including App, ProjectPicker, AssistantPanel, and UI elements like Button, Input, and DropdownMenu.
- Integrated Tauri plugins for file handling and dialog interactions.
- Enhanced Turbo configuration to include additional output paths for builds.
- Updated pnpm-lock.yaml to reflect new dependencies and versions for the desktop application.