70562e1d2b186fffae4ef0227b6820b0c6407a5b
The service worker was using cache-first for ALL non-API routes, including page routes like /queue, /capture, /browser. This meant the browser kept serving old cached HTML with old inline JS even after deploys, which is why the queue file list never updated (old JS was running, silently crashing on API mismatches). Now only /static/ assets use cache-first (they're versioned via SW cache bumps). All pages and API calls use network-first with cache as offline fallback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
NextSnap
Offline-first photo capture web app for Nextcloud.
Quick Start
Development
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python run.py
Visit http://localhost:5000/api/health to verify the server is running.
Docker Deployment
export SECRET_KEY="your-secret-key-here"
export NEXTCLOUD_URL="https://your-nextcloud-instance.com"
docker-compose up -d
Architecture
- Backend: Flask + Gunicorn
- Frontend: Vanilla JavaScript (no framework)
- Offline Storage: IndexedDB via Dexie.js
- Service Worker: For offline-first capabilities
- Nextcloud Integration: WebDAV API for file operations
Build Order
See nextsnap.md for the complete specification and phased implementation plan.
Description
Languages
JavaScript
42.2%
HTML
29.1%
Python
21.6%
CSS
5.6%
Makefile
0.6%
Other
0.9%