On the TV the update stopped at "Bible App cannot be closed", and uninstalling from Windows Settings showed "Installer integrity check has failed". The cause is the uninstaller, not anything running. An update runs the PREVIOUS version's uninstaller first. Versions 1.4.35-1.4.37 were built on macOS, where electron-builder can't run NSIS to write the uninstaller and rebuilds it in JavaScript (UninstallerReader) from the installer's stub — without NSIS's icon patch. makensis computes the uninstaller's CRC over the stub WITH the uninstaller icon in it, so whenever the two icons differ the result fails NSIS's integrity check. With no app icon configured, NSIS uses its two different default icons, so every Mac-built uninstaller was damaged. Verified with a reimplementation of NSIS's loadHeaders() check: the shipped installers pass; the captured uninstaller failed (0x4235c8f5 vs stored 0x90f7de2c) and passes with this fix (0xb37e533c). - build/installerIcon.ico: NSIS's own default install icon, so electron-builder uses ONE icon for installer and uninstaller (nothing looks different; the app's icon is unchanged). tools/build-win.cjs refuses to build without it. - build/installer.nsh: for installs of 1.4.35-1.4.37 only, clear the old UninstallString so the damaged uninstaller is not run; the new files are copied over the old ones and a fresh, valid uninstaller is written. Every other version keeps the normal uninstall-then-install path. - BUILD-AND-DEPLOY.md: why the icon file must stay. 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).