Updating 1.4.35 -> 1.4.36 on the TV stopped at "Bible App cannot be closed. Please close it manually and click Retry" with the app plainly closed. That message also comes from the installer's copy step (and from removing the old version) when any file in the install folder is in use — not only when Bible App.exe is running. The app runs programs from its own folder: the local AI server (llama-server.exe), speech (whisper-cli.exe), the upscaler. electron-builder's stock check closes only Bible App.exe, and when it has to force-close the app, the app's own shutdown (which stops the AI server) never runs. The orphaned llama-server.exe then holds its files open forever, so Retry can never succeed. - build/installer.nsh: customCheckAppRunning replaces the stock check. It asks the app to close, force-closes any Bible App.exe left, force-closes the helpers by name, then, as a backstop, every process whose executable is inside the install folder (via WMI, which works from the 32-bit installer on 64-bit Windows; the folder is passed in an environment variable and a bare drive is refused). It runs before the old version is removed and before any file is copied. - main.cjs: the in-app updater stops the AI server before launching the installer. The fix is in the INSTALLER, so the TV still on 1.4.35 gets it with this release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
//install this https://nodejs.org/en //then //start server
Bible App
A minimalist Bible reading app with annotation features and Google Drive integration.
🎯 Features
- 📖 Multiple Bible translations (KJV, NIV, ESV, NKJV)
- ✏️ Drawing and highlighting annotations
- 📱 Touch-friendly interface optimized for touchscreen TVs
- ☁️ Google Drive media integration
- 📑 Multi-tab support
- 🔄 Undo/Redo functionality
- 💾 Local annotation persistence
🚀 Live Demo
Visit: https://[your-username].github.io/bible-app
🛠️ Local Development
- Clone this repository
- Install Node.js from https://nodejs.org/en
- Run:
node server.js - Open:
http://localhost:8080
☁️ Google Drive Setup
To enable Google Drive integration:
- Create a Google Cloud Console project
- Enable Google Drive API
- Create OAuth 2.0 credentials
- Add your GitHub Pages domain to authorized JavaScript origins
- Update the API key and Client ID in
app.js
📖 Usage
- Create new tabs with the "+" button
- Switch between Bible and Media modes
- Use the toolbar to draw, highlight, and annotate
- Connect Google Drive folders for media content
- All annotations are saved locally in your browser
🎨 Tools
- Select Tool: Navigate and select text
- Pen Tool: Draw with customizable colors and sizes
- Highlighter: Highlight text with transparency
- Eraser: Remove annotations
- Undo/Redo: Full history management
- Clear: Remove all annotations
🖥️ TV Setup
- Open your TV's web browser
- Navigate to the live demo URL
- The app will load automatically
- Use touch gestures to interact
🤝 Contributing
Feel free to open issues and submit pull requests!
📄 License
MIT License
Bible App - Deployment Package
📦 What's Included
This folder contains all the essential files needed to deploy your Bible app:
index.html- Main Bible applicationstyles.css- Styling and responsive designapp.js- Application logic and functionalitybible-data.js- Bible text data (KJV, NIV, ESV, NKJV)package.json- Project configurationdeploy-to-netlify.html- Deployment guideREADME.md- This file
🚀 Quick Deployment
Option 1: Netlify (Recommended)
- Open
deploy-to-netlify.htmlin your browser - Follow the step-by-step instructions
- Drag this entire folder to Netlify's drop zone
- Get your free URL in seconds
Option 2: GitHub Pages
- Create a GitHub repository
- Upload all files in this folder
- Enable GitHub Pages in repository settings
- Access via
https://username.github.io/repository-name
Option 3: Any Web Server
- Upload all files to your web server
- Access via your domain name
- Works on any hosting service
🎯 Features
- Multiple Bible Translations: KJV, NIV, ESV, NKJV
- Touch-Optimized: Designed for touchscreen TVs
- Annotation Tools: Highlight, underline, circle, erase
- Session Management: Annotations persist during session
- Responsive Design: Works on all screen sizes
- Offline Capable: Bible text stored locally
📱 Access URLs
Once deployed, your Bible app will be available at:
- Netlify:
https://your-app-name.netlify.app - GitHub Pages:
https://username.github.io/repository-name - Custom Domain: Your own domain name
🖥️ TV Setup
- Open your TV's web browser
- Navigate to your deployed URL
- The app will load automatically
- Use touch gestures to interact
🧪 Testing
Before deploying to your TV:
- Test locally by opening
index.htmlin a browser - Verify all features work correctly
- Test on different devices if possible
📞 Support
If you encounter any issues:
- Check that all files are present
- Verify the URL loads on a computer first
- Ensure your TV's browser supports modern web features
🎉 Your Bible app is ready for deployment!
🔤 Greek WordNet Integration
This app includes a minimal client for the Greek WordNet API and exposes it on window.greekWordNet in the browser for quick testing.
Quick start:
- Start the app:
node server.jsthen openhttp://localhost:8080 - Open DevTools (F12) → Console
- Try:
await greekWordNet.lemmatize('reginarum')await greekWordNet.searchLemmas('bula')await greekWordNet.lookupLemma('sicula','n')await greekWordNet.searchSynsets('mythology')
Client location: services/greekWordNet.js
If your network blocks cross-origin calls, ensure the CSP in server.js includes https://greekwordnet.chs.harvard.edu under connect-src (already configured).