towerops/lib/towerops_web
Graham McIntire 1b4b7f1773
fix user deletion bug and implement timezone support
User deletion bug:
- Store client IP in socket assigns during mount
- Access stored IP during delete event instead of connect_info
- Fixes RuntimeError when attempting to delete users

Timezone support:
- Add timezone offset maps for common timezones (no external deps)
- Implement shift_timezone/2 helper using DateTime.add/3
- Add timezone-aware format_datetime/2, format_date/2, format_iso8601/2
- Keep backwards-compatible 1-arity versions defaulting to UTC
- Add comprehensive test coverage for timezone conversions
- All tests passing (23 tests, 0 failures)

Note: Timezone offsets are standard time only (no DST handling)
Common timezones supported: America/New_York, America/Los_Angeles,
Europe/London, Europe/Paris, Asia/Tokyo, Asia/Shanghai, Australia/Sydney
2026-01-18 10:51:11 -06:00
..
channels Convert Task.* calls to Exq background workers 2026-01-17 16:46:36 -06:00
components fix all credo issues and add flash auto-dismiss 2026-01-18 10:43:23 -06:00
controllers refactor: use API token auth for profile imports instead of session cookies 2026-01-18 09:30:21 -06:00
helpers fix user deletion bug and implement timezone support 2026-01-18 10:51:11 -06:00
live fix user deletion bug and implement timezone support 2026-01-18 10:51:11 -06:00
plugs feat: update UI to Tailwind Plus design system and fix auth redirects 2026-01-18 09:56:49 -06:00
endpoint.ex agent improvements and agent config 2026-01-16 17:26:51 -06:00
gettext.ex init 2025-12-21 11:10:43 -06:00
router.ex feat: update UI to Tailwind Plus design system and fix auth redirects 2026-01-18 09:56:49 -06:00
telemetry.ex fix: prevent telemetry errors when Exq is not running 2026-01-18 10:00:14 -06:00
user_auth.ex increase sudo mode timeout to 12 hours 2026-01-18 10:25:17 -06:00