Commit graph

324 commits

Author SHA1 Message Date
77e62df9da
Move CaptureTimezone plug to browser pipeline
The plug was incorrectly placed in the endpoint, causing it to run on
all requests including APIs. Moved to :browser pipeline where it belongs,
and removed redundant fetch_session call since the pipeline handles it.
2026-02-01 11:15:51 -06:00
d05c493943
Add CaptureTimezone plug to browser pipeline 2026-02-01 11:10:34 -06:00
c4e8c70e7d
Add CaptureTimezone plug to extract cf-timezone header 2026-02-01 11:02:57 -06:00
ad753cf0c6
add headers debug in prod 2026-02-01 10:54:13 -06:00
fcf3ce154f
Add firmware update indicator to device detail page
- Load available firmware in DeviceLive.Show
- Add firmware_update_available? and format_date helpers
- Display blue indicator banner when newer firmware available
- Show current vs latest version with release date
- Add download link and release notes link
- Support MikroTik initially, extensible to other vendors

Phase 6 (final) of firmware tracking complete. All phases implemented:
 Database schema (firmware_releases, device_firmware_history)
 Version comparison logic (VersionComparator)
 RSS fetching worker (daily Oban cron)
 Firmware context with logging and PubSub
 Version change detection in Discovery
 LiveView UI indicators
2026-02-01 10:49:00 -06:00
61a06fc11c
Add firmware version tracking system
- Add firmware context module with upsert, query, and logging functions
- Add FirmwareVersionFetcherWorker to fetch MikroTik RSS daily
- Add Oban cron schedules (2 AM dev, 4 AM prod)
- Add version change detection to Discovery module
- Track firmware history with PubSub broadcasts
- All tests passing

Phase 3-5 of firmware tracking implementation complete.
Next: LiveView UI indicators.
2026-02-01 10:46:27 -06:00
b30f2cf5af
filter more honeybadger alerts, format dates to users time zone, email template cleanup 2026-02-01 09:27:42 -06:00
b08daf9a88
paginate login history and improve user settings 2026-02-01 09:08:48 -06:00
feed25080c
add HIBP password check 2026-02-01 08:57:01 -06:00
2fab08f5f8
forgot password flow 2026-01-31 17:03:22 -06:00
dff9c26905
fix TOTP enrollment with recovery codes 2026-01-31 14:54:44 -06:00
c690827ee0 user setting re-auth redirect hopeful fix 2026-01-31 13:32:26 -06:00
4bcac595ad about wording 2026-01-31 13:22:38 -06:00
480789c3e2 banner dissmiss and mikrotik version and license 2026-01-31 13:07:09 -06:00
c4ce7a94ca memory leak fixing 2026-01-31 10:40:19 -06:00
efc6e7a3ab paginate discovered devices 2026-01-31 10:31:37 -06:00
3c00dcf37c remove passkeys for now 2026-01-31 09:50:35 -06:00
22ae257b60 refactor 2026-01-31 09:35:07 -06:00
b709ae9fbe fix prod crash with yaml parsing 2026-01-31 08:25:07 -06:00
6ca22c5dd0 enhance user auditing 2026-01-30 17:38:07 -06:00
5256929186 simplify docker compose template 2026-01-30 17:19:55 -06:00
1ace5b06af fix impersonate mfa and some dialyzer issues 2026-01-30 17:04:39 -06:00
cd06f437bb fix my-data page 2026-01-30 16:47:11 -06:00
cc07e485b7 show times on sessions in local time zone 2026-01-30 16:26:20 -06:00
0d4ab7fc14 fix session view 2026-01-30 16:20:04 -06:00
ac66926367 agent overhaul 2026-01-30 16:05:23 -06:00
eebeb31456 refactor: move admin dashboards to /admin namespace
- Move Oban Web from /oban to /admin/oban
- Move LiveDashboard from /dashboard to /admin/dashboard
- Both remain protected by :require_superuser plug
- Update documentation to reflect new paths
2026-01-30 13:37:39 -06:00
25397139c1 nif ci fix complie in ci 2026-01-30 13:01:44 -06:00
de1ad8bc8a nif ci fixes and dialyzer fixes 2026-01-30 12:38:50 -06:00
836749ba6b complete overhaul of snmp engine 2026-01-30 10:41:07 -06:00
2a36917738 mfa enforced on login 2026-01-29 14:31:13 -06:00
55e9397d59 user session tracking 2026-01-29 14:14:21 -06:00
c7ca0dcb27 poller clarification 2026-01-29 13:30:34 -06:00
09e1d81a9a fix superuser api device limits 2026-01-29 13:01:21 -06:00
c0736d4c2e gdpr consent tracking 2026-01-29 11:12:35 -06:00
e76bd1fd91 track more state changes 2026-01-29 10:43:23 -06:00
e0552ac97d add security headers 2026-01-29 10:33:24 -06:00
c95487f55d sensor graphing improvement 2026-01-29 10:14:34 -06:00
8e739283ad refactoring 2026-01-29 10:03:43 -06:00
857c8d2196 totp debugging 2026-01-29 09:14:48 -06:00
9353a24760 totp debugging 2026-01-28 17:37:54 -06:00
eeca341abf totp debugging 2026-01-28 17:33:36 -06:00
e9b13aa873 fix agent discovery 2026-01-28 17:29:30 -06:00
4364d81416 security fixes 2026-01-28 17:18:23 -06:00
6ab1333b41 security fixes 2026-01-28 17:02:36 -06:00
58b1aa50c2 security fixes 2026-01-28 16:55:41 -06:00
fd4f8b2342 totp debugging 2026-01-28 16:50:12 -06:00
c149b84db0 dialyzer fixes 2026-01-28 16:27:49 -06:00
1ac771c7a6 mfa enroll page design update 2026-01-28 15:26:03 -06:00
9833f61043 login redirect fix 2026-01-28 15:18:08 -06:00