Skip to content

Commit 113dcc4

Browse files
committed
frontend: add option to enable pcap logging and download the log.
1 parent ac44cb5 commit 113dcc4

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

frontend/src/components/Frame.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Worker from '../worker?worker'
55
import { Row, Spinner } from 'react-bootstrap';
66
import { connected, connected_to, secret } from './charger_list';
77
import { setAppNavigation } from './Navbar';
8+
import { enableLogging } from '../utils';
89

910
export const chargerID = signal(0);
1011
export const chargerPort = signal(0);
@@ -79,6 +80,10 @@ export class Frame extends Component {
7980
};
8081

8182
this.worker.postMessage(message);
83+
84+
if (enableLogging) {
85+
this.worker.postMessage("enableLogging");
86+
}
8287
}
8388
}
8489

@@ -120,6 +125,12 @@ export class Frame extends Component {
120125
const frame_window = frame.contentWindow;
121126
frame_window.location.hash = hash;
122127
}
128+
129+
window.addEventListener("keydown", (e: KeyboardEvent) => {
130+
if (e.ctrlKey && e.altKey && e.code === "KeyP") {
131+
this.worker.postMessage("download");
132+
}
133+
})
123134
}
124135

125136
componentWillUnmount() {

frontend/src/utils.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,12 @@ export const loggedIn = signal(AppState.Loading);
7070
export const PASSWORD_PATTERN = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}/;
7171
export const BACKEND = import.meta.env.VITE_BACKEND_URL;
7272
export const FRONTEN_URL = import.meta.env.VITE_FRONTEND_URL;
73+
74+
export let enableLogging = false;
75+
76+
window.addEventListener("keydown", (e: KeyboardEvent) => {
77+
if (e.ctrlKey && e.altKey && e.code === "KeyL") {
78+
alert("Pcap logging enabled");
79+
enableLogging = true;
80+
}
81+
})

frontend/src/worker.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ declare const self: DedicatedWorkerGlobalScope;
2626
const tunnel_url = import.meta.env.VITE_BACKEND_WS_URL + "/ws?key_id="
2727
let wgClient: Client | undefined = undefined;
2828
let setup_data: SetupMessage;
29-
self.postMessage("started");
30-
set_pcap_logging(true);
3129

3230
self.addEventListener("message", async (e: MessageEvent) => {
3331
if (typeof e.data === "string") {
@@ -51,6 +49,10 @@ self.addEventListener("message", async (e: MessageEvent) => {
5149
wgClient.disconnect_inner_ws();
5250
break;
5351

52+
case "enableLogging":
53+
set_pcap_logging(true);
54+
break;
55+
5456
case "download":
5557
triggerDownload();
5658
break;
@@ -164,3 +166,5 @@ function triggerDownload() {
164166
data: msg
165167
});
166168
}
169+
170+
self.postMessage("started");

0 commit comments

Comments
 (0)