Geogram v1.23.0

Changelog

## What's New in v1.23.0

### Bug Fixes
- **Fix "Too many open files" crash** when opening chat rooms — batched progressive sync cache loading (O(N²) → O(1) file operations), added concurrency guards to prevent overlapping sync operations, and optimized directory listings in cache service
- **Fix HttpClient file descriptor leaks** causing FD exhaustion on long-running sessions
- **Fix FD exhaustion** by closing leaked HTTP clients and pooling connections in StationService
- **Add FD monitoring** to health watchdog to detect leaks early
- **Fix blog URL resolution** with BlogHandlerMixin and NIP-05 callsign lookup
- **Fix Android CI** — kill orphaned Gradle daemons and remove stale lock files

### New Features
- **CLI command registry framework** — modular command system with shared interfaces for CLI and Desktop stations
- **NIP-05 CLI admin command** for managing NIP-05 identity registrations
- **Shared NavigationHandler** with `/chat/<station>/<room>` URL hierarchy
- **Per-command environment filtering** in command registry
- **Clickable URLs** in chat message bubbles

### Improvements
- Shared interfaces for CLI/Desktop command registry
- Added chat and devices dirs to Desktop console rootDirs
- Removed dead command code from PureConsole

Speech Recognition Models (Whisper)

Vision AI Models