Commit graph

230 commits

Author SHA1 Message Date
delibae
90d351bca9 chore: bump version to 1.0.6
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 01:13:07 +09:00
Hanjin Bae
8f86109caf
Merge pull request #69 from delibae/fix/linux-appimage-compat
fix: improve Linux AppImage compatibility and login reliability
2026-03-17 01:11:35 +09:00
delibae
a10afacd6c fix: improve Linux AppImage compatibility and login reliability
- Add sanitize_appimage_env() to restore original LD_LIBRARY_PATH/PATH
  when spawning child processes from AppImage (fixes xdg-open, curl)
- Pass DISPLAY, WAYLAND_DISPLAY, XDG_*, DBUS_SESSION_BUS_ADDRESS to
  child processes for Linux desktop integration
- Add stdin(Stdio::null()) to install_claude_cli to prevent interactive
  prompt hangs
- Add 120s timeout to login_claude to prevent indefinite hang when
  browser fails to open
- Show "Setup Guide" link to code.claude.com/docs/quickstart on login
  failure
- Keep releases as draft in CI workflow for manual publish

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 01:11:02 +09:00
Hanjin Bae
f368a62859
Merge pull request #68 from delibae/fix/linux-download-appimage
fix: change Linux download link from .deb to .AppImage
2026-03-16 23:22:20 +09:00
delibae
8063fac03f fix: change Linux download link from .deb to .AppImage
AppImage is distribution-agnostic and works across most Linux distros,
making it a better default download option than .deb.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:21:54 +09:00
Hanjin Bae
3c08bc347b
Merge pull request #65 from delibae/chore/lint-cleanup
chore: fix all lint and formatting issues
2026-03-16 17:17:17 +09:00
delibae
16b4c469b5 chore: add husky pre-commit hook and CI lint workflow
- Add husky with biome check --staged --write pre-commit hook
- Add GitHub Actions lint workflow (biome ci on PR/push to main)
- Update CONTRIBUTING.md with pre-commit and CI documentation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 17:15:58 +09:00
delibae
95c4072ec1 chore: fix all lint and formatting issues (biome check)
- Fix unused imports and variables
- Apply biome formatting (template literals, semicolons, line width)
- Fix a11y issues (label associations, anchor content)
- Fix Node.js import protocol (node:fs, node:path)
- Use self.onmessage in web worker

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 17:04:36 +09:00
Minsoo Kim
ea04d34bb4
Merge pull request #63 from delibae/feat/debug-and-black-screen-fix
fix: black screen on app switch + debug infrastructure
2026-03-16 16:47:20 +09:00
Hanjin Bae
0c831856a2
Merge pull request #64 from delibae/release/v1.0.5
fix: macOS WKWebView black screen on focus restore & bump v1.0.5
2026-03-16 16:41:05 +09:00
delibae
2480715f22 fix: macOS WKWebView black screen on focus restore & bump v1.0.5
- 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>
2026-03-16 16:40:10 +09:00
Minsoo Kim
585c631a86 fix: debug window log sync, auto-scroll, and IPC efficiency
- Fix echo loop: only debug window listens for debug-log-entry events
- Gate emit on _debugWindowConnected flag (no IPC when debug window closed)
- Simplify bulk sync: replace buffer on open instead of timestamp dedup
- Auto-scroll: use instant behavior, only scroll when already at bottom
- Fix systemInfo useEffect to run once ([] deps instead of [systemInfo])
2026-03-16 16:31:54 +09:00
Minsoo Kim
363b8c3482 refactor: separate debug window, cross-window log sync, simplify
- Debug panel is now a separate Tauri window (survives main window
  black screen) opened via Cmd+Shift+D or open_debug_window command
- Cross-window log bridging via Tauri events: main window emits
  entries, debug window receives them + bulk sync on open
- Log store uses mutable ring buffer + version counter instead of
  array spread per log; caches localStorage debug flag
- Debounce app-visibility-restored (200ms) to coalesce duplicate
  visibilitychange + Tauri Focused events
- Single getImageData(2x2) call in isCanvasBlank instead of 3x 1x1
- Extract shared getGpuRenderer (cached), SystemInfo type,
  getVisibilityLogs into log-store.ts
- Event name constants (APP_VISIBILITY_RESTORED)
- Remove debug UI from error-fallback.tsx and App.tsx
- Fix misplaced import in document-store.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:31:54 +09:00
Minsoo Kim
cc5011b98a feat: add structured logging, debug panel, and bug report generation
Add comprehensive debugging infrastructure:

- Structured log store (Zustand ring buffer, 2000 entries) with
  level/source filtering and auto-forwarding warn/error to Rust stderr
- createLogger() factory replacing ad-hoc console.log("[prefix]") calls
  across 16 files (claude-event, pdf-viewer, mupdf, sidebar, etc.)
- Debug panel UI (Cmd+Shift+D) with Logs/System/Visibility tabs
- Bug report generator collecting logs, system info, GPU renderer,
  and visibility events into copyable JSON
- "Copy Debug Info" button on error fallback screen
- get_system_info Tauri command for OS/arch/version data
2026-03-16 16:31:53 +09:00
Minsoo Kim
db97ea59ad fix: resolve black screen on app switch (macOS M1)
Add visibility/focus recovery to prevent black screen when returning
from another app. When macOS reclaims GPU/WebView resources during app
switching, canvas contexts are silently invalidated. This adds:

- visibilitychange + Tauri Focused event listeners in main.tsx
- Canvas blank detection and auto-re-render in mupdf-page.tsx
- IntersectionObserver reconnection via focusGen in pdf-viewer.tsx
- MuPDF worker error recovery and resetMupdfClient() in mupdf-client.ts
- Cmd+Shift+D debug panel keyboard shortcut
2026-03-16 16:31:53 +09:00
Hanjin Bae
990200a292
Merge pull request #62 from delibae/release/v1.0.4
chore: release v1.0.4
2026-03-16 16:13:21 +09:00
delibae
3d329af3a6 chore: bump version to v1.0.4
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:13:10 +09:00
Hanjin Bae
661af8bf51
Merge pull request #61 from delibae/fix/suppress-build-warnings
fix: resolve all platform-specific Rust build warnings
2026-03-16 16:12:12 +09:00
delibae
b6b7085db3 fix: resolve all platform-specific Rust warnings
- lib.rs: #[allow(unused_mut)] on builder (mut only needed on macOS)
- claude.rs: move CommandExt import to module level with #[cfg(windows)]
- claude.rs: #[allow(unused_variables)] on home (used only on Unix)
- claude.rs: add #[cfg(not(windows))] to Unix-only dir helper functions
- uv.rs: move CommandExt import to module level with #[cfg(windows)]
- skills.rs: fix unreachable Ok(()) after #[cfg] return branches

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:11:55 +09:00
Hanjin Bae
43bbace42d
Merge pull request #60 from delibae/fix/readme-download-links
fix: version-free direct download links in READMEs
2026-03-16 15:55:46 +09:00
delibae
dbb785fadc fix: use version-free direct download links in all READMEs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:55:32 +09:00
Hanjin Bae
56976d9469
Merge pull request #59 from delibae/feat/versionless-filenames-v1.0.3
feat: version-free release filenames, inline updater UI (v1.0.3)
2026-03-16 15:40:29 +09:00
delibae
51e038495f feat: version-free release filenames, inline updater UI (v1.0.3)
- 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>
2026-03-16 15:40:18 +09:00
Hanjin Bae
523032ab76
Merge pull request #58 from delibae/feat/updater-ui-v1.0.2
feat: inline update UI on home screen (v1.0.2)
2026-03-16 15:26:39 +09:00
delibae
2f3276a80e feat: inline update UI on home screen, gitignore gen/schemas (v1.0.2)
- 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>
2026-03-16 15:26:21 +09:00
Hanjin Bae
156614b4cc
Merge pull request #57 from delibae/fix/toaster-and-version-v1.0.1
fix: move Toaster to App level, add version display (v1.0.1)
2026-03-16 15:04:06 +09:00
delibae
15b0a24103 fix: move Toaster to App level, add version display, set v1.0.1
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>
2026-03-16 15:03:54 +09:00
Hanjin Bae
4270989dea
Merge pull request #56 from delibae/feat/version-display-v1.0.2
feat: show app version on home screen (v1.0.2)
2026-03-16 14:47:38 +09:00
delibae
4dfe6b1946 feat: show app version on home screen, bump to v1.0.2
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:47:11 +09:00
Hanjin Bae
25c9872025
Merge pull request #55 from delibae/fix/ci-latest-json-url
fix: export BASE_URL for latest.json URL generation
2026-03-16 14:36:36 +09:00
delibae
b393a9e14b fix: export BASE_URL so node can read it in latest.json generation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:36:25 +09:00
Hanjin Bae
666ea8cc5b
Merge pull request #54 from delibae/fix/ci-windows-updater-artifact
fix: Windows updater artifact collection (.exe.sig)
2026-03-16 14:25:54 +09:00
delibae
6e8521cd6f fix: collect Windows updater artifacts from .exe.sig not .nsis.zip.sig
Tauri v2 signs the NSIS .exe directly, not a .nsis.zip bundle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:25:39 +09:00
Hanjin Bae
da2b495a4e
Merge pull request #53 from delibae/fix/ci-signing-key-v3
fix: regenerate signing key with explicit password
2026-03-16 14:08:39 +09:00
delibae
ac47bf87fe fix: regenerate signing key with password, reference PASSWORD secret
Previous key generated with --ci had unusable password. Regenerated
with explicit password and updated pubkey + workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:08:26 +09:00
Hanjin Bae
152fa2c53f
Merge pull request #52 from delibae/fix/ci-remove-password-env
fix: remove TAURI_SIGNING_PRIVATE_KEY_PASSWORD env
2026-03-16 13:50:15 +09:00
delibae
31a4eda97c fix: remove TAURI_SIGNING_PRIVATE_KEY_PASSWORD env (key has no password)
Empty string is interpreted as a password. Omit entirely instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 13:50:02 +09:00
Hanjin Bae
30f6864e39
Merge pull request #51 from delibae/fix/ci-macos-cxxflags
fix: merge brew include paths into CXXFLAGS for macOS CI
2026-03-16 13:40:49 +09:00
delibae
00e53db25b fix: merge brew include paths into CXXFLAGS/CFLAGS for macOS CI
cc-rs uses CXXFLAGS/CFLAGS, not CPPFLAGS. Move include paths there.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 13:40:37 +09:00
Hanjin Bae
251a82ddbb
Merge pull request #50 from delibae/fix/ci-macos-cppflags
fix: add CPPFLAGS/LDFLAGS for macOS CI harfbuzz
2026-03-16 13:39:25 +09:00
delibae
c5105c9bc8 fix: add CPPFLAGS/LDFLAGS for macOS CI harfbuzz include paths
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 13:39:11 +09:00
Hanjin Bae
01abd9f247
Merge pull request #49 from delibae/fix/ci-macos-pkgconfig
fix: set PKG_CONFIG_PATH for macOS CI brew deps
2026-03-16 13:33:48 +09:00
delibae
1058c40733 fix: set PKG_CONFIG_PATH for macOS CI brew dependencies
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 13:33:32 +09:00
Hanjin Bae
47f95b67f2
Merge pull request #48 from delibae/fix/ci-signing-key
fix: CI signing key password and macOS tectonic backend
2026-03-16 13:28:02 +09:00
delibae
634af53ac2 fix: macOS use pkg-config for tectonic deps, set empty signing key password
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 13:27:38 +09:00
Hanjin Bae
12faf8f8c1
Merge pull request #47 from delibae/feat/auto-updater
feat: auto-updater and macOS black screen fix (v1.0.1)
2026-03-16 13:17:03 +09:00
delibae
08e54f263d feat: add auto-updater and fix macOS black screen on focus loss (v1.0.1)
- 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>
2026-03-16 13:16:39 +09:00
Hanjin Bae
9fd32ffbc7
docs: correct privacy claims in READMEs (closes #43) (#46)
- Remove "your files stay on your machine" unqualified claim
- Intro: "local-first alternative" with explicit API transmission caveat
- Section "Your Research, Your Machine" → "Data & Privacy"
- Bold disclaimer: prompts + file contents sent to Anthropic API
- Remove (cloud)/(local CLI) from AI Model row
- Remove "private" from tagline
- Update landing submodule with matching fixes
- Sync all languages (en, ko, ja, zh-CN)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 12:21:59 +09:00
Hanjin Bae
94cb8414a0
docs: correct privacy claims in READMEs (closes #43) (#44)
- Remove "Nothing leaves your machine" and "No such mechanism" claims
- Remove Data Privacy row from comparison table (covered in dedicated section)
- Simplify OpenAI Prism description (no FUD, just facts)
- Add note clarifying both tools send data to cloud APIs for inference
- Sync all language versions (en, ko, ja, zh-CN)

Closes #43

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:18:32 +09:00
Hanjin Bae
a3a2282dd6
fix: adjust titlebar height for Windows overlay mode (#42)
Reduce from 32px to 12px — 32px was too much padding, pushing content
too far from the top edge.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 03:46:40 +09:00