update to readme.md

This commit is contained in:
MEGASOL\simon.adams
2025-09-17 18:16:03 +02:00
parent b97daadc3e
commit e7fbcd1796

View File

@@ -19,12 +19,18 @@ Admin users log in to create public invite links; invite links are always public
- **Dark mode** — detects system preference; manual toggle persists across pages - **Dark mode** — detects system preference; manual toggle persists across pages
- **Albums** — add uploads to a configured album (creates if needed) - **Albums** — add uploads to a configured album (creates if needed)
- **Copy + QR** — copy invite link and display QR for easy sharing - **Copy + QR** — copy invite link and display QR for easy sharing
- **Chunked uploads (optional)** — split large files to bypass proxy limits; configurable size
- **Invite passwords (optional)** — protect invite links with a password prompt
- **Deviceflexible HMI** — responsive layout, mobilesafe picker, sticky mobile bar
- **Retry failed uploads** — oneclick retry for any errored item
- **Invites without album** — create links that dont add uploads to any album
--- ---
## Table of contents ## Table of contents
- [Quick start](#quick-start) - [Quick start](#quick-start)
- [New Features](#new-features) - [New Features](#new-features)
- [Chunked Uploads](#chunked-uploads)
- [Architecture](#architecture) - [Architecture](#architecture)
- [Folder structure](#folder-structure) - [Folder structure](#folder-structure)
- [Requirements](#requirements) - [Requirements](#requirements)
@@ -64,6 +70,10 @@ services:
PUBLIC_UPLOAD_PAGE_ENABLED: "false" # keep disabled by default PUBLIC_UPLOAD_PAGE_ENABLED: "false" # keep disabled by default
PUBLIC_BASE_URL: https://drop.example.com PUBLIC_BASE_URL: https://drop.example.com
# Large files: chunked uploads (bypass 100MB proxy limits)
CHUNKED_UPLOADS_ENABLED: "false" # enable chunked uploads
CHUNK_SIZE_MB: "95" # per-chunk size (MB)
# App internals # App internals
SESSION_SECRET: ${SESSION_SECRET} SESSION_SECRET: ${SESSION_SECRET}
@@ -108,6 +118,34 @@ docker compose up -d
- Set link expiry (e.g., 1, 2, 7 days). Expired links are inactive. - Set link expiry (e.g., 1, 2, 7 days). Expired links are inactive.
- Copy link and view a QR code for easy sharing. - Copy link and view a QR code for easy sharing.
### 🔑 Invite Passwords (New)
- When creating an invite, you can optionally set a password.
- Recipients must enter the password before they can upload through the link.
- The app stores only a salted hash serverside; sessions that pass the check are marked authorized.
### 🧩 Chunked Uploads (New)
- Optin support for splitting large files into chunks to bypass proxy limits (e.g., Cloudflare 100MB).
- Enable with `CHUNKED_UPLOADS_ENABLED=true`; tune `CHUNK_SIZE_MB` (default 95MB).
- The frontend automatically switches to chunked mode only for files larger than the configured chunk size.
### 📱 DeviceFlexible HMI (New)
- Fully responsive UI with improved spacing and wrapping for small and large screens.
- Mobilesafe file picker and a sticky bottom “Choose files” bar on phones.
- Safearea padding for devices with notches; refined dark/light theme behavior.
- Desktop keeps the dropzone clickable; touch devices avoid accidental doubleopen.
### ♻️ Reliability & Quality of Life (New)
- Retry button to reattempt any failed upload without reselecting the file.
- Progress and status updates are more resilient to late/reordered WebSocket events.
- Invites can be created without an album, keeping uploads unassigned when preferred.
### Last 8 Days Highlights
- Added chunked uploads with configurable chunk size.
- Added optional passwords for invite links with inUI unlock prompt.
- Responsive HMI overhaul: mobilesafe picker, sticky mobile action bar, safearea support.
- Retry for failed uploads and improved progress handling.
- Support for invites with no album association.
### 🌙 Dark Mode ### 🌙 Dark Mode
- Automatically detects system dark/light preference on first visit - Automatically detects system dark/light preference on first visit
- Manual toggle button in the header (sun/moon icon) - Manual toggle button in the header (sun/moon icon)
@@ -128,6 +166,14 @@ docker compose up -d
--- ---
## Chunked Uploads
- Enable chunked uploads by setting `CHUNKED_UPLOADS_ENABLED=true`.
- Configure chunk size with `CHUNK_SIZE_MB` (default: `95`). The client only uses chunked mode for files larger than this.
- Intended to bypass upstream limits (e.g., 100MB) while preserving duplicate checks, EXIF timestamps, album add, and peritem progress via WebSocket.
---
## Architecture ## Architecture
- **Frontend:** static HTML/JS (Tailwind). Drag & drop or "Choose files", queue UI with progress and status chips. - **Frontend:** static HTML/JS (Tailwind). Drag & drop or "Choose files", queue UI with progress and status chips.
@@ -216,6 +262,10 @@ STATE_DB=./data/state.db
SESSION_SECRET=SET-A-STRONG-RANDOM-VALUE SESSION_SECRET=SET-A-STRONG-RANDOM-VALUE
LOG_LEVEL=DEBUG LOG_LEVEL=DEBUG
# Chunked uploads (optional)
CHUNKED_UPLOADS_ENABLED=true
CHUNK_SIZE_MB=95
``` ```