This website requires JavaScript.
afc7aae580
Merge pull request 'Keep every switch port and show SFP modules' (#17 ) from switch-ports-and-sfp-modules into main
main
deploy-2026.11.10-333
jared
2026-11-10 14:44:49 -05:00
7e588e5b02
Keep every switch port and show SFP modules
jared and Claude Opus 5.5
2026-11-10 14:37:08 -05:00
085c488f7b
Merge pull request 'Only trust Authelia identity headers from the proxy' (#16 ) from trusted-proxy-auth into main
deploy-2026.11.10-324
jared
2026-11-10 13:28:50 -05:00
5c4e4dc099
Only trust Authelia identity headers from the proxy
jared and Claude Opus 5.5
2026-11-10 13:23:24 -05:00
93828b38e9
Merge pull request 'Give hosts longer before ticketing them as gone' (#15 ) from host-reboot-threshold into main
deploy-2026.11.07-314
jared
2026-11-06 19:41:44 -05:00
178a03e898
Give hosts longer before ticketing them as gone
jared and Claude Opus 5.5
2026-11-06 19:35:50 -05:00
7c917969d8
Merge pull request 'Draw realistic front panels for every device model' (#13 ) from device-faceplates into main
deploy-2026.11.05-305
jared
2026-11-05 11:16:26 -05:00
051e70b82b
Draw realistic front panels for every device model
jared and Claude Opus 5.5
2026-11-05 11:11:48 -05:00
d6263049ef
Merge pull request 'Move the port inspector onto device pages' (#5 ) from per-device-inspector into main
deploy-2026.11.05-296
jared
2026-11-05 10:16:16 -05:00
bdcfb76c25
Move the port inspector onto device pages
jared and Claude Opus 5.5
2026-11-05 10:11:11 -05:00
e32499b7f6
Add AT&T modem monitoring and device pages; replace Link Debug
deploy-2026.11.05-287
jared and Claude Opus 5.5
2026-11-04 23:40:17 -05:00
e1716d5228
Fix lint: wrap long line in diagnose.py; make demo scripts flake8-clean
deploy-2026.10.03-273
jared
2026-10-03 16:58:52 -04:00
4a1998046b
README: add walkthrough GIF, rationale and gallery; add demo seed, mock PULSE and capture scripts
jared
2026-10-03 02:23:26 -04:00
fed279a0bd
Fix false LLDP_MISMATCH: compare the switch's name with the server's lldpd neighbour
jared
2026-10-03 02:23:26 -04:00
e0ff3e2168
Add MIT license
deploy-2026.10.03-267
jared
2026-10-03 00:16:58 -04:00
c64853f643
Fix CI: pass --break-system-packages to pip3 installs
deploy-2026.09.05-260
jared and Claude Sonnet 5
2026-09-04 21:10:38 -04:00
42cf754796
Add separate unifi_failure_threshold to avoid false tickets on reboots
jared and Claude Sonnet 5
2026-09-04 20:59:43 -04:00
28fd5aad14
Guard ticket creation against duplicates using event's existing ticket_id
deploy-2026.05.14-235
jared and Claude Sonnet 4.6
2026-05-14 11:09:50 -04:00
65536d58c5
Fix misleading docstring on _purge_old_jobs_loop
deploy-2026.05.14-232
jared and Claude Sonnet 4.6
2026-05-14 11:06:28 -04:00
0e852ebd11
Fix ping-only hosts polled twice per cycle with inconsistent parameters
deploy-2026.05.14-229
jared and Claude Sonnet 4.6
2026-05-13 23:13:43 -04:00
8aaaa89f03
Replace deprecated datetime.utcnow() with datetime.now(timezone.utc)
deploy-2026.05.13-226
jared and Claude Sonnet 4.6
2026-05-13 15:34:41 -04:00
7467236ffd
Add ESLint config enforcing no-undef and eqeqeq
deploy-2026.05.13-223
jared and Claude Sonnet 4.6
2026-05-13 15:33:26 -04:00
dc16a583a5
Fix inspector auto-refresh ignoring 'Off' setting on page load
deploy-2026.05.13-220
jared and Claude Sonnet 4.6
2026-05-13 13:20:42 -04:00
12ef20901a
Fix auto-refresh ignoring 'Off' setting on page load
deploy-2026.05.13-217
jared and Claude Sonnet 4.6
2026-05-13 13:19:44 -04:00
0693ad56f9
Fix monitor loop double-sleep on error; add grep -F regression test
deploy-2026.05.13-214
jared and Claude Sonnet 4.6
2026-05-13 13:16:43 -04:00
c455c5d4b9
Fix suppression annotation for interface_down not checking host-level rules
deploy-2026.05.13-211
jared and Claude Sonnet 4.6
2026-05-13 13:14:46 -04:00
13e6839cdf
Show suppressed badge on host cards during global maintenance windows
deploy-2026.05.13-208
jared and Claude Sonnet 4.6
2026-05-13 13:12:25 -04:00
e7c83eff2b
Use grep -F in dmesg filter to prevent interface name treated as regex
jared and Claude Sonnet 4.6
2026-05-13 11:12:02 -04:00
5c2a92eaee
Remove unused is_new parameter from ticket helper methods
jared and Claude Sonnet 4.6
2026-05-13 11:10:32 -04:00
f942e96c24
Fix ticket_id never stored when fail_thresh>1; guard sessionStorage JSON.parse
deploy-2026.05.13-202
jared and Claude Sonnet 4.6
2026-05-11 23:45:20 -04:00
8173b9dc7f
Cancel in-flight diagnostic poll when user selects a new port
deploy-2026.05.12-199
jared and Claude Sonnet 4.6
2026-05-11 23:26:53 -04:00
2896692d93
Fix empty-object false negative in links page no-data check
deploy-2026.05.12-196
jared and Claude Sonnet 4.6
2026-05-11 23:21:50 -04:00
c2492bbfe8
Use shlex.quote for remote_cmd in build_ssh_command
deploy-2026.05.12-193
jared and Claude Sonnet 4.6
2026-05-11 23:17:11 -04:00
33b214eac0
fix: escape ticket_id text content in dynamic events table
deploy-2026.05.12-190
jared and Claude Sonnet 4.6
2026-05-11 23:02:09 -04:00
0331c2bd00
fix: add aria-required to s-reason field in suppressions form
deploy-2026.05.11-187
jared and Claude Sonnet 4.6
2026-05-11 15:11:05 -04:00
2710eaa118
fix: SSH shell quoting bug breaks ethtool collection; ticket_id KeyError
deploy-2026.05.11-184
jared and Claude Sonnet 4.6
2026-05-11 13:41:09 -04:00
9c011cfce1
fix: UTC timezone suffix missing from all isoformat() timestamp outputs
jared and Claude Sonnet 4.6
2026-05-11 13:28:49 -04:00
182cc8c451
fix: inspector.html stale/updated timestamp broken date parsing
deploy-2026.05.11-181
jared and Claude Sonnet 4.6
2026-05-11 13:25:17 -04:00
0d4f209c79
fix: admin-only suppression enforcement, links.html broken date parsing
deploy-2026.05.11-178
jared and Claude Sonnet 4.6
2026-05-11 13:03:37 -04:00
b3495caac8
fix: aria-required sync, aria-label pills, deduplicate setDuration logic
deploy-2026.05.11-175
jared and Claude Sonnet 4.6
2026-05-11 12:58:32 -04:00
ac7f406175
fix: inspector stale data warning, remove dead supported_modes code
deploy-2026.05.11-172
jared and Claude Sonnet 4.6
2026-05-11 12:05:08 -04:00
124ca10bb0
fix: diagnostic toggle hint, link_stats schema, pagination UX, rate-limit feedback
deploy-2026.05.11-169
jared and Claude Sonnet 4.6
2026-05-11 12:01:56 -04:00
18066ef062
fix: escape poe_class in inspector panel for consistency
deploy-2026.05.11-166
jared and Claude Sonnet 4.6
2026-05-11 11:56:11 -04:00
160dfdfd79
fix: LLDP port label bug, suppression SQL dead code, avatar path hardening
deploy-2026.05.11-163
jared and Claude Sonnet 4.6
2026-05-11 09:31:25 -04:00
e0452193ee
fix: flake8 E701 in avatar handler; update SSH test to match accept-new
deploy-2026.05.11-160
jared and Claude Sonnet 4.6
2026-05-11 09:23:06 -04:00
41c350815a
fix: cache_ttl config validation; ticket_web_url via tojson in base.html
jared and Claude Sonnet 4.6
2026-05-11 09:05:53 -04:00
72651e5d33
fix: LDAP conn leak, health timing info, security headers, link_stats size guard
jared and Claude Sonnet 4.6
2026-05-11 08:50:51 -04:00
a28533946e
fix: LDAP empty-password guard, expires_minutes bounds, snapshot JSON safety, rate dict cleanup
jared and Claude Sonnet 4.6
2026-05-11 08:47:43 -04:00
d3616badb2
fix: LLDP input validation, mgmt_ip early validation, poll timer cleanup, monitor backoff
jared and Claude Sonnet 4.6
2026-05-11 08:45:28 -04:00
705d06ca5b
fix: diagnostic rate limiting, lock-held ownership check, iface name length cap
jared and Claude Sonnet 4.6
2026-05-11 08:42:50 -04:00
1daa9ab475
security: harden exception exposure, SSL config, and Pulse response parsing
jared and Claude Sonnet 4.6
2026-05-11 08:40:25 -04:00
17d273d792
arch+security: route all server contact through Pulse, harden SSH
jared and Claude Sonnet 4.6
2026-05-10 23:58:16 -04:00
088ba789c9
security+a11y: job ownership check, aria-live chips, aria-hidden topo
jared and Claude Sonnet 4.6
2026-05-10 23:53:17 -04:00
60c7c27ac7
refactor: const for _inspInterval in inspector.html
deploy-2026.05.11-132
jared and Claude Sonnet 4.6
2026-05-10 23:45:42 -04:00
b0817e2582
refactor: replace inline onclick with data-action event delegation
deploy-2026.05.11-129
jared and Claude Sonnet 4.6
2026-05-10 23:45:09 -04:00
80587bbbc4
a11y: keyboard-accessible panel toggles, region landmarks in inspector
deploy-2026.05.11-126
jared and Claude Sonnet 4.6
2026-05-10 23:44:23 -04:00
18ab78c35a
security: escape user input in 403 error response to prevent XSS
deploy-2026.05.11-123
jared and Claude Sonnet 4.6
2026-05-10 23:41:31 -04:00
68f69e1539
refactor: extract _annotate_suppressions helper, remove orphaned CSS
deploy-2026.05.11-120
jared and Claude Sonnet 4.6
2026-05-10 23:39:52 -04:00
8e9a6b9b3f
refactor: const/let modernisation and eliminate duplicate date-parse logic
deploy-2026.05.11-117
jared and Claude Sonnet 4.6
2026-05-10 23:37:32 -04:00
872dbf3b48
a11y: aria-pressed for all pill groups, aria-label on search inputs and buttons
deploy-2026.05.11-114
jared and Claude Sonnet 4.6
2026-05-10 23:34:16 -04:00
ff2c0bd90a
Fix: inspector empty states and diagnostic button accessibility
deploy-2026.05.11-111
jared and Claude Sonnet 4.6
2026-05-10 23:21:27 -04:00
5ee7154c45
CSS: migrate links.html static inline styles to classes
deploy-2026.05.11-108
jared and Claude Sonnet 4.6
2026-05-10 23:19:32 -04:00
d63f73e90f
CSS: extract notification panel inline styles to classes
deploy-2026.05.11-105
jared and Claude Sonnet 4.6
2026-05-10 23:18:33 -04:00
bc71cc829b
CSS: replace remaining inline color/size styles with TDS utilities
deploy-2026.05.11-102
jared and Claude Sonnet 4.6
2026-05-10 23:17:22 -04:00
c3f0fcbefb
CSS: remove remaining fixable inline styles across templates
deploy-2026.05.11-99
jared and Claude Sonnet 4.6
2026-05-10 23:15:15 -04:00
d8a4474814
CSS: convert all topology inline styles to modifier classes
deploy-2026.05.11-96
jared and Claude Sonnet 4.6
2026-05-10 23:13:24 -04:00
9e0f8555cc
Feature: show suppression status on active alert rows
deploy-2026.05.11-93
jared and Claude Sonnet 4.6
2026-05-10 23:11:15 -04:00
f25a377968
Cleanup: strip redundant inline styles, add CSS classes
deploy-2026.05.11-90
jared and Claude Sonnet 4.6
2026-05-10 23:09:25 -04:00
7abb76afaa
Redesign: alerts above fold, fix nav, globalise suppress modal
deploy-2026.05.11-87
jared and Claude Sonnet 4.6
2026-05-10 23:07:53 -04:00
6e3a579956
Cleanup: fix eslint warnings, button loading state, inspector footer hint
deploy-2026.05.11-84
jared and Claude Sonnet 4.6
2026-05-10 22:42:40 -04:00
332f041e05
Dynamic resolved count, host search filter, lt-divider for UniFi section
deploy-2026.05.07-81
jared and Claude Sonnet 4.6
2026-05-07 18:36:57 -04:00
66c2c6bc5f
Fix B108: replace hardcoded /tmp with tempfile.gettempdir()
deploy-2026.05.07-78
jared and Claude Sonnet 4.6
2026-05-07 13:34:37 -04:00
ddc258a453
TDS polish: lt-frame tables, links search toolbar, dead CSS cleanup
deploy-2026.05.01-74
jared and Claude Sonnet 4.6
2026-05-01 17:39:11 -04:00
e6649a4c39
TDS polish: lt-frame tables, lt-stats-grid link summary, settings-aware refresh
deploy-2026.05.01-71
jared and Claude Sonnet 4.6
2026-05-01 17:15:48 -04:00
f0759ed24c
Upgrade page headers to lt-page-header/lt-page-title across all pages
deploy-2026.05.01-68
jared and Claude Sonnet 4.6
2026-05-01 01:09:30 -04:00
9d15d4b802
Add stat cards, lt-frame alert queue, and timeline for resolved alerts
deploy-2026.05.01-65
jared and Claude Sonnet 4.6
2026-04-30 22:19:50 -04:00
6f9787b74a
Add notification bell, settings modal, and context-sensitive footer
deploy-2026.05.01-62
jared and Claude Sonnet 4.6
2026-04-30 21:33:02 -04:00
032d0db81e
Add LDAP avatar photos, UX polish, and TDS component upgrades
deploy-2026.05.01-59
deploy-2026.05.01-56
jared and Claude Sonnet 4.6
2026-04-30 21:09:56 -04:00
5fdb77d664
Integrate test code improvements using web_template components
deploy-2026.04.30-53
jared and Claude Sonnet 4.6
2026-04-29 23:37:47 -04:00
d05deb6ccd
Remove all inline event handlers; replace with data-action delegation
deploy-2026.04.29-50
jared and Claude Sonnet 4.6
2026-04-29 17:53:48 -04:00
3a9cc472e1
Audit quick wins: null guard, API error toasts, aria-labels on suppress buttons
jared and Claude Sonnet 4.6
2026-04-29 17:50:00 -04:00
54369bf6c3
fix: resolve bandit B324/B104 and flake8 E302/E303/E501 in app.py
deploy-2026.04.26-46
jared and Claude Sonnet 4.6
2026-04-25 20:51:41 -04:00
a5fcd619f8
test: expand diagnose test coverage — parsers, dmesg, lldp, and analyze
jared and Claude Sonnet 4.6
2026-04-25 19:53:35 -04:00
1767c12f1b
Fix field name mismatches, add events filter, in-place suppression refresh
jared and Claude Sonnet 4.6
2026-04-19 23:35:02 -04:00
6461afe12f
Clean up suppressions.html: standardise pill attribute and remove inline onclick
jared and Claude Sonnet 4.6
2026-04-19 00:01:52 -04:00
6473d932a7
Migrate inspector and links pages to TDS lt.* APIs
jared and Claude Sonnet 4.6
2026-04-18 23:59:19 -04:00
b31b5dd122
Add avatar color, initials structure, and admin nav dropdown
jared and Claude Sonnet 4.6
2026-04-18 23:54:01 -04:00
1e9ce08dca
Integrate TDS v1.2 lt.* APIs throughout app
jared and Claude Sonnet 4.6
2026-04-18 23:46:44 -04:00
c0f8975dee
Replace dangling symlinks with real base.css and base.js files
jared and Claude Sonnet 4.6
2026-04-18 22:11:44 -04:00
51c18fee5c
Align base.html and modal with tinker_tickets reference implementation
jared and Claude Sonnet 4.6
2026-04-18 21:42:04 -04:00
b61501d81d
Restructure app to use LotusGuild Terminal Design System v1.2
jared and Claude Sonnet 4.6
2026-04-18 21:01:20 -04:00
3e36dc9505
ci: add notify-failure, deploy tagging, and coverage reporting
jared and Claude Sonnet 4.6
2026-04-14 15:16:02 -04:00
0d4f792a46
Add CI badges and CI/CD section to README
jared and Claude Sonnet 4.6
2026-04-14 12:53:47 -04:00
9dc10422e3
Suppress bandit B201 false positive in dev runner
jared and Claude Sonnet 4.6
2026-04-14 12:40:10 -04:00
903dc960c3
Add pytest test suite and security scanning
jared and Claude Sonnet 4.6
2026-04-14 12:22:57 -04:00
6880abdff3
Add bandit security scanning workflow
jared and Claude Sonnet 4.6
2026-04-14 11:04:39 -04:00
a4fd74754c
Add JS linting and deploy gating to CI pipeline
jared and Claude Sonnet 4.6
2026-04-14 10:14:33 -04:00
5c3db5e934
ci: install Python3 via apt before pip — runner is node:20-bullseye
jared and Claude Sonnet 4.6
2026-04-14 00:04:42 -04:00
3aff52f972
ci: add flake8 lint workflow; fix unused imports
jared and Claude Sonnet 4.6
2026-04-13 22:23:26 -04:00
de5677fe4d
Auto-reload on auth timeout (401 response)
jared and Claude Sonnet 4.6
2026-03-17 20:43:08 -04:00