Restore lost UI features, fix search, add 3-library demo #79

Merged
mik-tf merged 1 commit from development_hero_books_features into development 2026-03-11 18:09:23 +00:00
Owner

Summary

Resolves #78

  • Restore Tools dropdown (Import Collection, Markdown to PDF) and Docs page in navbar
  • Add Import Collection page with async job polling (git + local path sources)
  • Add Markdown to PDF conversion page with PDF library management
  • Fix search results: relevance percentages, topic filter pills, book dropdown (field name mismatches with server RPC)
  • Fix handler_api_url_pdfs panic by wrapping list_url_pdf_items in spawn_blocking
  • Log import pipeline errors to job so they appear in the progress UI
  • Filter ebook TOML copying by namespace prefix (prevents default_*/mycelium_new_* namespace pollution)
  • Skip embedder's built-in "default" namespace in discovery
  • Update make demo: 3 libraries (mycelium, ourworld, geomind), clean stale dirs on startup

Test plan

  • cargo check passes
  • Homepage shows exactly 3 libraries
  • Search returns non-zero relevance, topic filters, book filters
  • Import Collection works end-to-end (local path tested)
  • Markdown to PDF conversion works end-to-end
  • All pages return 200: /, /docs, /import, /pdf/convert, /library/{ns}, /search
## Summary Resolves #78 - Restore Tools dropdown (Import Collection, Markdown to PDF) and Docs page in navbar - Add Import Collection page with async job polling (git + local path sources) - Add Markdown to PDF conversion page with PDF library management - Fix search results: relevance percentages, topic filter pills, book dropdown (field name mismatches with server RPC) - Fix `handler_api_url_pdfs` panic by wrapping `list_url_pdf_items` in `spawn_blocking` - Log import pipeline errors to job so they appear in the progress UI - Filter ebook TOML copying by namespace prefix (prevents `default_*`/`mycelium_new_*` namespace pollution) - Skip embedder's built-in "default" namespace in discovery - Update `make demo`: 3 libraries (mycelium, ourworld, geomind), clean stale dirs on startup ## Test plan - [x] `cargo check` passes - [x] Homepage shows exactly 3 libraries - [x] Search returns non-zero relevance, topic filters, book filters - [x] Import Collection works end-to-end (local path tested) - [x] Markdown to PDF conversion works end-to-end - [x] All pages return 200: /, /docs, /import, /pdf/convert, /library/{ns}, /search
Features removed in commit 5aeb9fc (webservice deletion) are now restored
in the viewer crate with proper server API endpoints:

- Add Tools dropdown (Import Collection, Markdown to PDF) and Docs link to navbar
- Add Import Collection page with git/local source, namespace selector, progress polling
- Add Markdown to PDF conversion page with PDF library listing
- Add Docs page with documentation overview
- Add 6 server API endpoints for import/convert/PDF operations
- Fix search field name mismatches (relevance, title, page, topic)
- Extract topics and book filters from search results
- Add topic color mapping for product, business, news categories

Closes #78

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Log pipeline result message to import job so errors are visible in UI
- Wrap list_url_pdf_items in spawn_blocking to prevent tokio runtime panic

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Demo: 3 libraries (mycelium, ourworld, geomind), fix namespace pollution
Some checks failed
Test / test (pull_request) Failing after 2s
Test / integration (pull_request) Has been skipped
83d01d8d91
- Update make demo to configure 3 libraries and clean stale dirs
- Filter ebook TOML copying to only match configured namespace prefix
  (prevents default_*, mycelium_new_* duplicates from polluting library)
- Skip embedder's built-in "default" namespace in discovery
- Clean stale default_*/new_* book dirs in demo setup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mik-tf force-pushed development_hero_books_features from 83d01d8d91
Some checks failed
Test / test (pull_request) Failing after 2s
Test / integration (pull_request) Has been skipped
to 940994feaa
Some checks failed
Test / test (pull_request) Failing after 2s
Test / integration (pull_request) Has been skipped
2026-03-11 18:08:12 +00:00
Compare
mik-tf changed title from Features of HeroBooks to WIP: Restore lost UI features, fix search, add 3-library demo 2026-03-11 18:08:32 +00:00
mik-tf changed title from WIP: Restore lost UI features, fix search, add 3-library demo to Restore lost UI features, fix search, add 3-library demo 2026-03-11 18:09:18 +00:00
mik-tf merged commit 85e4412bd2 into development 2026-03-11 18:09:23 +00:00
mik-tf deleted branch development_hero_books_features 2026-03-11 18:09:23 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_books!79
No description provided.