| Age | Commit message (Collapse) | Author |
|
Workspace browser:
- The left panel gains a Project/Workspace toggle; the Workspace view
browses the agent scratch space (claude-workspace/, never synced)
- Open/edit workspace text files in the editor with debounced auto-save
(flushed on tab switch); binaries open with the system default app
- Import to Project copies a workspace file/folder into the project root
where the sync bridge picks it up and creates it on Overleaf
(collision-safe: falls back to a -imported suffix)
- New file/folder, rename, delete, reveal in Finder, drag-drop into the
workspace, 5s auto-refresh while visible
OpenAlex search (MCP):
- New search_openalex tool: broad OpenAlex coverage with an explicit
citation-authority policy — BibTeX is cross-checked against Semantic
Scholar (by DOI, then by exact title, since OpenAlex DOIs can point at
mirrors); entries not found on S2 are flagged "OpenAlex only" with
instructions to verify via web search before citing
- Tool description, agent guide, permission allowlist, and README updated
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
- Write AGENTS.md (the cross-tool agent-instructions standard) at the
project root alongside .claude/CLAUDE.md, generated from one guide;
includes an Agent Setup section with the project-specific Codex MCP
registration command. AGENTS.md is excluded from Overleaf sync.
- MCP server resolves the project directory from its own script location
when cwd doesn't contain the state file, so clients that launch MCP
servers from a global config (Codex) work without special setup
- Terminal: swallow the duplicate compositionend commit when switching
input sources mid-composition (xterm finalizes on the keydown and then
again on compositionend, sending pinyin text twice)
- Don't render our own colored overlay cursor — the native caret already
marks our position; overlay cursors are collaborators-only (web parity)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
- Settings modal on project list page for OpenAI, Anthropic, OpenRouter, Gemini, Semantic Scholar keys
- Keys stored in userData/api-keys.json, masked by default with show/hide toggle
- S2 API key passed to MCP server via .lattex-mcp.json to avoid rate limits
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- read_compiled_pdf: returns PDF path for Claude Code to visually inspect compiled output
- search_citation: search Semantic Scholar for papers, returns ready-to-use BibTeX entries
- Updated CLAUDE.md template with new tool docs, workflows, and permissions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
CLAUDE.md
- Online users: click "N online" badge to see user names with cursor colors
- MCP get_online_users tool: main process tracks users in .lattex-online-users.json
- CLAUDE.md: show current user's Overleaf name (fetched from /user/settings)
- CLAUDE.md: mandatory first steps with MUST/NEVER language at top of file
- claude-workspace/ directory: untracked scratch space for Claude Code experiments
- chokidar + bridge skip claude-workspace/ to prevent syncing to Overleaf
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Fix .bib (and other non-active tab) edits disappearing: call otLeaveDoc
on tab switch so bridge takes back OT ownership; release .bib pre-loads
immediately after reading content for citation autocomplete
- Always update lastKnownContent in processDocChange for editor docs to
prevent stale state accumulation
- Flush pending OT ops in OverleafDocSync.destroy() before tab switch
- Add three-way merge in replaceContent to preserve concurrent remote edits
- Wire MCP compile to UI: file-based signal between MCP server and Electron
main process, with compile animation and PDF refresh in renderer
- Add CLSI flush before compile to prevent stale cached results
- Add OT error recovery: re-join doc and re-apply disk changes on otUpdateError
- Add bridge reconnect handling: reset OtClient on docRejoined for non-editor docs
- Add compile concurrency lock to prevent duplicate compiles
- removeEditorDoc compares disk vs server content to catch in-flight ops
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
get_compile_log
New MCP tools for agents to debug LaTeX compilation:
- get_compile_errors: parsed errors with file paths and line numbers
- get_compile_warnings: parsed warnings with locations
- get_compile_log: full raw log with optional tail parameter
- compile_latex: improved to fetch log via CDN URL, return error summary
Log parsing uses the same Overleaf-style parser as the PdfViewer component.
Updated CLAUDE.md template with compile-debug workflow documentation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Fix Socket.IO v0.9 ack parser to handle acks without data (6:::N format),
fixing comment creation stuck at "sending"
- Rewrite comment sync to use local state updates from socket events
(new-comment, resolve-thread, reopen-thread, delete-thread, edit-message,
delete-message) instead of REST re-fetches — instant UI updates
- Optimistic updates for all comment actions (resolve, reopen, delete, reply, edit)
- Fetch threads + contexts on project connect so editor highlights are correct
from startup, not only when review panel is opened
- Add comment context to store immediately after creation for instant highlight
- Rename MCP server from overleaf-comments to lattex, add 6 new tools:
reopen_comment, delete_comment, get_chat_messages, send_chat_message,
list_project_files, compile_latex — all auto-granted permissions
- Refactor terminal from fixed Terminal/Claude tabs to dynamic multi-tab with
bottom tab bar and unlimited new terminal creation
- Fix chat panel layout overflow pushing other components
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|