- Remove OpenSSL dependency by disabling git2 default features (only local ops needed)
- Remove non-existent hidden_title() call from WebviewWindowBuilder
- Upgrade tauri-action v0 → v1 for artifact detection fixes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Removed onSelectTemplate prop from TemplateGallery, simplifying its interface.
- Updated TemplatePreview to handle template selection and project creation internally.
- Enhanced TemplatePreview with a new details step for project creation, including purpose input and file attachments.
- Implemented drag-and-drop functionality for adding reference files.
- Added project folder selection and dynamic project name generation.
- Improved modal layout and responsiveness based on the current step.
- Implement slash command system with Rust backend (YAML frontmatter parsing)
and React picker UI for project/user-scoped commands
- Add model selector (Sonnet/Opus/Haiku/OpusPlan) and effort level control
(Low/Medium/High) to chat composer
- Extract common Claude CLI args and add configurable effort level support
- Add per-project compilation locks to prevent concurrent LaTeX builds
- Fix empty document compilation with \AtEndDocument{\null} injection
- Improve chat UX with smooth auto-scroll and updated placeholder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Simplified environment variable handling in `create_command` to prevent nested session detection.
- Improved logging in `spawn_claude_process` for better debugging of stdout and stderr streams.
- Updated `execute_claude_code`, `continue_claude_code`, and `resume_claude_code` to accept optional model parameters.
- Introduced a new `ThinkingWidget` to display thinking status in chat messages.
- Enhanced `ChatMessages` component to manage auto-scrolling behavior and display streaming indicators.
- Updated `useClaudeEvents` to maintain session-specific state and improve message handling.
- Added keyboard shortcut for toggling capture mode (Cmd+X / Ctrl+X).
- Modified `ContentBlock` interface to include new "thinking" message type.
- Improved error handling and logging throughout the Claude chat store.
Refactor the project wizard's inline template grid into a full-featured
template gallery system with search, category filtering, and rich previews.
Template data architecture (template-registry.ts):
- Define TemplateDefinition schema with categories, subcategories, tags,
packages, accent colors, and bibliography flag
- Expand from 8 to 12 templates: add IEEE, ACM, Technical Report, Newsletter
- Provide registry API: getAllTemplates, getTemplateById, searchTemplates,
getTemplatesByCategory
Template gallery UI (components/template-gallery/):
- template-gallery.tsx: main layout with search bar (Cmd+K), category
sidebar, responsive grid, grouped-by-category default view, empty state
- template-card.tsx: cards with 9 CSS-based document thumbnail layouts
(paper, slides, poster, CV, letter, book, report, newsletter, blank)
and hover preview button
- category-sidebar.tsx: category navigation with per-category template counts
- template-preview.tsx: dialog showing LaTeX source, package list, tags,
document class metadata, and "Use Template" CTA
State management (template-store.ts):
- Zustand store for gallery state: search query, category filter, template
selection, and preview modal state with computed filtered results
Project wizard refactor (project-wizard.tsx):
- Replace inline TemplateGrid and hardcoded template array with the new
TemplateGallery component
- Use template.hasBibliography flag instead of hardcoded ID check for
references.bib generation
- Fix overflow handling for step 2 scrollable content
- Added ProjectWizard component to guide users through project creation.
- Integrated template selection with predefined LaTeX templates.
- Implemented folder selection and file creation logic for new projects.
- Updated ProjectPicker to launch the ProjectWizard instead of direct project creation.
- Enhanced user experience with improved UI elements and tooltips.
- Added keyboard shortcut for creating new windows.
- Updated global styles for macOS titlebar compatibility.
- Refactored existing components for better structure and maintainability.
- Add Popover component for displaying history in a popover.
- Integrate history review functionality in the LatexEditor component.
- Create HistoryDiffView for displaying differences between snapshots.
- Update HistoryPanel to manage linear history and snapshot restoration.
- Refactor sidebar to remove direct history panel integration.
- Enhance PDF preview with history button to access history panel.
- Update history store to manage reviewing snapshots and related actions.
- 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.
- Deleted WorkspaceLayout component and its dependencies.
- Removed useDocumentContext, useKeyboardShortcuts, useMobile, useProjectInit, useStorageReady hooks.
- Eliminated indexedDB storage implementation and migration logic.
- Cleaned up related files including schema, utils, and global styles.
- Removed package.json and configuration files for a cleaner project structure.
- Added ZoteroPanel and ZoteroHeader components for managing Zotero collections.
- Implemented OAuth and API key authentication for Zotero integration.
- Created a new store (zotero-store) to manage Zotero state and sync collections.
- Introduced functions for fetching collections, importing, and syncing data with Zotero API.
- Refactored Sidebar component to include resizable sections for Files, Outline, and Zotero.
- Enhanced document-store to handle .bib file creation and updates based on Zotero data.
- Added utility functions for API interactions and data parsing.
- 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 modify the development script for the desktop application.
- Added a loading screen in index.html with CSS for better user experience during app initialization.
- Enhanced the App component to trigger a callback when the app is ready, allowing the loading screen to be hidden.
- Integrated sidecar management in the Tauri application to handle development and production environments.
- Introduced new icons and configuration files for the Tauri setup, including capability schemas and permissions.
- Added a check for port availability in the desktop-sidecar to prevent conflicts during startup.
- 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.