π 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