diff --git a/static/plugins/downloads.js b/static/plugins/downloads.js
index 4d568a5..2221c2c 100644
--- a/static/plugins/downloads.js
+++ b/static/plugins/downloads.js
@@ -36,7 +36,7 @@
     return pie_array.sort((a,b) => b.value - a.value)
 }
 
-async function render_dashboard_downloads(project, duration="7d") {
+async function render_dashboard_downloads() {
     if (!cca2_list) cca2_list = await (await fetch("/_assets/cca2.json")).json();
 
 
diff --git a/static/plugins/mailstats.js b/static/plugins/mailstats.js
index 6fb96f5..edfc53c 100644
--- a/static/plugins/mailstats.js
+++ b/static/plugins/mailstats.js
@@ -5,7 +5,7 @@
     show_mailstats("collated");
 }
 
-async function render_dashboard_mailstats(hostname="collated") {
+async function render_dashboard_mailstats() {
     await OAuthGate(seed_mail_stats);
 }
 
diff --git a/static/plugins/sitesource.js b/static/plugins/sitesource.js
index c1b0ab7..6e33017 100644
--- a/static/plugins/sitesource.js
+++ b/static/plugins/sitesource.js
@@ -15,7 +15,7 @@
     return [str, null]
 }
 
-async function render_dashboard_sitesource(assignee, timespan) {
+async function render_dashboard_sitesource() {
     if (!site_source_json) await seed_site_source();
     document.getElementById('page_title').innerText = "Site Source Checker";
     document.getElementById('page_description').innerText = "This page monitors the sources of all ASF project websites. Sites with any fields marked in red or yellow are not currently being updated. The colored field will indicate the reason for this.";
diff --git a/static/plugins/uptime_stats.js b/static/plugins/uptime_stats.js
index db8516f..7e87c5f 100644
--- a/static/plugins/uptime_stats.js
+++ b/static/plugins/uptime_stats.js
@@ -10,7 +10,7 @@
     span.style.float = 'right';
     return span
 }
-async function render_dashboard_uptime(assignee, timespan) {
+async function render_dashboard_uptime() {
     if (!uptime_json) await seed_uptime_stats();
     document.getElementById('page_title').innerText = "Uptime Statistics";
     document.getElementById('page_description').innerText = "This is a general overview of the uptime statistics, as collected by our monitoring services. Global uptime figures are defined as the average uptime of all services within their respective service categories, or as a whole. On a monthly basis, we conduct nearly five million checks against our infrastructure, comprised of over 50 different service components and spread over more than 250 machines in data centers around the world. ";
