feat(#443): Telegram onboarding, remove platform, credential expiry, field validation (#467)
* feat(#443): Telegram onboarding, remove platform, credential expiry, gateway command, field validation
- Add Telegram onboarding wizard: start (QR), poll status, cancel, apply
with allowed-user-IDs flow. Full state machine in ChannelsViewModel.
- Add remove platform button with confirmation dialog (per card).
- Add credential expiry display in env var config fields.
- Add gateway_start_command to the offline banner with monospace hint.
- Add field validation for Slack token prefixes and member IDs.
- Add admin section showing env path and gateway command.
- Add DELETE, POST, GET API endpoints for onboarding + remove platform
+ action status polling.
- Extend MessagingPlatform model with envVar expiresAt, homeChannel,
updatedAt fields.
* fix(#443): address review feedback + fix CI compilation & ktlint
- Remove duplicate getActionStatus overload (compilation blocker)
- Add missing Box import in ChannelsScreen (compilation blocker)
- Remove unused gatewayCommand param from AdminSection
- Centralize ISO timestamp parsing with UTC timezone
- Clean up WAITING phase dialog (remove redundant confirmButton)
- Use LocalHermesStatusColors for semantic surfaces
- Fix all ktlint violations in changed files
---------
Co-authored-by: M57 <hy4ri@users.noreply.github.com>