Commit graph

155 commits

Author SHA1 Message Date
Research Assistant
8335bce992 bump: 1.5.5 -> 1.5.6rc1 (Memory Layer RC1) 2026-05-12 18:11:37 +08:00
Research Assistant
ad77b19531 feat(frontmatter): collection_path as YAML list, add collection_tags; runtime skill deploy; OCR progress notices 2026-05-12 02:03:31 +08:00
Research Assistant
bae753aa5e fix(ocr): return real exit code, add real-time progress output to stdout, show Obsidian Notices 2026-05-12 00:55:30 +08:00
Research Assistant
47887e0e2d bump: 1.5.4 -> 1.5.5 2026-05-12 00:55:12 +08:00
Research Assistant
2375f56443 bump: 1.5.3 -> 1.5.4 2026-05-11 21:34:36 +08:00
Research Assistant
0fa2274296 bump: 1.5.2 -> 1.5.3 2026-05-11 19:20:47 +08:00
Research Assistant
12d7ff62a4 fix(plugin): show setup-needed hint when paperforge not configured 2026-05-11 18:30:50 +08:00
Research Assistant
49dfa6b71e fix(plugin): skip auto-update when setup not completed 2026-05-11 18:29:33 +08:00
Research Assistant
b10e1f97ac fix(plugin): guard _fetchStats against missing _metricsEl 2026-05-11 18:25:05 +08:00
Research Assistant
cceef359d9 chore: bump version to v1.5.2 2026-05-11 18:15:02 +08:00
Research Assistant
90060bc79e feat(plugin): add console logs showing PyPI vs git install source 2026-05-11 18:10:56 +08:00
Research Assistant
2e0657479a feat: PyPI publish support — install paperforge from PyPI with git fallback 2026-05-11 18:04:17 +08:00
Research Assistant
0376fdb512 feat(plugin): enhanced diagnostic — git/PATH/vault path on install failure 2026-05-11 17:51:14 +08:00
Research Assistant
12fa24034d fix: prepend v to git tag ref in all pip install URLs 2026-05-11 17:41:59 +08:00
Research Assistant
e7707cc26e debug: log pip stderr on Sync Runtime failure 2026-05-11 17:38:38 +08:00
Research Assistant
7906c1b114 fix(plugin): pass enriched env through runSubprocess for Sync Runtime button 2026-05-11 17:32:19 +08:00
Research Assistant
0867f844ce feat(plugin): cross-platform git detection (win/mac/linux) for pip install PATH 2026-05-11 17:28:34 +08:00
Research Assistant
0bf629bb33 feat(plugin): resolve git via ComSpec and inject into PATH for pip install spawns 2026-05-11 17:26:35 +08:00
Research Assistant
8488437c0b chore: bump version to v1.5.1 2026-05-11 16:50:07 +08:00
Research Assistant
e6770b9ec9 hotfix: remove py launcher from auto-detection to prevent spawn ENOENT on Windows 2026-05-11 16:40:22 +08:00
Research Assistant
02d8ba1448 fix: deep_reading_status read from frontmatter, key extraction walkup, remove body status fields
- _build_entry: read deep_reading_status from frontmatter first, body detection fallback

- _extractZoteroKeyFromPath: walk up directory tree for 8-char key (handles ai/discussion.md etc.)

- frontmatter_note: remove duplicate PDF/OCR/deep_reading status from body (frontmatter is source of truth)
2026-05-11 00:52:07 +08:00
Research Assistant
20acbbfc23 chore: bump version to v1.5.0 2026-05-11 00:21:35 +08:00
Research Assistant
e25a6b193e fix(dashboard): use same wikilink parser as Open PDF button for PDF detection 2026-05-11 00:17:21 +08:00
Research Assistant
ba6fffa1f7 feat(dashboard): PDF files now trigger per-paper mode via index pdf_path match 2026-05-11 00:15:42 +08:00
Research Assistant
1001674a72 fix(dashboard): workspace path detection now triggers paper mode for any file in workspace dir
- Remove _findEntry() precondition — works even if index not yet loaded
- Add case-insensitive flag to key regex (/i)
2026-05-10 23:40:35 +08:00
Lin Zhaoxuan
0c7082dcec Merge pull request #7 from LLLin000/feature/skill-refine
feat: unified release — skill redesign + deep-finalize + sync safety + dashboard v2
2026-05-10 23:32:23 +08:00
Research Assistant
30f9613482 merge: integrate dashboard-refine (deep-finalize + slug-freeze) into skill-refine
Resolved conflicts:
- styles.css: take dashboard-refine (more refined CSS)
- SKILL.md, deep-reading.md, paper-resolution.md: take skill-refine (modular skill redesign)
2026-05-10 23:28:13 +08:00
Research Assistant
7fedced9f6 fix(setup,plugin): rewrite BBT detection for Zotero 7 .xpi compatibility
Setup wizard (Python):

- Replace broken manual_path direct-candidate scan with unified platform-path-first approach

- Use _looks_like_bbt() — normalize to alnum+lower, match 'betterbibtex'

- Accept both .xpi files (Zotero 7) and directories (Zotero 6)

- Correct Linux profile path (.zotero/zotero/<random>, not .zotero/zotero/Profiles)

Plugin (JS):

- Remove isDirectory() restriction in scanBbtUnderProfiles/scanBbtDirectChildren

- Accept .xpi file entries for Zotero 7 compatibility

- Also remove all control_dir references (CLI argument removed in v1.4.17)
2026-05-10 23:18:14 +08:00
Research Assistant
d50c2ff4c0 fix(plugin): remove all control_dir references — CLI argument was removed in v1.4.17
- Remove --control-dir from setup args (CLI no longer accepts it)

- Remove control_dir from DEFAULTS, config parser, valid path keys

- Remove control_dir from settings assignment and JSDoc

- Remove dir_index display and validate_index check
2026-05-10 23:05:22 +08:00
Research Assistant
f8c05959ed style: align collection workflow overview with global library snapshot
- Match outer frame padding/background/shadow to library-snapshot

- Match inner stage card padding/background/layout to snapshot-pill

- Use align-items: stretch on funnel (pill parity), arrow stays centered

- Reduce collection-header bottom gap for tighter domain-to-card spacing

- Synchronize stage-label font-size (12px -> 11px)
2026-05-10 22:22:31 +08:00
Research Assistant
0c31f89d4d feat: add deep-finalize command — signal dashboard on /pf-deep completion
- new command paperforge deep-finalize <key>: sets deep_reading_status=done in frontmatter + refreshes index
- dashboard now only auto-refreshes on formal-library.json changes (removed per-note modify handler)
- pf-deep reference updated with Post-Processing section instructing agent to call deep-finalize at end
2026-05-10 21:50:27 +08:00
Research Assistant
5c6ccaad34 feat: dashboard ui refine — arrow icons, maillard colors, responsive grid, setup bugfix
Dashboard UI:

- Replace text expand/collapse with SVG arrow + clickable gradient container

- Map agent_platform key to display name (OpenCode, not opencode)

- Maillard/Morandi palette for OCR progress bars (pending brown, done deep green)

- Shorten 'Needs Attention' to 'Attention' to prevent label wrap

- Responsive workflow overview: CSS Grid + container queries (narrow: 2x2, wide: 4x1 with max-width 160px stop)

Setup Wizard:

- Fix Phase 7 verification crash (undefined agents_src/agents_dst variables)

Skill restructure:

- Move chart-reading references under references/ directory

- Remove old pf-*.md script files (deployed via skill_deploy service)

- Add new reference files (deep-reading, paper-qa, paper-resolution, save-session)
2026-05-10 20:56:27 +08:00
Research Assistant
c6c5723296 style: tighten collection header spacing, fix u00B7 encoding, add stage max-width
- Fix CSS unicode escape: \\u00B7 -> literal middle dot character

- Remove 'papers' count line in collection header

- Tighten collection-header padding from 64px to 14px top only

- Reset collection-title margin to 0

- Add max-width: 160px + justify-self: center to workflow stages

- workflow-stage-label font-size: 11px -> 12px
2026-05-10 20:52:22 +08:00
Research Assistant
e662033fd9 feat: dashboard ui refine — arrow icons, maillard colors, responsive grid, setup bugfix
Dashboard UI:

- Replace text expand/collapse with SVG arrow + clickable gradient container

- Map agent_platform key to display name (OpenCode, not opencode)

- Maillard/Morandi palette for OCR progress bars (pending brown, done deep green)

- Shorten 'Needs Attention' to 'Attention' to prevent label wrap

- Responsive workflow overview: CSS Grid + container queries (narrow: 2x2, wide: 4x1 with max-width 160px stop)

Setup Wizard:

- Fix Phase 7 verification crash (undefined agents_src/agents_dst variables)

Skill restructure:

- Move chart-reading references under references/ directory

- Remove old pf-*.md script files (deployed via skill_deploy service)

- Add new reference files (deep-reading, paper-qa, paper-resolution, save-session)
2026-05-10 20:52:21 +08:00
Research Assistant
d8a0d4d83e docs: align dashboard ux contract with refined ui 2026-05-10 20:52:21 +08:00
Research Assistant
09a520fb7a style: strengthen collection and global dashboard hierarchy 2026-05-10 20:52:21 +08:00
Research Assistant
f9fbbfb2f0 fix(dashboard): fix _renderNextStepCard this.plugin is undefined
- Replace this.plugin with this.app.plugins.plugins['paperforge']
- PaperForgeStatusView does not have a plugin property
- Remove debug console.log lines
2026-05-10 17:12:22 +08:00
Research Assistant
b31d5e94d9 debug(dashboard): add console.log for discussion.json path troubleshooting 2026-05-10 16:58:15 +08:00
Research Assistant
71d44c8966 fix(dashboard): use Obsidian adapter API for discussion.json read (handles unicode paths reliably) 2026-05-10 16:41:38 +08:00
Research Assistant
68e548e637 fix(dashboard): reset expanded state on mode switch
- Clear _techDetailsExpanded when switching modes to prevent stale state
- Ensures technical details starts collapsed for each new paper
2026-05-10 16:10:26 +08:00
Research Assistant
1bb320b70e refactor(dashboard): restructure per-paper layout per visual spec
- Merge status strip + file buttons into one row (left pills, right buttons)
- Move OCR/Analyze toggles into technical details disclosure body
- Replace All Set card with compact complete state row
- Save/restore technical details expanded state to prevent toggle flash
- Delete unused _renderPaperStatusStrip and _renderPaperFilesRow methods
- UI text: use Chinese labels (打开 PDF, 打开全文, 加入 OCR, 标记精读)
2026-05-10 16:09:53 +08:00
Research Assistant
0f9aae4a88 style(dashboard): rewrite Sections 39-43 per Native Light Surface Design spec
- Remove all box-shadows and ::before elevation pseudo-elements
- Typography constrained to 4 sizes (16/14/13/12) and 3 weights (600/500/400)
- Cards only for primary content modules (overview, discussion, OCR pipe, issues)
- Status pills: 999px radius, text-only status colors (no colored backgrounds)
- Technical details: inline disclosure row, not a bordered box
- Workflow toggles: not a card (simple flex row)
- Contextual buttons: Obsidian interactive-normal variables
- Section labels: no accent border, simple uppercase 12px muted
- Dark theme: no shadows, only background tweaks
2026-05-10 16:05:45 +08:00
Research Assistant
f8fac94222 style(dashboard): establish CSS base --pf-* vars, typography tokens, utility classes 2026-05-10 15:59:20 +08:00
Research Assistant
82bcbc7946 fix(dashboard): remove redundant _refreshCurrentMode from checkbox handler
- processFrontMatter triggers modify event which auto-refreshes the view
- Double refresh was resetting technical details toggle state (flash on first click)
- Discussion card only shows for papers with ai/discussion.json (currently 2Y9M3ILK only)
2026-05-10 15:28:58 +08:00
Research Assistant
fd47d52c13 fix(dashboard): fix discussion card rendering after sync read migration
- Replace leftover .catch() from old Promise chain with proper try/catch
- Use fs.readFileSync for reliable file access in Obsidian plugin context
2026-05-10 15:19:59 +08:00
Research Assistant
806292febb style(dashboard): luxury-minimal visual refinement
- Section labels: accent left-border matching metric card pattern
- Cards: ::before pseudo-element for smooth elevation on hover
- Per-paper header: larger title (16px), author (13px)/year (12px faint) hierarchy
- Body text: bumped from 11px to 13.5px for overview/discussion
- Status pills: rgba() translucent backgrounds with colored text
- Dark theme: deeper shadow on card hover (0 2px 12px rgba(0,0,0,0.3))
- Refined spacing, font weights, and transition timing for premium feel
2026-05-10 14:57:12 +08:00
Research Assistant
25b91b29ca fix(dashboard): only show issue panel for serious blockers
- Collection view: remove issue summary entirely (health counts are workflow state, not errors)
- Global view: only show issues for runtime mismatch, index missing, export missing, token missing
- Remove pdfIssues aggregation (not critical)
- CSS: soften issue colors (orange left border instead of red, muted text)
2026-05-10 14:38:22 +08:00
Research Assistant
01dddfcd0a fix(dashboard): check OS env for PaddleOCR token (match doctor logic)
- Doctor reads PADDLEOCR_API_TOKEN from OS environment variables
- Dashboard now checks 3 sources: plugin settings → .env file → process.env
2026-05-10 14:31:36 +08:00
Research Assistant
2ad8af1474 fix(dashboard): fix discussion card path on Windows + OCR token fallback check
- Discussion card: use lastIndexOf('/') instead of path.dirname to avoid
  Windows backslash separator breaking Obsidian vault path resolution
- OCR token: also check .env PADDLEOCR_API_TOKEN as fallback when plugin
  settings paddleocr_api_key is empty
2026-05-10 14:29:32 +08:00
Research Assistant
6d70e1f857 refactor: inline testable.js into main.js to remove external module dependency
- ACTIONS, resolvePythonExecutable, getPluginVersion, checkRuntimeVersion,
  classifyError, buildRuntimeInstallCommand, parseRuntimeStatus,
  buildCommandArgs, runSubprocess now defined directly in main.js
- Plugin no longer needs src/testable.js at runtime
- Tests continue to import from src/testable.js (unchanged)
- Fixes 'Cannot find module ./src/testable' error in Obsidian plugin loader
2026-05-10 14:17:14 +08:00