https://github.com/stuartb55/ionic5-ohme-autocharge
· scanned 2026-06-16 00:23 UTC (2 months, 2 weeks ago)
40 raw signals (0 security + 40 graph)
Last scanned 2 months, 2 weeks ago · v1 · 31 actionable findings from 1 signal source. 9 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 390 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
is_enabled |
software | healthy | db.py:87 |
init |
software | healthy | db.py:92 |
close |
software | healthy | db.py:117 |
record_session |
software | healthy | db.py:127 |
get_recent_sessions |
software | healthy | db.py:157 |
record_schedule |
software | healthy | db.py:191 |
record_telemetry |
software | healthy | db.py:213 |
prune_telemetry |
software | healthy | db.py:241 |
record_daily_stats |
software | healthy | db.py:259 |
get_charger_status |
software | healthy | ohme_client.py:11 |
is_connected |
software | healthy | ohme_client.py:24 |
set_target |
software | healthy | ohme_client.py:29 |
make_client |
software | healthy | ohme_client.py:45 |
filter |
software | healthy | api.py:62 |
_iso |
software | healthy | api.py:111 |
build_snapshot |
software | healthy | api.py:115 |
_make_client_with_retry |
software | healthy | api.py:162 |
_maybe_notify_finished |
software | healthy | api.py:177 |
_on_poll_task_done |
software | healthy | api.py:190 |
poll_loop |
software | healthy | api.py:206 |
lifespan |
software | healthy | api.py:306 |
dispatch |
software | dead | api.py:339 |
_money |
software | healthy | api.py:387 |
parse_summary |
software | healthy | api.py:398 |
_reapply_target_if_connected |
software | healthy | api.py:455 |
health |
software | healthy | api.py:489 |
set_charge_target |
software | healthy | api.py:510 |
get_status |
software | healthy | api.py:526 |
get_schedule |
software | healthy | api.py:562 |
get_sessions |
software | healthy | api.py:575 |
_persist_daily_stats |
software | healthy | api.py:587 |
get_statistics |
software | healthy | api.py:608 |
_charge_action |
software | healthy | api.py:648 |
pause_charge |
software | healthy | api.py:679 |
resume_charge |
software | healthy | api.py:685 |
set_max_charge |
software | healthy | api.py:691 |
refresh |
software | healthy | api.py:702 |
load_target |
software | healthy | settings.py:29 |
save_target |
software | healthy | settings.py:46 |
load_persisted_target |
software | healthy | main.py:30 |
handle_plugin_event |
software | healthy | main.py:38 |
_notify_plugin_failure |
software | healthy | main.py:114 |
run_loop |
software | healthy | main.py:126 |
run_once |
software | healthy | main.py:194 |
to_dict |
software | healthy | state.py:51 |
__init__ |
software | healthy | state.py:58 |
charge_target |
software | healthy | state.py:83 |
set_charge_target |
software | healthy | state.py:87 |
update |
software | healthy | state.py:91 |
record_poll_failure |
software | healthy | state.py:98 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
requirements-dev.txt |
software | healthy | requirements-dev.txt |
renovate.json |
software | healthy | renovate.json |
db.py |
software | healthy | db.py |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
config.py |
software | healthy | config.py |
Dockerfile |
software | healthy | Dockerfile |
docker-compose.prod.yml |
software | healthy | docker-compose.prod.yml |
ohme_client.py |
software | healthy | ohme_client.py |
.env.example |
software | healthy | .env.example |
api.py |
software | healthy | api.py |
settings.py |
software | healthy | settings.py |
main.py |
software | healthy | main.py |
state.py |
software | healthy | state.py |
requirements.txt |
software | healthy | requirements.txt |
ntfy.py |
software | healthy | ntfy.py |
docker-compose.yml |
software | healthy | docker-compose.yml |
bluelink.py |
software | healthy | bluelink.py |
vite.config.ts |
software | healthy | frontend/vite.config.ts |
README.md |
software | healthy | frontend/README.md |
package.json |
software | healthy | frontend/package.json |
tsconfig.node.json |
software | healthy | frontend/tsconfig.node.json |
index.html |
software | healthy | frontend/index.html |
Dockerfile |
software | healthy | frontend/Dockerfile |
package-lock.json |
software | healthy | frontend/package-lock.json |
.env.example |
software | healthy | frontend/.env.example |
eslint.config.js |
software | healthy | frontend/eslint.config.js |
tsconfig.json |
software | healthy | frontend/tsconfig.json |
vitest.config.ts |
software | healthy | frontend/vitest.config.ts |
theme.ts |
software | healthy | frontend/src/theme.ts |
main.tsx |
software | healthy | frontend/src/main.tsx |
vite-env.d.ts |
software | healthy | frontend/src/vite-env.d.ts |
App.tsx |
software | healthy | frontend/src/App.tsx |
usePolling.ts |
software | healthy | frontend/src/api/usePolling.ts |
client.ts |
software | healthy | frontend/src/api/client.ts |
types.ts |
software | healthy | frontend/src/api/types.ts |
fixtures.ts |
software | healthy | frontend/src/test/fixtures.ts |
setup.ts |
software | healthy | frontend/src/test/setup.ts |
Dashboard.test.tsx |
software | healthy | frontend/src/test/integration/Dashboard.test.tsx |
server.ts |
software | healthy | frontend/src/test/mocks/server.ts |
handlers.ts |
software | healthy | frontend/src/test/mocks/handlers.ts |
format.test.ts |
software | healthy | frontend/src/utils/format.test.ts |
schedule.test.ts |
software | healthy | frontend/src/utils/schedule.test.ts |
format.ts |
software | healthy | frontend/src/utils/format.ts |
schedule.ts |
software | healthy | frontend/src/utils/schedule.ts |
statistics.ts |
software | healthy | frontend/src/utils/statistics.ts |
statistics.test.ts |
software | healthy | frontend/src/utils/statistics.test.ts |
StatisticsSection.tsx |
software | healthy | frontend/src/components/StatisticsSection.tsx |
StatisticsSection.test.tsx |
software | healthy | frontend/src/components/StatisticsSection.test.tsx |
Banner.tsx |
software | healthy | frontend/src/components/Banner.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
frontend |
software | healthy | frontend |
src |
software | healthy | frontend/src |
api |
software | healthy | frontend/src/api |
test |
software | healthy | frontend/src/test |
integration |
software | healthy | frontend/src/test/integration |
mocks |
software | healthy | frontend/src/test/mocks |
utils |
software | healthy | frontend/src/utils |
components |
software | healthy | frontend/src/components |
hooks |
software | healthy | frontend/src/hooks |
styles |
software | healthy | frontend/src/styles |
tests |
software | healthy | tests |
docs |
software | healthy | docs |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
_QuietAccessLogFilter |
software | healthy | api.py:55 |
SecurityHeadersMiddleware |
software | healthy | api.py:336 |
TargetUpdate |
software | healthy | api.py:449 |
MaxChargeUpdate |
software | healthy | api.py:642 |
StatusSnapshot |
software | healthy | state.py:19 |
AppState |
software | healthy | state.py:55 |
ApiError |
software | healthy | frontend/src/api/client.ts:ApiError |
_FakeCursor |
software | healthy | tests/test_db.py:14 |
_FakeConn |
software | healthy | tests/test_db.py:37 |
_FakeConnCtx |
software | healthy | tests/test_db.py:50 |
_FakePool |
software | healthy | tests/test_db.py:61 |
_BoomPool |
software | healthy | tests/test_db.py:69 |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /api/health |
api | healthy | api.py |
PUT /api/settings/target |
api | healthy | api.py |
GET /api/status |
api | healthy | api.py |
GET /api/schedule |
api | healthy | api.py |
GET /api/sessions |
api | healthy | api.py |
GET /api/statistics |
api | healthy | api.py |
POST /api/charge/pause |
api | healthy | api.py |
POST /api/charge/resume |
api | healthy | api.py |
PUT /api/charge/max-charge |
api | healthy | api.py |
POST /api/refresh |
api | healthy | api.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | Dockerfile |
port:5432 |
network | healthy | docker-compose.prod.yml |
port:8084 |
network | healthy | docker-compose.prod.yml |
port:8080 |
network | healthy | docker-compose.prod.yml |
port:5173 |
network | healthy | frontend/vite.config.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
image::frontend/Dockerfile |
hardware | healthy | frontend/Dockerfile |
backend |
hardware | healthy | docker-compose.yml |
postgres |
hardware | healthy | docker-compose.yml |
frontend |
hardware | healthy | docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/docker.yml |
frontend-test |
cicd | healthy | .github/workflows/docker.yml |
smoke |
cicd | healthy | .github/workflows/docker.yml |
build-backend |
cicd | healthy | .github/workflows/docker.yml |
build-frontend |
cicd | healthy | .github/workflows/docker.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
charge_sessions |
data | healthy | db.py |
schedule_snapshots |
data | healthy | db.py |
telemetry |
data | healthy | db.py |
daily_stats |
data | healthy | db.py |
| Label | Layer | Status | Path |
|---|---|---|---|
postgres |
data | healthy | db.py |
postgresql |
data | healthy | config.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | Dockerfile |
172.0.0.1 |
network | healthy | tests/test_api.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-s_bjrfcm |
software | healthy | /tmp/repobility-clone-s_bjrfcm |
| Label | Layer | Status | Path |
|---|---|---|---|
nginx |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | frontend/src/App.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::docker |
cicd | healthy | .github/workflows/docker.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/9de11ff5-9c44-4e0e-97d1-1ad0d5e24155/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/9de11ff5-9c44-4e0e-97d1-1ad0d5e24155/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.