Commit graph

576 commits

Author SHA1 Message Date
Research Assistant
36c26c6d5d style(dashboard): add refined CSS for redesigned per-paper, collection, and global views
- Status strip pills matching existing badge design (color-green/text-error)
- Paper overview card with card-style hover border + accent left border via ::before
- Discussion card with session-based Q&A styling + expand/truncate
- Workflow overview funnel with centered stage pills and arrows
- Issue summary with subtle error border + dot indicators
- Library snapshot pills and system status grid for global view
- Contextual button base style shared across all views
- All new components use Obsidian CSS variables for dark/light theme support
2026-05-10 14:04:14 +08:00
Research Assistant
365fa57153 refactor(dashboard): contract global view to system homepage
- Remove OCR pipeline and metric cards from global mode (moved to base)
- Add library snapshot: papers, PDFs ready, OCR done, deep-read done
- Add system status grid: runtime, index, Zotero export, OCR token
- Add issues panel with contextual Run Doctor / Repair Issues (only when issues exist)
- Add contextual Start Working actions: Open Literature Hub + Sync Library
- Add null guards to _renderStats and _renderOcr for safe backwards compat
2026-05-10 13:56:17 +08:00
Research Assistant
581e30bf3e refactor(dashboard): redesign base/collection view as batch workflow workspace
- Replace metric cards + bar chart + health grid with workflow funnel overview
- Move OCR pipeline from global to base (same progress bar logic, new container)
- Replace health matrix with compact issue summary (only visible when issues exist)
- Add contextual action buttons: Sync Library + Run OCR
- Remove _renderCollectionHealth (replaced by inline issue summary)
2026-05-10 13:53:06 +08:00
Research Assistant
9b67ab1cab refactor(dashboard): redesign per-paper view as reading companion
- Replace lifecycle stepper + health matrix + maturity gauge with compact status strip
- Add paper overview card: extract Pass 1 summary from formal note ## 🔍 精读
- Add recent discussion card: read ai/discussion.json with 150-char truncation + expand
- Add files row: Open PDF + Open Fulltext
- Add technical details section: collapsed by default
- Keep OCR queue toggle and simplified next-step card
2026-05-10 13:50:01 +08:00
Research Assistant
556ea788af fix(dashboard): add workspace path detection for paper mode routing
- Add _extractZoteroKeyFromPath: extract key from dirname pattern '{KEY} - {title}'
- Modify _resolveModeForFile: fallback to workspace detection for any file type
- Fixes fulltext.md and other workspace files dropping to global mode
2026-05-10 13:46:18 +08:00
Research Assistant
ae0da5b29a refactor(dashboard): Phase 1 cleanup - remove Copy Context, deep-reading dead code, static Quick Actions grid
- Delete Copy Context and Copy Collection Context from ACTIONS array
- Remove all _renderDeep* dead methods (StatusCard, Pass1Card, QACard)
- Remove _getPassCompletion and _extractPass1Content helpers
- Remove deep-reading mode case from _renderModeHeader
- Remove Copy Context handlers from _runAction
- Remove copy-context command palette registrations
- Delete static Quick Actions section from _buildPanel
- Delete _renderActions method
- Replace ready-state Copy Context fallback in _renderNextStepCard
- Add implementation plan at docs/superpowers/plans/
2026-05-10 13:44:50 +08:00
Research Assistant
b51cf6b862 sync: skill deploy service + copy context fix + config cleanup 2026-05-10 12:35:27 +08:00
Research Assistant
5ed7a0c55b fix: remove agent_platform from DEFAULT_CONFIG, use paperforge.json in update 2026-05-10 12:35:24 +08:00
Research Assistant
a12890f8e4 feat: skill auto-deploy in update + Copy Context as pure JS + shared skill_deploy service
- New services/skill_deploy.py: single source of truth for agent skill deployment
  - AGENT_CONFIGS with 9 platforms, all vault-local
  - deploy_skills() with install/update mode (overwrite flag)
  - Used by both setup wizard and update worker
- update.py: _deploy_all_skills() after pip/git/zip update
- setup_wizard.py: delegates skill deploy to shared service
- config.py: add agent_platform default
- main.js: Copy Context + Copy Collection Context now pure JS
  - Uses in-memory _cachedItems / _currentPaperEntry
  - No subprocess spawn, no timeout, no JSON parse errors
- testable.js: remove needsKey/needsFilter from context actions
- commands.test.mjs: update assertions for removed flags
2026-05-10 12:33:23 +08:00
Research Assistant
091f2f8e78 chore: sync PR template + pre-commit 2026-05-10 12:04:14 +08:00
Research Assistant
e863530608 chore: add PR template + pre-commit config (ruff auto-format) 2026-05-10 12:04:12 +08:00
Research Assistant
61a702828e docs: sync CONTRIBUTING.md 2026-05-10 12:02:11 +08:00
Research Assistant
ba52fd1735 docs: add CONTRIBUTING.md — sync fork guide and PR checklist 2026-05-10 12:02:07 +08:00
Research Assistant
ea5b03f613 ci: simplified pipeline + auto-release on tag 2026-05-10 11:59:09 +08:00
Research Assistant
8dc384bc06 ci: simplify pipeline (3 OS x 1 Python, no -x, relaxed gate) + auto-release on tag push 2026-05-10 11:58:35 +08:00
Research Assistant
b4f8783fce docs: sync /pf-paper description fix 2026-05-10 11:43:38 +08:00
Research Assistant
9d07c9ad01 docs: fix /pf-paper description — 文献问答 (Literature Q&A), not 快速摘要 2026-05-10 11:43:35 +08:00
Research Assistant
995aa1ebc1 docs: sync English README fixes 2026-05-10 11:42:26 +08:00
Research Assistant
500446ff0e docs: fix English README — setup wizard from settings panel, remove number prefixes 2026-05-10 11:42:24 +08:00
Research Assistant
65631f0b9e docs: sync README fixes 2026-05-10 11:41:36 +08:00
Research Assistant
0cf56c11e2 docs: fix README — setup wizard opened from settings panel, remove number prefixes from default dirs 2026-05-10 11:41:34 +08:00
Research Assistant
d4378655f7 fix: add v1.4.18 to versions.json 2026-05-10 11:38:00 +08:00
Research Assistant
a3a2e3c923 fix: add v1.4.18 entry to versions.json — missing from bump script 2026-05-10 11:37:58 +08:00
Research Assistant
3154400588 Sync release/v1.4.17: bump 1.4.18 + CHANGELOG 2026-05-10 11:29:56 +08:00
Research Assistant
3e35c02d7d docs: add v1.4.18 changelog — macOS cross-platform support by @Chartreuse310 2026-05-10 11:25:56 +08:00
Research Assistant
4529786765 bump: 1.4.17 -> 1.4.18 2026-05-10 11:25:45 +08:00
Lin Zhaoxuan
a1cec47d97
Merge release/v1.4.17 into master — macOS cross-platform fixes, control_dir cleanup, docs rewrite, CI green
Merge release/v1.4.17 into master — macOS cross-platform fixes, control_dir cleanup, docs rewrite
2026-05-10 11:22:59 +08:00
Research Assistant
25c3deba2d fix(plugin): extract testable functions to src/testable.js, fix vitest imports
- Move resolvePythonExecutable, getPluginVersion, classifyError, ACTIONS, etc. to src/testable.js
- main.js now requires from ./src/testable.js instead of inline duplication
- Tests import from ../src/testable.js (no obsidian dependency)
- Remove vitest obsidian mock setup (no longer needed)
- Fixes L3 Plugin Tests that failed because main.js requires 'obsidian'
2026-05-10 11:03:31 +08:00
Research Assistant
ca15b25f96 fix(plugin): mock obsidian module for vitest — main.js requires it at top level 2026-05-10 10:52:21 +08:00
Research Assistant
faf83871a6 fix(plugin): update Vitest imports after src/ inline refactor
- Add named exports for testable functions (resolvePythonExecutable, getPluginVersion, etc.)
- Update test imports from ../src/*.js to ../main.js
- Fix repair action test: disabled flag was removed when ACTIONS was inlined
2026-05-10 10:48:06 +08:00
CTZ
612a497774 fix(plugin): cross-platform macOS Python/Zotero/BBT detection and pip bootstrap
- Add paperforgeEnrichedEnv() to enrich PATH for GUI Obsidian on macOS/Linux
- Add getPaperforgePythonCmd() preferring Homebrew/pyenv over Apple CLT Python
- Add tryExecPythonVersion() with multi-candidate fallback for pre-check
- Add scanBbtUnderProfiles() using real Zotero Profiles/extensions/ layout
- Add scanBbtDirectChildren() for safe shallow BBT folder detection
- Add macOS /Applications/Zotero.app and Linux Zotero install detection
- Use paperforgeEnrichedEnv() in setup wizard spawn calls
- Add --user flag to pip install on non-Windows
- Pass PaddleOCR key as --paddleocr-key CLI arg instead of env var
- Add Apple CLT stub Python specific error message in _formatSetupError()

Based on PR #1 by Chartreuse310
Original commit: 156f653 (improve setup modal i18n and update directory defaults)
Co-authored-by: CTZ <yoyflying@163.com>
2026-05-10 10:37:08 +08:00
Research Assistant
06ef31271e hotfix(base): stop regenerating Base views on every sync — prevents duplicate views and preserves user column widths
- ensure_base_views now only creates files on first run; subsequent calls
  only update folder filter, leaving views untouched
- merge_base_views gains width preservation for PF views (backup safety)
- Removed deprecated control_dir from test_setup_wizard (5 cases)
- Fixed NoneType stdout in test_doctor_runs
- Added paperforge status reference to README

Obsidian handles view data from frontmatter changes automatically;
PaperForge should not regenerate views on every sync.
2026-05-10 02:59:41 +08:00
Research Assistant
edab3adea8 fix(setup): stop copying docs/ to user vaults — developer docs are repo-only 2026-05-10 02:01:53 +08:00
Research Assistant
085cfb5944 docs: remove control_dir from all user-facing documentation; add v1.4.17 changelog 2026-05-10 01:55:35 +08:00
Research Assistant
4f3eb7ebe5 fix: remove deprecated control_dir from doctor/setup/repair; enable repair button; fix UTF-8 encoding in doctor output 2026-05-10 01:50:24 +08:00
Research Assistant
91d6721ec7 docs: rewrite README — BRAT install, plugin+Python architecture, setup wizard guide, Agent commands, troubleshooting 2026-05-10 00:30:44 +08:00
Research Assistant
37057dc12d fix(bump): git-add+commit before tag, verify version in HEAD, handle push failures 2026-05-10 00:13:21 +08:00
Research Assistant
4dd824479f fix: commit __version__ 1.4.17 (bump commit was lost) 2026-05-10 00:11:42 +08:00
Research Assistant
565a807c4a refactor: inline src/ modules back into main.js — single file, no runtime require 2026-05-09 23:48:08 +08:00
Research Assistant
dd2bb5c699 fix: include src/ plugin modules in release assets 2026-05-09 23:42:34 +08:00
Research Assistant
30f08dc7f7 refactor: remove versions.json from bump script — redundant with manifest.json minAppVersion 2026-05-09 23:34:56 +08:00
Research Assistant
89f1936887 revert: remove formal-library deprecation console.warn from plugin 2026-05-09 23:13:02 +08:00
Lin Zhaoxuan
6f71df58fd
Merge pull request #4 from LLLin000/release/v1.4.17
Release v1.4.17 — Contract Hardening
2026-05-09 23:01:58 +08:00
Research Assistant
90bab3795a fix: test_migration expects run_index_refresh dict return (v2.1) 2026-05-09 22:57:57 +08:00
Research Assistant
42c7078eff fix: e2e test_index_refresh expects dict return (v2.1) 2026-05-09 22:54:10 +08:00
Research Assistant
c62da3f7ef fix: e2e test expects run_selection_sync dict return (v2.1) 2026-05-09 22:49:54 +08:00
Research Assistant
a990aa6205 fix: update test_paperforge_paths_returns_exact_keys for new config/index keys 2026-05-09 22:46:56 +08:00
Research Assistant
2b3adf7c2c fix: CI dispatch tests — mock at SyncService level, restore --selection/--index flags 2026-05-09 22:42:53 +08:00
Research Assistant
e9a31705d3 style: ruff format pass across paperforge/ 2026-05-09 22:31:08 +08:00
Research Assistant
9a3cdaa3b8 refactor: eliminate frontmatter regex duplication — route everything through adapter
- adapters/obsidian_frontmatter: +read_frontmatter_bool(note_path, key) public API
- asset_index: delete private _read_frontmatter_bool/_optional copies, import from adapter
- sync_service cleanup methods: raw regex → read_frontmatter_dict()
- ld_deep: fix private worker import → adapter
- config.py paperforge_paths: +config and index keys (domain-collections, formal-library)
- sync_service.run(): pipeline_paths → self.resolve_paths()
2026-05-09 22:30:59 +08:00