Compare commits

..

2 Commits

Author SHA1 Message Date
ErrorNoInternet d82127c5fb treewide: add basic optimizations 2026-06-01 21:49:28 -04:00
ErrorNoInternet 36b0c0343d treewide: set up formatting 2026-06-01 21:11:47 -04:00
4 changed files with 18 additions and 44 deletions
-1
View File
@@ -3,4 +3,3 @@ hiscores.json
loscores.json
pingscores.json
.*
address.js
+1 -1
View File
@@ -409,13 +409,13 @@ fn validate_name(input: &str) -> &str
{
return "anon";
}
// Length check
if input.is_empty() || input.len() > 32
{
return "anon";
}
// Allow only letters, numbers, _ and -
if input
.bytes()
.all(|byte| byte.is_ascii_alphanumeric() || byte == b'_' || byte == b'-')
+16 -40
View File
@@ -9,26 +9,16 @@
<button id="button" onclick="send_click()">0</button>
<div id="score-table"></div>
</body>
<script src="/address.js"> </script>
<script>
let score = 0;
let locally = false;
// get the username
let name = validate_data(prompt("Nickname for the leaderboard\nOnly alphanumeric, - or _ please\nPress cancel to just play locally.","anon") ?? set_local());
let ws = "local";
if (!locally)
{
ws = new WebSocket(`ws://${ADDRESS}:8084/ws`);
};
const regex = new RegExp("^[a-zA-Z0-9_-]+$");
const ws = new WebSocket('ws://deadvey.com:8084/ws');
console.log(name)
let latestMessage = 0;
ws.onopen = (event) => {
if (!locally) { ws.send(name); };
let name = validate_data(prompt("Nickname for the leaderboard"));
ws.send(name);
}
ws.onmessage = (event) => {
console.log(event.data);
score = validate_data(event.data);
}
const ws_leaderboard = new WebSocket(`ws://${ADDRESS}:8084/ws-leaderboard`); // download the leaderboard
const ws_leaderboard = new WebSocket('ws://deadvey.com:8084/ws-leaderboard');
ws_leaderboard.onopen = (event) => {
ws_leaderboard.send("1");
};
@@ -51,39 +41,25 @@
});
tableDiv.appendChild(table);
};
ws.onmessage = (event) => {
console.log(event.data);
latestMessage = validate_data(event.data);
}
function send_click()
{
if (!locally)
{
ws.send("");
if (score !== null)
{
document.getElementById("button").textContent=score;
score = null;
}
ws.send("");
if (latestMessage !== null) {
document.getElementById("button").textContent=latestMessage;
latestMessage = null;
}
else // locally = true
{
if (Math.random() < (1/3)) { score = 0; } // fail
else { score += 1; } // success
document.getElementById("button").textContent=score;
}
}
function set_local()
{
score = 0
locally = true
return "anon"
}
function get_rand(min, max) {
return Math.round(Math.random() * (max - min) + min);
}
window.addEventListener('beforeunload', () => {
ws.close();
}, !locally);
});
function validate_data(data) { // Only allow a-z, A-Z, 0-9, - and _ characters, sorry Ramón
const regex = new RegExp("^[a-zA-Z0-9_-]+$");
if (regex.test(data)) { return data }
else { return "anon" }
}
+1 -2
View File
@@ -15,9 +15,8 @@
<p>Total number of resets and personal bests of each username</p>
<div id="pingscore-table"></div>
</body>
<script src="/address.js"></script>
<script>
const ws = new WebSocket(`ws://${ADDRESS}:8084/ws-leaderboard`);
const ws = new WebSocket('ws://deadvey.com:8084/ws-leaderboard');
const regex = new RegExp("^[a-zA-Z0-9_-]+$");
ws.onopen = (event) => {
ws.send('0'); // send all