- Plugin catalog/install failed silently: the webview fetch() to Gitea raw is
blocked by CORS (no ACAO header). Route registry reads through a new Rust
command registry_http_get (host-restricted) — catalog + installs now work.
- Updater: removed the floating card that overlapped the Terminal/Log/Updates
buttons. Update state now shows as a single status-bar download icon (no text):
idle → download glyph, available → accent + dot, checking/downloading → spinner.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drop first-run auto-install. New plugins are discovered and installed by hand
from Settings → Plugins, which now shows an 'Available to install' catalog
fetched from the Gitea plugin registry (with loading / offline-retry states).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Plugin contributions gain named host icons, a working-folder context slot, and
bottom-dock panels. The Unreal plugin (1.2.0) now puts Launch / Build Solution
in the folder right-click menu with the UE + hammer icons and its log in a
bottom-dock "Unreal" tab — where they lived before extraction — instead of
emoji entries in Tools. Plugin is backward-compatible (falls back to menu/view
on 0.3.6 hosts).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Official plugin registry hosted on Gitea; client fetches registry.json over
HTTPS and installs plugins via backend plugin_write_file.
- Auto-install autoInstall plugins on first connect; per-machine enabled state.
- Extract all Unreal tooling (Build Solution / Unreal Log) into a separate
"unreal" plugin (defaultEnabled) driven through the new host.ue bridge;
core UI no longer hard-wires Unreal.
- Settings → Plugins: "Official plugins" section with Install buttons.
- Status bar: "Updates" button (right of Log) triggers an update check without
restarting the client.
- Fixes: NEW badge hard-right/centered without shifting text; History commit
size no longer flickers (cached per change); giant icons in empty plugin/
People lists; Get Latest hover contrast.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Themes: built-in presets (Ember/Forest/Ocean/Rosé) + custom-theme editor
(per-token color pickers, live preview, JSON export/import). src/themes.ts.
- Plugin platform: JS/ESM plugins loaded via blob-module import (CSP
script-src blob:), Host SDK with menu / file-context / view / submit-hook
contribution points + permission model. Backend commands to list/read/enable/
install/remove plugins under <config>/plugins/. Example plugin + PLUGINS.md.
- Settings redesigned into a sectioned hub (General / Appearance / Plugins);
Themes and Plugins moved in, removed from the Actions menu.
- "NEW" badge on History commits submitted < 3h ago.
- Smooth tab transitions: sliding underline + content fade on Changes/History,
and matching fades on the view-panel and dock tab groups.
- Fix: settings close button used the default browser style.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Edit-workspace dialog gets a P4V-style folder tree with tri-state include/
exclude checkboxes (lazy-loaded via p4 dirs). Toggling writes the depot→client
View mapping (`//depot/Foo/...` or `-//depot/Foo/...`) — i.e. what syncs and
what doesn't. Tree/Text mode toggle; after Save it offers Get Latest.
- Fix: .mbtn buttons weren't flex and didn't cap their <svg>, so an icon inside
(e.g. the lock on "Add recommended Unreal rules") blew up to fill the button.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Submit/Get-Latest progress dialog can be minimized to a small bottom-right
chip (like the .sln build chip). Shows op + N/total + % + a thin progress bar;
click to expand. Submit keeps a Cancel button on the chip.
- The transfer runs in the backend regardless, so minimizing never interrupts it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Client:
- Commit: batch `p4 reopen` so huge changelists (63k+) no longer blow the
Windows command-line limit; live "N / total" progress + spinner during commit.
- Submit dialog: white arrow, "N of total" + % bar, running file log,
Cancel button (aborts pre-commit; changelist stays pending).
- Disk scan: streaming reconcile with a live "found N files" counter + Cancel.
- Thumbnails: only decode browser-renderable image formats; glyph fallback
(+ onError) instead of a broken-image icon for bmp/tga/dds/etc.
Landing + waitlist:
- waitlist-server: Express + SQLite email collector (dedup) with a secure
admin panel (scrypt auth, rate-limited login, signed cookies) and CSV export.
- landing form now POSTs signups to the waitlist API.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Tabbed view panel: File Viewer / File Tree / File Locks, header hidden at one tab, re-openable from Window, state persisted
- Right-click Workspace/Working-folder zones -> Show in File Tree (focuses the right side)
- Commit weight shown in History (p4 sizes -s //...@=CH)
- Rich code editor (highlighted underlay + gutter) and clean spec-editor surfaces (no more grey notepad)
- System tray (close-to-tray, tray menu Quit) + native OS notifications for teammate submits, even when hidden
- 'You're behind the server' banner + native notification (p4 sync -n), rechecked only when the server advances
- Audio & video preview with playback (media-src blob CSP); File Locks dockable into the view panel
- Backend: depot_ls/fs_ls, p4_change_sizes, p4_behind; tauri-plugin-notification + tray-icon
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Explicit Work Offline toggle (P4V-style): stops server polling, calm offline banner, persisted
- Reconcile Offline Work dialog: preview adds/edits/deletes with per-file checkboxes, opens picked into a changelist
- Make writable (offline edit) context action; backend p4_reconcile_preview/apply + p4_set_writable
- Tooltips (title) on every top-menu item, 5 languages
- Fix .ldr spinner rendering (inline-block + box-sizing) so it's a clean circle everywhere
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Fix critical crash: opening the built-in code editor blanked the whole app
(white screen). The editing early-return sat above the syntax-highlight
useMemo, so entering edit mode changed the hook count and React tore down the
tree (Rules of Hooks violation). Moved all hooks above the early returns.
- Diff-vs-previous button is now shown only for text/code files, not binaries
(p4 diff2 on a .uasset only prints "files differ", which is useless).
- Package renamed to "Exbyte Depot" (productName + mainBinaryName); identifier
unchanged so existing installs upgrade in place.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Built-in code editor: edit working-copy source files in place (Edit → textarea
→ Save) before committing, no external IDE needed. Backend write_depot opens
the file for edit, clears read-only, writes UTF-8; confined to the client root.
- .uasset previews: pull the embedded Unreal thumbnail (PNG) server-side for both
working copy and history; on-demand real 3D via a headless Unreal FBX export
(commandlet mode, no editor window), temp file deleted right after — nothing
cached on disk. Plugin content paths mapped to their mount point.
- New app icon (brand mark on a theme tile) + theme-aware in-app logo.
- Connection pill / Settings show the actual connected server (P4PORT), not the
server's internal self-reported address.
- Fix: the "select all" checkbox no longer renders as a giant empty square when
not everything is selected (size pinned).
- IDE picker chooses which installed editor opens code; AI replies in UI language.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- History: GitHub-style split view of submitted changelists; preview file
contents at their exact revision (code/image/3D/uasset) via `p4 print`
- People & Roles modal: who works on the depot, activity indicators,
group/role assignment (p4 users / groups / group -i)
- AI commit summaries via OpenRouter (sparkle button); key/model in Settings
- Commit-message draft persists until Submit (not cleared on local commit)
- Resizable History file-list column (pointer-capture drag)
- Fix UI-scale leaving a gap at the bottom (compensate zoom in .win height)
- Author avatars on history rows; bump version to 0.2.2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump version to 0.2.1 and publish signed installer + updated latest.json to
Gitea. Installed 0.2.0 clients will see the update banner.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- New CodeView: syntax-highlighted source (highlight.js, bundled offline)
with line numbers for new files, colored unified diff for edits. Covers
cpp/c/h, cs, py, js/ts, json/uproject, xml, ini, glsl. hljs tokens mapped
to the app palette so it's theme-aware. Replaces the bare DiffView.
- Context-menu items now support icons; the Launch Unreal Engine item shows
the UE mark.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump version to 0.2.0 across package.json, tauri.conf.json and Cargo.toml.
First signed release published to Gitea (tags v0.2.0 + updater/latest.json);
auto-updater endpoint verified live.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Tauri updater + process plugins. Checks Gitea Releases endpoint a few
seconds after launch; on a newer signed version shows a dismissible
bottom-right banner with download progress and auto-relaunch. Public
signing key in tauri.conf.json; release flow documented in RELEASING.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>