Commit Graph

  • bd171d2384 Add Gitea CI workflow; fix ruff lint issues master iterminate 2026-06-28 07:44:04 -05:00
  • 129b1eff04 Nav active highlighting; reorder add battery form; export/import icons iterminate 2026-06-21 13:20:17 -05:00
  • 18456cf8a4 Clickable home page stat cards; clean up nav; add buttons on list pages; move export/import to home iterminate 2026-06-21 12:46:51 -05:00
  • 0b893ffcbb Split dashboard into home page and battery list page iterminate 2026-06-19 21:43:10 -05:00
  • 1980453cab Add 110 tests; raise coverage from 85% to 99% iterminate 2026-06-12 08:32:58 -05:00
  • c0115aebf9 Gate sub-components section on eligible devices via can_have_subcomponents() iterminate 2026-06-12 08:32:53 -05:00
  • ff1a883170 Update README test count iterminate 2026-06-10 12:40:37 -05:00
  • 0223b820be Show parent prefix on assign page; confirm install and charge-all actions iterminate 2026-06-10 12:40:13 -05:00
  • 1309c2f5db Show sub-components as indented rows in device list iterminate 2026-06-10 12:40:13 -05:00
  • faeb8e8c04 Add tests for unretire, logbook, charge-log delete, CSV exports, sub-component edit iterminate 2026-06-10 12:36:58 -05:00
  • b192424978 Update CLAUDE.md models and HA sections for sub-component hierarchy iterminate 2026-06-10 12:35:18 -05:00
  • 6f0dfb0b7f Move shared CSS/JS from templates to static/style.css and static/app.js iterminate 2026-06-10 12:34:53 -05:00
  • 7ed7bb2bb0 Extract _filter_compatible helper for size-compatible battery queries iterminate 2026-06-10 12:32:03 -05:00
  • 17bad3f36b Validate battery percentage range on manual edit; clamp HA values to 0-100 iterminate 2026-06-10 12:31:11 -05:00
  • a9835fee1e Block devices with sub-components from becoming sub-components via forged edit iterminate 2026-06-10 12:29:18 -05:00
  • 2a103f52a5 Update sub-component batteries from parent HA entity in poller and live sync iterminate 2026-06-10 12:28:27 -05:00
  • d41fe7f4ab Preserve sub-component hierarchy in export/import iterminate 2026-06-10 12:27:05 -05:00
  • d1fc80164f Reject protocol-relative URLs in next redirect validation iterminate 2026-06-10 11:45:45 -05:00
  • ab1340998e Charge all batteries across sub-components from parent device iterminate 2026-06-09 21:42:08 -05:00
  • 27ed4c9420 Redirect to device detail after create; sub-component install UI on parent detail iterminate 2026-06-09 21:18:22 -05:00
  • 23eeeafff7 Scope device uniqueness per parent, null type/location for sub-components, hide sub-components from list, flat battery summary for parent devices iterminate 2026-06-09 19:26:31 -05:00
  • 2a54cd8297 Enforce parent device hierarchy: slots/size unset, battery summary, sub-component toggle iterminate 2026-06-08 12:57:31 -05:00
  • 75fe4fe575 Add sub-component support via self-referential device hierarchy iterminate 2026-06-05 22:30:11 -05:00
  • 55ce963d79 Add device charge-all route, last-charged column, and CSRF fix for quick-assign iterminate 2026-06-05 20:08:19 -05:00
  • de986a9305 Add label range filter (two inputs) to dashboard iterminate 2026-05-02 03:45:45 -05:00
  • fa22e98060 Add page-size dropdown to pagination controls iterminate 2026-04-30 20:42:35 -05:00
  • 4ec7d22138 Add pagination, device detail unassign-all, and batch install with slot limit iterminate 2026-04-30 18:31:48 -05:00
  • 3b2029d3b8 Add logbook entries, data export page, and JSON import iterminate 2026-04-26 20:03:58 -05:00
  • 52d1105997 Make device.battery_size NOT NULL in schema and tests iterminate 2026-04-19 19:00:33 -05:00
  • 3e75bb3ab4 Add required battery_size to devices, filter install panels by size iterminate 2026-04-19 14:48:55 -05:00
  • aabe273172 Add location and fill-status filters to device list iterminate 2026-04-19 08:54:50 -05:00
  • b90ab7b2b6 Add location field to devices with dropdown selector iterminate 2026-04-18 15:36:01 -05:00
  • 66062faac6 Add size-in-label checkbox to battery add form iterminate 2026-04-18 11:12:37 -05:00
  • f64e14e713 Replace migrate_to_mariadb.py with sbin/setup_mariadb.py iterminate 2026-04-15 17:34:45 -05:00
  • 8721254476 Update README, MIGRATION.md, and CLAUDE.md for current feature set iterminate 2026-04-15 03:55:14 -05:00
  • 75d0e05f59 Move charge logging to bulk panel, remove per-row button iterminate 2026-04-15 03:42:11 -05:00
  • 4b534db605 Show checkmark and label on charge button iterminate 2026-04-15 03:39:55 -05:00
  • 73ee821cc1 Label charge button 'Charged' instead of checkmark iterminate 2026-04-15 03:39:18 -05:00
  • fa5891d073 Hide retired batteries by default, filter to show them iterminate 2026-04-14 20:09:56 -05:00
  • e4130bb329 Exclude retired batteries from dashboard warnings iterminate 2026-04-14 19:40:11 -05:00
  • 5d8fb5aa68 Make low battery summary card clickable to reveal which batteries iterminate 2026-04-14 19:05:38 -05:00
  • c7b7c24a7e Add needs-attention alerts, last charged, health %, quick charge, sortable columns iterminate 2026-04-14 18:49:07 -05:00
  • 8fb03e1fa3 Reduce HA live fetch timeout to 1s iterminate 2026-04-14 16:25:11 -05:00
  • 0d79972dae Enforce unique constraint on Battery.label iterminate 2026-04-14 16:03:45 -05:00
  • 270acc0430 Fix XSS, CSRF, input validation, and related security issues iterminate 2026-04-14 16:00:50 -05:00
  • e0f04ea971 Clarify BQ-CC65 measures capacity during refresh cycle only iterminate 2026-04-14 14:37:04 -05:00
  • ec731988e2 Add BQ-CC65 capacity-measurement tip to README iterminate 2026-04-14 14:36:16 -05:00
  • 86512e2c4f Update README with app icon and feature overview iterminate 2026-04-14 09:13:53 -05:00
  • cd3eb046d7 Collapse history sections to latest+modal; add charts and dashboard stats iterminate 2026-04-14 09:06:10 -05:00
  • 080768bf92 Improve icon-192.png resampling quality iterminate 2026-04-14 02:57:08 -05:00
  • e223a33c7b Regenerate PWA icons and favicon from updated source image iterminate 2026-04-14 02:45:45 -05:00
  • 3fc54cda87 Regenerate PWA icons and favicon from updated source image iterminate 2026-04-14 02:41:04 -05:00
  • 121e26c1a4 Update static/rawicon.png iterminate 2026-04-14 02:35:46 -05:00
  • cb5af9f252 Upload files to "static" iterminate 2026-04-14 02:35:21 -05:00
  • cc3091fe97 Delete static/icon-512.png iterminate 2026-04-14 02:35:01 -05:00
  • a4dcb5859d Delete static/icon-192.png iterminate 2026-04-14 02:34:57 -05:00
  • 0f6366e871 Regenerate PWA icons and favicon from updated source image iterminate 2026-04-14 02:26:13 -05:00
  • 1ea3af0dce Upload files to "static" iterminate 2026-04-14 02:25:02 -05:00
  • 60a8d64fbc Add PWA icons and favicon from source image iterminate 2026-04-14 02:19:48 -05:00
  • d57522a01d Upload files to "/" iterminate 2026-04-14 02:17:53 -05:00
  • f08441e799 Restrict HA entity list to sensor. domain only iterminate 2026-04-14 02:02:50 -05:00
  • 24feeb4fe4 Exclude binary_sensor entities from HA battery entity list iterminate 2026-04-14 01:59:26 -05:00
  • d00695cd51 Device detail UI cleanup: battery icon, HA live % unknown state, remove redundant entity row iterminate 2026-04-14 01:55:29 -05:00
  • a9d0b3fc63 Replace datalist with custom autocomplete dropdown for HA entity field (mobile fix) iterminate 2026-04-14 01:38:42 -05:00
  • b6a3533fed HA improvements: entity overflow fix, live % fetch on device page, searchable entity dropdown iterminate 2026-04-14 01:17:53 -05:00
  • d7ba64a2f3 Track battery percentage history; skip poll write when value unchanged iterminate 2026-04-13 21:15:19 -05:00
  • 279a1f3f3e Update README and CLAUDE.md for Home Assistant integration iterminate 2026-04-13 20:12:49 -05:00
  • 8c06478bca Add optional Home Assistant integration for battery percentage tracking iterminate 2026-04-13 20:10:23 -05:00
  • 9d2b1d0d51 Add Select all/Deselect all button to filter bar for mobile iterminate 2026-04-13 12:44:19 -05:00
  • 39b52a3fa4 Replace browser confirm() dialogs with custom modal; add live label preview on battery add form iterminate 2026-04-13 09:53:21 -05:00
  • 3c2b2dc389 Add bulk Log Charged action to dashboard toolbar iterminate 2026-04-13 09:30:56 -05:00
  • b1bc02e963 Three features: device dropdown filter, charge log history, unassign-all iterminate 2026-04-13 08:12:23 -05:00
  • 6597fcd4ac Sticky bulk toolbar on dashboard; anchor scroll on device unassign iterminate 2026-04-13 07:23:36 -05:00
  • 65596eee2b Add PWA support — installable as home screen app iterminate 2026-04-13 04:28:11 -05:00
  • 2f8a8a2b77 Add capacity test history and chart to battery detail iterminate 2026-04-13 04:15:55 -05:00
  • 86fb342b0d Add README and update CLAUDE.md with current model and rules iterminate 2026-04-12 22:58:58 -05:00
  • 768f83f63a Add dark mode, simplify nav, and UI polish iterminate 2026-04-12 22:55:23 -05:00
  • 3bc897c1e5 Add device_type field, mobile-friendly improvements, and device filtering iterminate 2026-04-12 22:02:29 -05:00
  • b7e2d54bd2 Fix unassign from device detail redirecting to dashboard iterminate 2026-04-12 21:11:44 -05:00
  • 0869ef3d5e Add bulk install-in-device from dashboard and unretire action iterminate 2026-04-12 21:08:48 -05:00
  • 81e87d2fe2 Add inline assign from dashboard, specific battery picker on device, dynamic install rows iterminate 2026-04-12 20:15:29 -05:00
  • 4ad29558b3 Add client-side filtering to dashboard iterminate 2026-04-12 15:58:45 -05:00
  • 5e87d5e898 Add column picker to dashboard with localStorage persistence iterminate 2026-04-12 15:51:28 -05:00
  • 6384f6b589 Add bulk set field (Storage Location, Brand) to dashboard toolbar iterminate 2026-04-12 15:48:46 -05:00
  • a806a5b19a Add storage location field to bulk add form iterminate 2026-04-12 15:31:23 -05:00
  • 70abcfd0ac Add storage location field to battery with dynamic dropdown iterminate 2026-04-12 15:22:02 -05:00
  • 5a7bbd46ab Add size, chemistry, capacity, purchase date to bulk add form iterminate 2026-04-12 15:15:07 -05:00
  • 604d7bb699 Add optional battery metadata fields iterminate 2026-04-12 14:57:22 -05:00
  • 47e1059532 Replace datalist autocomplete with select dropdown for brand fields iterminate 2026-04-12 14:20:03 -05:00
  • 709e0d6119 Add brand autocomplete dropdown to battery add and device install forms iterminate 2026-04-12 13:31:19 -05:00
  • 1f5234a3e9 Simplify battery management: bulk add, device-level auto-install, mass operations iterminateandClaude Sonnet 4.6 2026-04-12 12:57:10 -05:00
  • 2e36d5f53c Add CLAUDE.md with architecture and dev commands iterminate 2026-04-12 07:18:34 -05:00
  • 6ea3eae981 Initial commit: Flask battery tracker app iterminateandClaude Sonnet 4.6 2026-04-11 22:38:16 -05:00