diff --git a/WebHost/templates/tracker.html b/WebHost/templates/tracker.html
index d6e29bd409..3c62d365d5 100644
--- a/WebHost/templates/tracker.html
+++ b/WebHost/templates/tracker.html
@@ -1,6 +1,5 @@
{% extends 'layout.html' %}
{% block head %}
-
Multiworld Tracker for Room {{ room.id }}
@@ -15,9 +14,29 @@
"fixedHeader": true,
"dom": "t"
});
+
$('#searchbox').keyup(function () {
tables.search($(this).val()).draw();
- })
+ });
+
+ function update() {
+ var target = $("");
+ target.load("/tracker/{{ room.id }}", function (response, status) {
+ if (status === "success") {
+ target.find(".table").each(function (i, new_table) {
+ var new_trs = $(new_table).find("tbody>tr");
+ var old_table = tables.eq(i);
+ old_table.clear();
+ old_table.rows.add(new_trs).draw();
+ });
+ } else {
+ console.log("Failed to connect to Server, in order to update Table Data.");
+ console.log(response);
+ }
+ })
+ }
+
+ setInterval(update, 30000);
})
diff --git a/WebHost/tracker.py b/WebHost/tracker.py
index 878d2b719f..848e0614a6 100644
--- a/WebHost/tracker.py
+++ b/WebHost/tracker.py
@@ -192,7 +192,7 @@ def render_timedelta(delta: datetime.timedelta):
@app.route('/tracker/')
-@cache.memoize(timeout=60) # update every minute
+@cache.memoize(timeout=30) # update every 30 seconds
def get_tracker(room: int):
room = Room.get(id=room)
if not room: