iterminate
|
1980453cab
|
Add 110 tests; raise coverage from 85% to 99%
|
2026-06-12 08:32:58 -05:00 |
|
iterminate
|
c0115aebf9
|
Gate sub-components section on eligible devices via can_have_subcomponents()
|
2026-06-12 08:32:53 -05:00 |
|
iterminate
|
ff1a883170
|
Update README test count
|
2026-06-10 12:40:37 -05:00 |
|
iterminate
|
0223b820be
|
Show parent prefix on assign page; confirm install and charge-all actions
|
2026-06-10 12:40:13 -05:00 |
|
iterminate
|
1309c2f5db
|
Show sub-components as indented rows in device list
|
2026-06-10 12:40:13 -05:00 |
|
iterminate
|
faeb8e8c04
|
Add tests for unretire, logbook, charge-log delete, CSV exports, sub-component edit
|
2026-06-10 12:36:58 -05:00 |
|
iterminate
|
b192424978
|
Update CLAUDE.md models and HA sections for sub-component hierarchy
|
2026-06-10 12:35:18 -05:00 |
|
iterminate
|
6f0dfb0b7f
|
Move shared CSS/JS from templates to static/style.css and static/app.js
|
2026-06-10 12:34:53 -05:00 |
|
iterminate
|
7ed7bb2bb0
|
Extract _filter_compatible helper for size-compatible battery queries
|
2026-06-10 12:32:03 -05:00 |
|
iterminate
|
17bad3f36b
|
Validate battery percentage range on manual edit; clamp HA values to 0-100
|
2026-06-10 12:31:11 -05:00 |
|
iterminate
|
a9835fee1e
|
Block devices with sub-components from becoming sub-components via forged edit
|
2026-06-10 12:29:18 -05:00 |
|
iterminate
|
2a103f52a5
|
Update sub-component batteries from parent HA entity in poller and live sync
|
2026-06-10 12:28:27 -05:00 |
|
iterminate
|
d41fe7f4ab
|
Preserve sub-component hierarchy in export/import
|
2026-06-10 12:27:05 -05:00 |
|
iterminate
|
d1fc80164f
|
Reject protocol-relative URLs in next redirect validation
|
2026-06-10 11:45:45 -05:00 |
|
iterminate
|
ab1340998e
|
Charge all batteries across sub-components from parent device
|
2026-06-09 21:42:08 -05:00 |
|
iterminate
|
27ed4c9420
|
Redirect to device detail after create; sub-component install UI on parent detail
|
2026-06-09 21:18:22 -05:00 |
|
iterminate
|
23eeeafff7
|
Scope device uniqueness per parent, null type/location for sub-components, hide sub-components from list, flat battery summary for parent devices
|
2026-06-09 19:26:31 -05:00 |
|
iterminate
|
2a54cd8297
|
Enforce parent device hierarchy: slots/size unset, battery summary, sub-component toggle
|
2026-06-08 12:57:31 -05:00 |
|
iterminate
|
75fe4fe575
|
Add sub-component support via self-referential device hierarchy
|
2026-06-05 22:30:11 -05:00 |
|
iterminate
|
55ce963d79
|
Add device charge-all route, last-charged column, and CSRF fix for quick-assign
|
2026-06-05 20:08:19 -05:00 |
|
iterminate
|
de986a9305
|
Add label range filter (two inputs) to dashboard
|
2026-05-02 03:45:45 -05:00 |
|
iterminate
|
fa22e98060
|
Add page-size dropdown to pagination controls
|
2026-04-30 20:42:35 -05:00 |
|
iterminate
|
4ec7d22138
|
Add pagination, device detail unassign-all, and batch install with slot limit
|
2026-04-30 18:31:48 -05:00 |
|
iterminate
|
3b2029d3b8
|
Add logbook entries, data export page, and JSON import
|
2026-04-26 20:03:58 -05:00 |
|
iterminate
|
52d1105997
|
Make device.battery_size NOT NULL in schema and tests
|
2026-04-19 19:00:33 -05:00 |
|
iterminate
|
3e75bb3ab4
|
Add required battery_size to devices, filter install panels by size
|
2026-04-19 14:48:55 -05:00 |
|
iterminate
|
aabe273172
|
Add location and fill-status filters to device list
|
2026-04-19 08:54:50 -05:00 |
|
iterminate
|
b90ab7b2b6
|
Add location field to devices with dropdown selector
|
2026-04-18 15:36:01 -05:00 |
|
iterminate
|
66062faac6
|
Add size-in-label checkbox to battery add form
|
2026-04-18 11:12:37 -05:00 |
|
iterminate
|
f64e14e713
|
Replace migrate_to_mariadb.py with sbin/setup_mariadb.py
Covers all 5 models/tables, prompts for credentials, snapshots SQLite,
and prints env/service config at the end.
|
2026-04-15 17:34:45 -05:00 |
|
iterminate
|
8721254476
|
Update README, MIGRATION.md, and CLAUDE.md for current feature set
|
2026-04-15 03:55:14 -05:00 |
|
iterminate
|
75d0e05f59
|
Move charge logging to bulk panel, remove per-row button
|
2026-04-15 03:42:11 -05:00 |
|
iterminate
|
4b534db605
|
Show checkmark and label on charge button
|
2026-04-15 03:39:55 -05:00 |
|
iterminate
|
73ee821cc1
|
Label charge button 'Charged' instead of checkmark
|
2026-04-15 03:39:18 -05:00 |
|
iterminate
|
fa5891d073
|
Hide retired batteries by default, filter to show them
|
2026-04-14 20:09:56 -05:00 |
|
iterminate
|
e4130bb329
|
Exclude retired batteries from dashboard warnings
|
2026-04-14 19:40:11 -05:00 |
|
iterminate
|
5d8fb5aa68
|
Make low battery summary card clickable to reveal which batteries
|
2026-04-14 19:05:38 -05:00 |
|
iterminate
|
c7b7c24a7e
|
Add needs-attention alerts, last charged, health %, quick charge, sortable columns
|
2026-04-14 18:49:07 -05:00 |
|
iterminate
|
8fb03e1fa3
|
Reduce HA live fetch timeout to 1s
|
2026-04-14 16:25:11 -05:00 |
|
iterminate
|
0d79972dae
|
Enforce unique constraint on Battery.label
|
2026-04-14 16:03:45 -05:00 |
|
iterminate
|
270acc0430
|
Fix XSS, CSRF, input validation, and related security issues
|
2026-04-14 16:00:50 -05:00 |
|
iterminate
|
e0f04ea971
|
Clarify BQ-CC65 measures capacity during refresh cycle only
|
2026-04-14 14:37:04 -05:00 |
|
iterminate
|
ec731988e2
|
Add BQ-CC65 capacity-measurement tip to README
|
2026-04-14 14:36:16 -05:00 |
|
iterminate
|
86512e2c4f
|
Update README with app icon and feature overview
|
2026-04-14 09:13:53 -05:00 |
|
iterminate
|
cd3eb046d7
|
Collapse history sections to latest+modal; add charts and dashboard stats
|
2026-04-14 09:06:10 -05:00 |
|
iterminate
|
080768bf92
|
Improve icon-192.png resampling quality
|
2026-04-14 02:57:08 -05:00 |
|
iterminate
|
e223a33c7b
|
Regenerate PWA icons and favicon from updated source image
|
2026-04-14 02:45:45 -05:00 |
|
iterminate
|
3fc54cda87
|
Regenerate PWA icons and favicon from updated source image
|
2026-04-14 02:41:04 -05:00 |
|
iterminate
|
121e26c1a4
|
Update static/rawicon.png
|
2026-04-14 02:35:46 -05:00 |
|
iterminate
|
cb5af9f252
|
Upload files to "static"
|
2026-04-14 02:35:21 -05:00 |
|