diff --git a/CNAME b/CNAME
index a5348b076..442505166 100644
--- a/CNAME
+++ b/CNAME
@@ -1 +1 @@
-git.kuma.pet
\ No newline at end of file
+git.kuma.pet
diff --git a/package.json b/package.json
index e9b7003bd..1ba25baf9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
- "version": "1.15.1",
+ "version": "1.16.0-beta.0",
"license": "MIT",
"repository": {
"type": "git",
diff --git a/public/icon.svg b/public/icon.svg
index 825c344e2..9c0bc6cae 100644
--- a/public/icon.svg
+++ b/public/icon.svg
@@ -1,3 +1,3 @@
-
\ No newline at end of file
+
diff --git a/server/model/monitor.js b/server/model/monitor.js
index f2d16524b..eaafb7755 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -182,7 +182,7 @@ class Monitor extends BeanModel {
// undefined if not https
let tlsInfo = undefined;
- if (!previousBeat) {
+ if (!previousBeat || this.type === "push") {
previousBeat = await R.findOne("heartbeat", " monitor_id = ? ORDER BY time DESC", [
this.id,
]);
@@ -377,9 +377,6 @@ class Monitor extends BeanModel {
log.debug("monitor", "heartbeatCount" + heartbeatCount + " " + time);
if (heartbeatCount <= 0) {
- // Fix #922, since previous heartbeat could be inserted by api, it should get from database
- previousBeat = await Monitor.getPreviousHeartbeat(this.id);
-
throw new Error("No heartbeat in the time window");
} else {
// No need to insert successful heartbeat for push type, so end here
diff --git a/server/notification-providers/discord.js b/server/notification-providers/discord.js
index dd63e74b6..77b04d9d3 100644
--- a/server/notification-providers/discord.js
+++ b/server/notification-providers/discord.js
@@ -22,16 +22,23 @@ class Discord extends NotificationProvider {
return okMsg;
}
- let url;
-
- if (monitorJSON["type"] === "port") {
- url = monitorJSON["hostname"];
- if (monitorJSON["port"]) {
- url += ":" + monitorJSON["port"];
- }
-
- } else {
- url = monitorJSON["url"];
+ let address;
+
+ switch (monitorJSON["type"]) {
+ case "ping":
+ address = monitorJSON["hostname"];
+ break;
+ case "port":
+ case "dns":
+ case "steam":
+ address = monitorJSON["hostname"];
+ if (monitorJSON["port"]) {
+ address += ":" + monitorJSON["port"];
+ }
+ break;
+ default:
+ address = monitorJSON["url"];
+ break;
}
// If heartbeatJSON is not null, we go into the normal alerting loop.
@@ -48,8 +55,8 @@ class Discord extends NotificationProvider {
value: monitorJSON["name"],
},
{
- name: "Service URL",
- value: url,
+ name: "Service URL / Address",
+ value: address,
},
{
name: "Time (UTC)",
@@ -84,7 +91,7 @@ class Discord extends NotificationProvider {
},
{
name: "Service URL",
- value: url.startsWith("http") ? "[Visit Service](" + url + ")" : url,
+ value: address.startsWith("http") ? "[Visit Service](" + address + ")" : address,
},
{
name: "Time (UTC)",
diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue
index 245a8512c..ce888a989 100644
--- a/src/components/HeartbeatBar.vue
+++ b/src/components/HeartbeatBar.vue
@@ -168,7 +168,8 @@ export default {
getBeatTitle(beat) {
return `${this.$root.datetime(beat.time)}` + ((beat.msg) ? ` - ${beat.msg}` : "");
- }
+ },
+
},
};
diff --git a/src/components/PublicGroupList.vue b/src/components/PublicGroupList.vue
index df94eec98..98c0b7ff7 100644
--- a/src/components/PublicGroupList.vue
+++ b/src/components/PublicGroupList.vue
@@ -41,7 +41,7 @@