v5.1.0 - iOS Safari & In-App Browser Fix
🍎 iOS Safari & In-App Browser Compatibility Fix
This release fixes a critical bug that prevented the viewer from working on iOS Safari and in-app browsers (like opening links from Telegram, Twitter, etc.).
🐛 What Was Broken
When opening the viewer on iOS Safari or any in-app browser, users would see "Authentication is disabled" even when authentication was properly configured. The app appeared broken with no way to log in.
🔍 Root Cause
The Notification API does not exist in iOS Safari and many in-app browsers. The code used optional chaining (Notification?.permission), but JavaScript throws a ReferenceError when accessing an undeclared variable—even with ?.. This crashed the Vue app before authentication could even be checked.
✅ The Fix
- Use
typeof Notification !== "undefined"check before accessing the API - Fixed auth check returning
nullinstead offalse(Python'sNone and Xquirk) - Added helpful error message for in-app browser users
- Added notification blocked detection banner
📦 Upgrade
# Pull the new viewer image
docker pull drumsergio/telegram-archive-viewer:v5.1.0
# Update your docker-compose.yml to use v5.1.0
# Then restart
docker compose up -d🆕 New Environment Variable
| Variable | Default | Description |
|---|---|---|
AUTH_SESSION_DAYS |
30 |
How long the login session lasts (in days) |
📋 Full changelog: docs/CHANGELOG.md