diff --git a/api/nginx.conf b/api/nginx.conf
index f4614f404..8b27ed26b 100644
--- a/api/nginx.conf
+++ b/api/nginx.conf
@@ -23,6 +23,11 @@ http {
client_max_body_size 512M;
+ server_tokens off;
+
+ add_header X-Content-Type-Options nosniff;
+ add_header Referrer-Policy strict-origin-when-cross-origin;
+
location / {
if ($request_uri ~ ^/(.*)\.html) {
return 302 /$1;
diff --git a/api/web/src/components/CloudTAK/Loading.vue b/api/web/src/components/CloudTAK/Loading.vue
index 7c8ec42e2..abd12be11 100644
--- a/api/web/src/components/CloudTAK/Loading.vue
+++ b/api/web/src/components/CloudTAK/Loading.vue
@@ -10,7 +10,7 @@
diff --git a/api/web/src/components/CloudTAK/util/Icons.vue b/api/web/src/components/CloudTAK/util/Icons.vue
index f057027f8..7ea5b7bd1 100644
--- a/api/web/src/components/CloudTAK/util/Icons.vue
+++ b/api/web/src/components/CloudTAK/util/Icons.vue
@@ -151,7 +151,10 @@ export default {
}
},
mounted: async function() {
- await this.fetchList();
+ // If the icon has a `:` it is part of an iconset, otherwise it is derived from the type
+ if (this.iconset.includes(':')) {
+ await this.fetchList();
+ }
},
methods: {
iconurl: function(icon) {
diff --git a/api/web/src/components/Loading.vue b/api/web/src/components/Loading.vue
index e1f2b7a3c..4a8e7bb71 100644
--- a/api/web/src/components/Loading.vue
+++ b/api/web/src/components/Loading.vue
@@ -13,7 +13,7 @@
diff --git a/api/web/src/components/Login.vue b/api/web/src/components/Login.vue
index bf5ca3c54..a0a395162 100644
--- a/api/web/src/components/Login.vue
+++ b/api/web/src/components/Login.vue
@@ -15,7 +15,7 @@
>
diff --git a/api/web/src/components/util/IconSelect.vue b/api/web/src/components/util/IconSelect.vue
index dbd549404..c374d3c41 100644
--- a/api/web/src/components/util/IconSelect.vue
+++ b/api/web/src/components/util/IconSelect.vue
@@ -219,12 +219,16 @@ export default {
await this.Iconlists();
},
},
- modelValue: function() {
- if (this.modelValue) this.fetch();
+ modelValue: async function() {
+ if (this.modelValue && this.modelValue.includes(":")) {
+ await this.fetch();
+ }
}
},
mounted: async function() {
- if (this.modelValue) await this.fetch();
+ if (this.modelValue && this.modelValue.includes(":")) {
+ await this.fetch();
+ }
await this.Iconlistsets();
await this.Iconlists();
},
diff --git a/api/web/src/components/util/LoginModal.vue b/api/web/src/components/util/LoginModal.vue
index 9e686fa7e..d14a8f144 100644
--- a/api/web/src/components/util/LoginModal.vue
+++ b/api/web/src/components/util/LoginModal.vue
@@ -7,7 +7,7 @@
>