From 4c4cfd12772ecbb1faf1d87f58f29719e15d1e7e Mon Sep 17 00:00:00 2001 From: "Steven (Zen)" Date: Mon, 10 Aug 2026 12:48:48 -0600 Subject: [PATCH] Clean up README: proper markdown, fix file path --- readme.md | 69 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/readme.md b/readme.md index 469db6b..1bc7212 100644 --- a/readme.md +++ b/readme.md @@ -1,34 +1,47 @@ -Zen Letta Agent -APP - — 12:30 PM -POC is working. Here's what it does: +# Eagle Viewer -Working: -Lists all your Eagle libraries (Courses, print_on_demand, remote_photos, telus_recordings, web_design) -Loads Courses library in ~3.5 seconds (372 images — uses SSH for bulk metadata read, much faster than walking the SMB mount file by file) -Serves thumbnails from the SMB mount (~2KB per PNG, cached in memory after first load) -Dark grid UI with folder tree sidebar, search, adjustable thumbnail size, lightbox on click +A proof-of-concept web app for browsing Eagle libraries stored on a Synology NAS, from Linux or any browser (Chromebook included). -To run it: -cd ~/workspace/eagle-viewer +Built because Eagle only runs on Mac and Windows. + +## How it works + +- Bulk metadata load via a single SSH `find | cat` command (~3.5s for 372 images, ~30s for 10k+) +- Thumbnails and files served directly from the SMB mount +- Thumbnails cached in memory after first load + +## Features + +- Lists all Eagle libraries on the NAS +- Dark grid UI with adjustable thumbnail size +- Folder tree sidebar +- Search by name or tag +- Lightbox on click +- "Open original" streams the file (mp4, png, pdf, etc.) via HTTP with range support + +## Known limitations + +- Thumbnail cache is in-memory only — resets on server restart +- Large libraries (10k+ images) take ~30s to load on first click (no disk cache yet) +- "Open original" for large video files is slow over SMB — a production version would want a proper media server + +## Requirements + +- Node.js +- `sshpass` installed (`sudo apt install sshpass`) +- NAS SMB share mounted at `/run/user/1000/gvfs/smb-share:server=synologynas.local,share=steve/Eagle_Libraries` +- SSH access to `synologynas.local` + +## Setup + +```bash +cd ~/workspace/gitea/eagle-viewer +npm install node server.js +``` -Then open http://localhost:3737 in your browser. +Then open [http://localhost:3737](http://localhost:3737) in your browser. -The library list and grid load on first click. Thumbnails lazy-load as you scroll. After the initial library load, switching back is instant (cached). +## Gitea -Known gaps for a real version: the "Open original" button streams the video file over HTTP — it works but is slow for large mp4s over SMB. A production version would want a proper media server or direct SMB open. Also thumbnail cache is in-memory only, so it resets on server restart. - -Want me to add folder filtering (the sidebar currently shows the folder tree but clicking doesn't filter yet), or anything else? -Steven [LETA], — 12:34 PM -this is actually a very good start. can you create a new git repository for this in gitea and upload it there? -Zen Letta Agent -APP - — 12:35 PM -Done — pushed to Gitea: http://zen.local:9000/steve/eagle-viewer - -To run it: -cd ~/workspace/eagle-viewer -npm install # if on a fresh machine -node server.js -# → http://localhost:3737 \ No newline at end of file +[http://zen.local:9000/steve/eagle-viewer](http://zen.local:9000/steve/eagle-viewer)