From 2fbcf18010bf79d3c1517c920325f12b122ec96e Mon Sep 17 00:00:00 2001 From: haoyuren <13851610112@163.com> Date: Tue, 28 Jul 2026 05:16:20 +0800 Subject: Overleaf web-client parity: dashboard, editor, and sync overhaul MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Uses the Overleaf open-source code as golden reference throughout. Project dashboard (official /tag + /project endpoints): - Sidebar filters (all/yours/shared/archived/trashed) with the web client's exact filtering predicates - Tags: create/edit/delete with the official preset palette, per-row chips, bulk add/remove, uncategorized view - Archive/trash/restore/delete-forever/leave, rename, copy, zip download, multi-select bulk actions (parallelized) Editor: - Remote cursors rewritten as a layer() overlay ported from Overleaf's cursor-highlights — no more inline widgets disturbing line wrapping, cursor motion, or IME composition - Autocomplete ported from Overleaf's completion system: official top-hundred snippet data, environment templates, package/class/bib style data (verbatim, AGPL), project-wide \ref and \cite completion, package commands via the official /project/:id/metadata endpoint, brace-aware apply behavior, official keymap precedence - Fixed completion popup keybindings (Enter/arrows previously fell through to the default keymap) and dead Enter/Backspace handlers in latexClosing File sync reliability: - Two-tier compile-artifact detection: pure build noise is ignored, while pdf/docx/gz/bbl sync unless there is concrete local-compile evidence — agent-generated figure PDFs now sync (previously all PDFs were blanket-ignored) - Local compile outputs are registered with the bridge so nested-root projects don't upload the root PDF as junk - Upload retry with exponential backoff and permanent-failure parking, CSRF refresh with session validation and single-flight guard, periodic orphan rescan, sync status surfaced in the status bar - Official textExtensions list (plus legacy extras) for doc-vs-file classification Co-Authored-By: Claude Fable 5 --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index eee0821..5e9c666 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ dist/ *.AppImage .DS_Store reference/ +*.tsbuildinfo +electron.vite.config.js +electron.vite.config.d.ts -- cgit v1.2.3