From e43c98997b0de6a8da989f68d97f1d4f7fb7bb6f Mon Sep 17 00:00:00 2001 From: kboz Date: Fri, 24 Apr 2026 00:55:26 +0200 Subject: feat(core): implement wallet trade tracking and sqlite market caching - Transitioned primary ESI networking and dataset initialization to `asyncio` and `aiohttp` for non-blocking I/O. - Introduced `aiosqlite` utilizing an in-memory database to significantly speed up arbitrage querying. - Implemented character wallet tracking (added `esi-wallet.read_character_wallet.v1` scope) to automatically deduct filled market volumes internally instead of waiting for full region polling. - Exposed `/settings` endpoint allowing dynamic tweaking of threshold variables (cargo size, limits, tax rate, ship speeds) directly from the React UI. - Decoupled auto-waypoint submission during route planning; users now push routes selectively via a new "Set in Game" frontend action and `/set_waypoints` backend logic. - Optimized order evaluations and triplet generation limits through `LegMetrics` to lower CPU footprint drastically on large dataset passes. - Migrated React frontend completely to Server-Sent Events (SSE), cleanly ditching HTTP polling. --- frontend/src/Path.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'frontend/src/Path.js') diff --git a/frontend/src/Path.js b/frontend/src/Path.js index f375743..3fd50ea 100644 --- a/frontend/src/Path.js +++ b/frontend/src/Path.js @@ -1,9 +1,10 @@ import React from 'react'; -import usePolling from './usePolling'; +import useSSE from './useSSE'; import DataDisplay from './DataDisplay'; // Import the DataDisplay component const Path = () => { - const { data, error } = usePolling('http://localhost:8000/route', 1000); + const { data: sseData, error } = useSSE('http://localhost:8000/data_stream'); + const data = sseData ? sseData.route : null; return (
-- cgit v1.3