From 316a9df0fa70ae65847e7daed074b07323f77a4e Mon Sep 17 00:00:00 2001 From: thatInfrastructureGuy Date: Thu, 17 Dec 2020 20:26:45 -0800 Subject: [PATCH 01/16] Fix the wording uptime. Signed-off-by: thatInfrastructureGuy --- frontend/src/components/Service/ServiceTopStats.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/Service/ServiceTopStats.vue b/frontend/src/components/Service/ServiceTopStats.vue index 9104b549..e4058ebf 100644 --- a/frontend/src/components/Service/ServiceTopStats.vue +++ b/frontend/src/components/Service/ServiceTopStats.vue @@ -6,11 +6,11 @@
{{service.online_24_hours}} % - {{$t('last_uptime', [24, $tc('hour', 24)])}} + {{$t('last_uptime')}} 24 {{$t('hours')}}
{{service.online_7_days}} % - {{$t('last_uptime', [7, $tc('day', 7)])}} + {{$t('last_uptime')}} 7 {{$t('days')}}
From f6553893d7963fa4bae87ee630155962ca63f6a2 Mon Sep 17 00:00:00 2001 From: thatInfrastructureGuy Date: Fri, 18 Dec 2020 09:28:29 -0800 Subject: [PATCH 02/16] Use vue's i18n package to make words plural Signed-off-by: thatInfrastructureGuy --- frontend/src/components/Service/ServiceTopStats.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/Service/ServiceTopStats.vue b/frontend/src/components/Service/ServiceTopStats.vue index e4058ebf..9a9f7576 100644 --- a/frontend/src/components/Service/ServiceTopStats.vue +++ b/frontend/src/components/Service/ServiceTopStats.vue @@ -6,11 +6,11 @@
{{service.online_24_hours}} % - {{$t('last_uptime')}} 24 {{$t('hours')}} + {{$t('last_uptime')}} 24 {{$tc('hour', 24)}}
{{service.online_7_days}} % - {{$t('last_uptime')}} 7 {{$t('days')}} + {{$t('last_uptime')}} 7 {{$tc('day', 24)}}
From aeb5e9dad987047b1b926222c987ff5d4a29308f Mon Sep 17 00:00:00 2001 From: thatInfrastructureGuy Date: Fri, 18 Dec 2020 09:29:29 -0800 Subject: [PATCH 03/16] typo fix Signed-off-by: thatInfrastructureGuy --- frontend/src/components/Service/ServiceTopStats.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Service/ServiceTopStats.vue b/frontend/src/components/Service/ServiceTopStats.vue index 9a9f7576..0a9a48ef 100644 --- a/frontend/src/components/Service/ServiceTopStats.vue +++ b/frontend/src/components/Service/ServiceTopStats.vue @@ -10,7 +10,7 @@
{{service.online_7_days}} % - {{$t('last_uptime')}} 7 {{$tc('day', 24)}} + {{$t('last_uptime')}} 7 {{$tc('day', 7)}}
From 69e4d7aa392e11708a5ecdbed39cb68d822c9693 Mon Sep 17 00:00:00 2001 From: thatInfrastructureGuy Date: Mon, 21 Dec 2020 17:51:15 -0800 Subject: [PATCH 04/16] Add language plurals Signed-off-by: thatInfrastructureGuy --- frontend/src/languages/chinese.js | 6 +++--- frontend/src/languages/english.js | 12 ++++++------ frontend/src/languages/french.js | 10 +++++----- frontend/src/languages/german.js | 12 ++++++------ frontend/src/languages/italian.js | 10 +++++----- frontend/src/languages/japanese.js | 12 ++++++------ frontend/src/languages/korean.js | 4 ++-- frontend/src/languages/russian.js | 10 +++++----- frontend/src/languages/spanish.js | 12 ++++++------ 9 files changed, 44 insertions(+), 44 deletions(-) diff --git a/frontend/src/languages/chinese.js b/frontend/src/languages/chinese.js index e594cf48..f8ecb465 100755 --- a/frontend/src/languages/chinese.js +++ b/frontend/src/languages/chinese.js @@ -52,8 +52,8 @@ const chinese = { days_ago: "天前", today: "今天", week: "周", - month: "月份", - day: "日", + month: "月份 | 月数", + day: "日 | 天数", hour: "小时", minute: "分钟", failures_24_hours: "过去 24 小时失败", @@ -139,4 +139,4 @@ const chinese = { service_create: "创建服务" } -export default chinese \ No newline at end of file +export default chinese diff --git a/frontend/src/languages/english.js b/frontend/src/languages/english.js index cd34b643..b55843e1 100644 --- a/frontend/src/languages/english.js +++ b/frontend/src/languages/english.js @@ -51,11 +51,11 @@ const english = { service_offline_time: "Service has been offline for", days_ago: "Days Ago", today: "Today", - week: "Week", - month: "Month", - day: "Day", - hour: "Hour", - minute: "Minute", + week: "Week | Weeks", + month: "Month | Months", + day: "Day | Days", + hour: "Hour | Hours", + minute: "Minute | Minutes", failures_24_hours: "Failures last 24 hours", no_services: "You currently don't have any services!", theme: "Theme", @@ -139,4 +139,4 @@ const english = { service_create: "Create Service" } -export default english \ No newline at end of file +export default english diff --git a/frontend/src/languages/french.js b/frontend/src/languages/french.js index 4115f01c..52042165 100644 --- a/frontend/src/languages/french.js +++ b/frontend/src/languages/french.js @@ -51,11 +51,11 @@ const french = { service_offline_time: "Le service a été hors ligne pour", days_ago: "Il y a jours", today: "Aujourd'hui", - week: "Semaine", + week: "Semaine | Semaines", month: "Mois", - day: "Jour", - hour: "Heure", - minute: "Minute", + day: "Jour | Jours", + hour: "Heure | Heures", + minute: "Minute | Procès-Verbal", failures_24_hours: "Les échecs durent 24 heures", no_services: "Vous n'avez actuellement aucun service !", theme: "Thème", @@ -139,4 +139,4 @@ const french = { service_create: "Créer un service" } -export default french \ No newline at end of file +export default french diff --git a/frontend/src/languages/german.js b/frontend/src/languages/german.js index e9f80593..40c2b367 100644 --- a/frontend/src/languages/german.js +++ b/frontend/src/languages/german.js @@ -51,11 +51,11 @@ const german = { service_offline_time: "Dienst war offline für", days_ago: "Vor Tagen", today: "Heute", - week: "Woche", - month: "Monat", - day: "Tag", - hour: "Stunde", - minute: "Minute", + week: "Woche | Wochen", + month: "Monat | Monate", + day: "Tag | Tage", + hour: "Stunde | Stunden", + minute: "Minute | Minuten", failures_24_hours: "Ausfälle dauern 24 Stunden", no_services: "Sie haben derzeit keine Dienste!", theme: "Thema", @@ -139,4 +139,4 @@ const german = { service_create: "Dienst erstellen" } -export default german \ No newline at end of file +export default german diff --git a/frontend/src/languages/italian.js b/frontend/src/languages/italian.js index ccf9a417..fcdc38dd 100755 --- a/frontend/src/languages/italian.js +++ b/frontend/src/languages/italian.js @@ -51,10 +51,10 @@ const italian = { service_offline_time: "Il servizio è stato offline per", days_ago: "Giorni fa", today: "Oggi", - week: "Settimana", - month: "Mese", - day: "Giorno", - hour: "Ora", + week: "Settimana | Settimane", + month: "Mese | Mesi", + day: "Giorno | Giorni", + hour: "Ora | Ore", minute: "Minuti", failures_24_hours: "Errori nelle ultime 24 ore", no_services: "Al momento non hai alcun servizio!", @@ -139,4 +139,4 @@ const italian = { service_create: "Crea servizio" } -export default italian \ No newline at end of file +export default italian diff --git a/frontend/src/languages/japanese.js b/frontend/src/languages/japanese.js index eed5a90c..9c8fea1e 100755 --- a/frontend/src/languages/japanese.js +++ b/frontend/src/languages/japanese.js @@ -51,11 +51,11 @@ const japanese = { service_offline_time: "のサービスがオフラインになりました", days_ago: "日前", today: "今日", - week: "週数", - month: "月", - day: "日", - hour: "アワー", - minute: "分", + week: "週数 | 週", + month: "月 | ヶ月", + day: "日 | 日数", + hour: "アワー | 時間", + minute: "分 | 議事録", failures_24_hours: "過去 24 時間の障害", no_services: "現在、サービスをお持ちになりません。", theme: "テーマ", @@ -139,4 +139,4 @@ const japanese = { service_create: "サービスの作成" } -export default japanese \ No newline at end of file +export default japanese diff --git a/frontend/src/languages/korean.js b/frontend/src/languages/korean.js index 2cba872f..4edf140b 100755 --- a/frontend/src/languages/korean.js +++ b/frontend/src/languages/korean.js @@ -55,7 +55,7 @@ const korean = { month: "월", day: "일", hour: "시간", - minute: "분", + minute: "분 | 의사록", failures_24_hours: "지난 24시간 동안 장애 발생", no_services: "현재 서비스가 없습니다!", theme: "테마", @@ -139,4 +139,4 @@ const korean = { service_create: "서비스 만들기" } -export default korean \ No newline at end of file +export default korean diff --git a/frontend/src/languages/russian.js b/frontend/src/languages/russian.js index 4a578938..2b276258 100644 --- a/frontend/src/languages/russian.js +++ b/frontend/src/languages/russian.js @@ -52,10 +52,10 @@ const russian = { days_ago: "Дней назад", today: "Сегодня", week: "Недели", - month: "Месяц", - day: "День", - hour: "Час", - minute: "Минута", + month: "Месяц | Месяцы", + day: "День | Дней", + hour: "Час | Часов", + minute: "Минута | Минуты", failures_24_hours: "Сбои за 24 часа", no_services: "В настоящее время у вас нет услуг!", theme: "Тема", @@ -139,4 +139,4 @@ const russian = { service_create: "Создать службу" } -export default russian \ No newline at end of file +export default russian diff --git a/frontend/src/languages/spanish.js b/frontend/src/languages/spanish.js index ea6e4293..09ae1453 100644 --- a/frontend/src/languages/spanish.js +++ b/frontend/src/languages/spanish.js @@ -51,11 +51,11 @@ const spanish = { service_offline_time: "El servicio ha estado desconectado para", days_ago: "Hace días", today: "Hoy", - week: "Semana", - month: "Mes", - day: "Día", - hour: "Hora", - minute: "Minuto", + week: "Semana | Semanas", + month: "Mes | Meses", + day: "Día | Días", + hour: "Hora | Horas", + minute: "Minuto | Minutos", failures_24_hours: "Fallos de las últimas 24 horas", no_services: "¡Actualmente no tienes ningún servicio!", theme: "Tema", @@ -139,4 +139,4 @@ const spanish = { service_create: "Crear servicio" } -export default spanish \ No newline at end of file +export default spanish From 93a2e58ced72baa5eaa92a2217288e24c5582d2f Mon Sep 17 00:00:00 2001 From: Ashish Date: Mon, 28 Dec 2020 09:36:30 -0800 Subject: [PATCH 05/16] Fixed Minutes French translation --- frontend/src/languages/french.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/languages/french.js b/frontend/src/languages/french.js index 52042165..68b204a8 100644 --- a/frontend/src/languages/french.js +++ b/frontend/src/languages/french.js @@ -55,7 +55,7 @@ const french = { month: "Mois", day: "Jour | Jours", hour: "Heure | Heures", - minute: "Minute | Procès-Verbal", + minute: "Minute | Minutes", failures_24_hours: "Les échecs durent 24 heures", no_services: "Vous n'avez actuellement aucun service !", theme: "Thème", @@ -109,7 +109,7 @@ const french = { notify_before: "Avertir avant", message_create: "Créer une annonce", message_edit: "Modifier l'annonce", - minutes: "Procès-Verbal", + minutes: "Minutes", hours: "Heures", days: "Jours", user_create: "Créer un utilisateur", From cc701c3ae586008d09b050e59172b01f4462db5b Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 1 Oct 2021 21:53:41 +0100 Subject: [PATCH 06/16] Version bump. --- version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.txt b/version.txt index a8c28c37..d070d29d 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.90.78 +0.90.79 From 4049e84f5f1cc624f8b7ce845aafa97489f047cd Mon Sep 17 00:00:00 2001 From: glanchow Date: Tue, 2 Nov 2021 16:48:52 +0100 Subject: [PATCH 07/16] Reset notifyAfterCount on Success --- types/services/notifications.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/services/notifications.go b/types/services/notifications.go index f8ee67b1..ccf72703 100644 --- a/types/services/notifications.go +++ b/types/services/notifications.go @@ -44,7 +44,7 @@ func sendSuccess(s *Service) { } s.prevOnline = true - s.notifyAfterCount++ + s.notifyAfterCount = 0 } func sendFailure(s *Service, f *failures.Failure) { From a8a2ef85b7bbb322a6c3d68b816f3e061215b2c5 Mon Sep 17 00:00:00 2001 From: glanchow Date: Fri, 5 Nov 2021 11:54:04 +0100 Subject: [PATCH 08/16] Remove unnecessary notification counter increment --- types/services/notifications.go | 1 - 1 file changed, 1 deletion(-) diff --git a/types/services/notifications.go b/types/services/notifications.go index ccf72703..fd302434 100644 --- a/types/services/notifications.go +++ b/types/services/notifications.go @@ -80,7 +80,6 @@ func sendFailure(s *Service, f *failures.Failure) { } s.prevOnline = false - s.notifyAfterCount++ } func logMessage(method string, msg string, error error, onSuccesss bool, serviceId int64) { From 6a8026067f4f66459f35f9b0716249cd4cfe3c07 Mon Sep 17 00:00:00 2001 From: Guillaume LAN CHOW WING Date: Fri, 26 Nov 2021 12:01:51 +0100 Subject: [PATCH 09/16] Notifications afterCount reorder --- types/services/notifications.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/types/services/notifications.go b/types/services/notifications.go index fd302434..c8a71374 100644 --- a/types/services/notifications.go +++ b/types/services/notifications.go @@ -23,9 +23,12 @@ func sendSuccess(s *Service) { return } + s.notifyAfterCount = 0 + if s.prevOnline == s.Online { return } + s.prevOnline = true for _, n := range allNotifiers { notif := n.Select() @@ -42,9 +45,6 @@ func sendSuccess(s *Service) { notif.LastSent = utils.Now() } } - - s.prevOnline = true - s.notifyAfterCount = 0 } func sendFailure(s *Service, f *failures.Failure) { @@ -63,6 +63,8 @@ func sendFailure(s *Service, f *failures.Failure) { } } + s.prevOnline = false + for _, n := range allNotifiers { notif := n.Select() if notif.CanSend() { @@ -78,8 +80,6 @@ func sendFailure(s *Service, f *failures.Failure) { notif.LastSent = utils.Now() } } - - s.prevOnline = false } func logMessage(method string, msg string, error error, onSuccesss bool, serviceId int64) { From cc29c9b7dbb318692c6de3577d9ac180a69e87b6 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 16 Dec 2021 15:51:04 +0000 Subject: [PATCH 10/16] Delete statping_emailer.go Remove Notifier as it's broken. --- notifiers/statping_emailer.go | 106 ---------------------------------- 1 file changed, 106 deletions(-) delete mode 100644 notifiers/statping_emailer.go diff --git a/notifiers/statping_emailer.go b/notifiers/statping_emailer.go deleted file mode 100644 index c6026c0e..00000000 --- a/notifiers/statping_emailer.go +++ /dev/null @@ -1,106 +0,0 @@ -package notifiers - -import ( - "bytes" - "encoding/json" - "github.com/statping-ng/statping-ng/types/core" - "github.com/statping-ng/statping-ng/types/failures" - "github.com/statping-ng/statping-ng/types/notifications" - "github.com/statping-ng/statping-ng/types/notifier" - "github.com/statping-ng/statping-ng/types/services" - "github.com/statping-ng/statping-ng/utils" - "time" -) - -var _ notifier.Notifier = (*statpingEmailer)(nil) - -const ( - statpingEmailerName = "statping_emailer" - statpingEmailerHost = "https://news.statping.com" -) - -type statpingEmailer struct { - *notifications.Notification -} - -func (s *statpingEmailer) Select() *notifications.Notification { - return s.Notification -} - -func (s *statpingEmailer) Valid(values notifications.Values) error { - return nil -} - -var statpingMailer = &statpingEmailer{¬ifications.Notification{ - Method: statpingEmailerName, - Title: "Email", - Description: "Send an email when a service becomes offline or back online using Statping's email service. You will need to verify your email address.", - Author: "Hunter Long", - AuthorUrl: "https://github.com/hunterlong", - Delay: time.Duration(10 * time.Second), - Icon: "fas envelope-square", - Limits: 60, - Form: []notifications.NotificationForm{{ - Type: "email", - Title: "Send to Email Address", - Placeholder: "info@statping.com", - DbField: "Host", - Required: true, - }}}, -} - -// Send will send a HTTP Post to the slack webhooker API. It accepts type: string -func (s *statpingEmailer) sendStatpingEmail(msg statpingMail) (string, error) { - data, _ := json.Marshal(msg) - resp, _, err := utils.HttpRequest(statpingEmailerHost+"/notifier", "POST", "application/json", nil, bytes.NewBuffer(data), time.Duration(10*time.Second), true, nil) - if err != nil { - return "", err - } - return string(resp), nil -} - -func (s *statpingEmailer) OnTest() (string, error) { - return "", nil -} - -type statpingMail struct { - Email string `json:"email"` - Core core.Core `json:"core,omitempty"` - Service services.Service `json:"service,omitempty"` - Failure failures.Failure `json:"failure,omitempty"` -} - -// OnFailure will trigger failing service -func (s *statpingEmailer) OnFailure(srv services.Service, f failures.Failure) (string, error) { - ee := statpingMail{ - Email: s.Host.String, - Core: *core.App, - Service: srv, - Failure: f, - } - return s.sendStatpingEmail(ee) -} - -// OnSuccess will trigger successful service -func (s *statpingEmailer) OnSuccess(srv services.Service) (string, error) { - ee := statpingMail{ - Email: s.Host.String, - Core: *core.App, - Service: srv, - Failure: failures.Failure{}, - } - return s.sendStatpingEmail(ee) -} - -// OnSave will trigger when this notifier is saved -func (s *statpingEmailer) OnSave() (string, error) { - ee := statpingMail{ - Email: s.Host.String, - Core: *core.App, - Service: services.Service{}, - Failure: failures.Failure{}, - } - out, err := s.sendStatpingEmail(ee) - log.Println("statping emailer response", out) - return out, err -} From 4c1eaea964009268c5e3152124a590b0a306267d Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 16 Dec 2021 15:51:15 +0000 Subject: [PATCH 11/16] Delete statping_emailer_test.go Remove Notifier test as it's broken. --- notifiers/statping_emailer_test.go | 70 ------------------------------ 1 file changed, 70 deletions(-) delete mode 100644 notifiers/statping_emailer_test.go diff --git a/notifiers/statping_emailer_test.go b/notifiers/statping_emailer_test.go deleted file mode 100644 index 4c72b3f9..00000000 --- a/notifiers/statping_emailer_test.go +++ /dev/null @@ -1,70 +0,0 @@ -package notifiers - -import ( - "github.com/statping-ng/statping-ng/database" - "github.com/statping-ng/statping-ng/types/core" - "github.com/statping-ng/statping-ng/types/failures" - "github.com/statping-ng/statping-ng/types/notifications" - "github.com/statping-ng/statping-ng/types/null" - "github.com/statping-ng/statping-ng/types/services" - "github.com/statping-ng/statping-ng/utils" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "testing" - "time" -) - -var ( - testEmail string -) - -func TestStatpingEmailerNotifier(t *testing.T) { - err := utils.InitLogs() - require.Nil(t, err) - - t.Parallel() - db, err := database.OpenTester() - require.Nil(t, err) - db.AutoMigrate(¬ifications.Notification{}) - notifications.SetDB(db) - core.Example() - - testEmail = utils.Params.GetString("TEST_EMAIL") - statpingMailer.Host = null.NewNullString(testEmail) - statpingMailer.Enabled = null.NewNullBool(true) - - if testEmail == "" { - t.Log("statping email notifier testing skipped, missing TEST_EMAIL environment variable") - t.SkipNow() - } - - t.Run("Load statping emailer", func(t *testing.T) { - statpingMailer.Host = null.NewNullString(testEmail) - statpingMailer.Delay = time.Duration(100 * time.Millisecond) - statpingMailer.Limits = 3 - Add(statpingMailer) - assert.Equal(t, "Hunter Long", statpingMailer.Author) - assert.Equal(t, testEmail, statpingMailer.Host.String) - }) - - t.Run("statping emailer Within Limits", func(t *testing.T) { - ok := statpingMailer.CanSend() - assert.True(t, ok) - }) - - t.Run("statping emailer OnSave", func(t *testing.T) { - _, err := statpingMailer.OnSave() - assert.Nil(t, err) - }) - - t.Run("statping emailer OnFailure", func(t *testing.T) { - _, err := statpingMailer.OnFailure(services.Example(false), failures.Example()) - assert.Nil(t, err) - }) - - t.Run("statping emailer OnSuccess", func(t *testing.T) { - _, err := statpingMailer.OnSuccess(services.Example(true)) - assert.Nil(t, err) - }) - -} From 980612ecdd782097716d7d5de2ba9d83c2233255 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 16 Dec 2021 15:52:21 +0000 Subject: [PATCH 12/16] Update postman.json Remove Notifier test as it's broken. --- dev/postman.json | 52 +----------------------------------------------- 1 file changed, 1 insertion(+), 51 deletions(-) diff --git a/dev/postman.json b/dev/postman.json index 3e2f60ff..cd061232 100644 --- a/dev/postman.json +++ b/dev/postman.json @@ -4205,7 +4205,7 @@ "", "pm.test(\"View All Notifiers\", function () {", " var jsonData = pm.response.json();", - " pm.expect(jsonData.length).to.eql(14);", + " pm.expect(jsonData.length).to.eql(13);", "});" ], "type": "text/javascript" @@ -4598,56 +4598,6 @@ "body": "{\n \"success\": true,\n \"response\": \"There's been a glitch… | Slack

There’s been a glitch…

We’re not quite sure what went wrong. You can go back, or try looking on our Help Center if you need a hand.

\\n\\n\\n\\n\"\n}" } ] - }, - { - "name": "Statping Emailer", - "event": [ - { - "listen": "test", - "script": { - "id": "00f5c79e-e927-4305-b276-265b4d51b1e1", - "exec": [ - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "auth": { - "type": "noauth" - }, - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"email\": \"info@socialeck.com\",\n \"core\": {\n \"allow_reports\": true,\n \"created_at\": \"2020-06-21T05:00:12.735144154Z\",\n \"description\": \"This status page has sample data included\",\n \"domain\": \"http://localhost:8080\",\n \"footer\": null,\n \"language\": \"en\",\n \"migration_id\": 1592715612,\n \"name\": \"Statping Sample Data\",\n \"setup\": true,\n \"started_on\": \"2020-06-21T05:01:01.406134998Z\",\n \"updated_at\": \"2020-06-21T05:00:59.652965634Z\",\n \"using_cdn\": false,\n \"version\": \"0.90.54\"\n },\n \"service\": {\n \"name\": \"Statping Website\",\n \"domain\": \"https://statping.com\",\n \"last_error\": \"2020-06-21T01:01:01.406134998Z\",\n \"last_success\": \"2020-06-21T05:01:01.406134998Z\",\n \"expected\": \"\",\n \"online\": true,\n \"expected_status\": 200,\n \"check_interval\": 30,\n \"type\": \"http\",\n \"method\": \"GET\",\n \"post_data\": \"\",\n \"port\": 0,\n \"timeout\": 30,\n \"order_id\": 0\n },\n \"failure\": {\n \"created_at\": \"2020-06-21T05:01:00.67942464Z\",\n \"error_code\": 406,\n \"id\": 1613,\n \"issue\": \"HTTP Status Code 406 did not match 200\",\n \"method_id\": 0,\n \"ping\": 10889\n }\n}", - "options": { - "raw": {} - } - }, - "url": { - "raw": "https://news.statping.com/notifier", - "protocol": "https", - "host": [ - "news", - "statping", - "com" - ], - "path": [ - "notifier" - ] - }, - "description": "This endpoint will send emails from our servers rather than you using your own SMTP email settings. Once you save the Statping Emailer Notifier, we will send you a verification email. Once you've confirmed your email address you will recieve emails whenever your service status changes." - }, - "response": [] } ], "description": "Statping contains multiple notifiers that will send you a notification whenever a service become offline, or online. You can create your own 3rd party notifier by reading more on the [Notifiers Wiki](https://github.com/statping-ng/statping-ng/wiki/Notifiers) on the Github repo.", From 86ecefcef918b6cf8b782c6790c61b412ad7fcf5 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 16 Dec 2021 16:03:34 +0000 Subject: [PATCH 13/16] Update notifiers.go Removed statping emailer from notifier list. --- notifiers/notifiers.go | 1 - 1 file changed, 1 deletion(-) diff --git a/notifiers/notifiers.go b/notifiers/notifiers.go index 1ffc2848..fe740aed 100644 --- a/notifiers/notifiers.go +++ b/notifiers/notifiers.go @@ -36,7 +36,6 @@ func InitNotifiers() { Webhook, Mobile, Pushover, - statpingMailer, Gotify, AmazonSNS, ) From 461a0eeea3a8a6b3783ef17c50286e44f9dc4f3e Mon Sep 17 00:00:00 2001 From: Michael Krieger Date: Thu, 16 Dec 2021 15:52:30 -0500 Subject: [PATCH 14/16] Permit the healthcheck to work if a BASE_PATH is set You can set the environment variable BASE_PATH=statping so that https://yoursite.domain:1234/statping/ is how the app is accessed. Note that a forward-slash is not used (which would otherwise allow just the variable to be dropped in). In order to do that, the healthcheck, which does not obey BASE_PATH, must be disabled. This should make it continue to work. --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ca503f78..18aac4fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,9 +60,10 @@ ENV IS_DOCKER=true ENV SASS=/usr/local/bin/sassc ENV STATPING_DIR=/app ENV PORT=8080 +ENV BASE_PATH="" EXPOSE $PORT -HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD curl -s "http://localhost:$PORT/health" | jq -r -e ".online==true" +HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD if [ -z "$BASE_PATH" ]; then HEALTHPATH="/health"; else HEALTHPATH="/$BASE_PATH/health" ; fi && curl -s "http://localhost:80$HEALTHPATH" | jq -r -e ".online==true" CMD statping --port $PORT From e59fc1f5a5785c9d2e76c923545715ce36b49bce Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Fri, 31 Dec 2021 13:48:40 +0300 Subject: [PATCH 15/16] Update russian.js Since Russian is my native language, I have corrected some incorrect phrases, declensions and cases to better display them in "statping-ng". --- frontend/src/languages/russian.js | 64 +++++++++++++++---------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/frontend/src/languages/russian.js b/frontend/src/languages/russian.js index 2b276258..90288d44 100644 --- a/frontend/src/languages/russian.js +++ b/frontend/src/languages/russian.js @@ -1,12 +1,12 @@ const russian = { settings: "Настройки", - dashboard: "Панель управления", - services: "служб", - service: "обслуживания", + dashboard: "Панель", + services: "Сервисы", + service: "Сервис", failures: "Сбои", users: "Пользователи", login: "Войти", - logout: "Выход из системы", + logout: "Выход", online: "Онлайн", offline: "Оффлайн", configs: "Конфигурация", @@ -22,33 +22,33 @@ const russian = { regen_api: "Регенерация ключей API", regen_desc: "API Secret используется для чтения создания обновлений и удаления маршрутов. Вы можете регенерировать ключи API, если вам нужно.", visibility: "Видимость", - group: "Группы", + group: "Группа", group_create: "Создать группу", group_update: "Обновить группу", - group_public_desc: "Показать групповые услуги публике", + group_public_desc: "Показавать группу публично всем", groups: "Группы", no_group: "Нет группы", - public: "Общественный", - private: "Частные", + public: "Публичный", + private: "Приватный", announcements: "Объявления", - notifiers: "Уведомлятели", + notifiers: "Способы уведомлений", logs: "Журналы", - help: "Помогите", + help: "Помощь", type: "Тип", edit: "Редактировать", update: "Обновить", - create: "Создайте", + create: "Создать", view: "Посмотреть", save: "Сохранить", title: "Название", - status: "положению", - begins: "Начинается", - total_services: "Всего услуг", + status: "Статус", + begins: "Начало", + total_services: "Всего сервисов", online_services: "Онлайн-сервисы", request_timeout: "Тайм-аут запроса", service_never_online: "Сервис никогда не был в сети", service_online_check: "Проверено онлайн", - service_offline_time: "Служба была отключена для", + service_offline_time: "Сервис был отключен для", days_ago: "Дней назад", today: "Сегодня", week: "Недели", @@ -57,7 +57,7 @@ const russian = { hour: "Час | Часов", minute: "Минута | Минуты", failures_24_hours: "Сбои за 24 часа", - no_services: "В настоящее время у вас нет услуг!", + no_services: "В настоящее время у вас нет сервисов!", theme: "Тема", cache: "Кэш", authentication: "Проверка подлинности", @@ -76,20 +76,20 @@ const russian = { db_password: "Пароль базы данных", db_database: "Имя базы данных", send_reports: "Отправка отчетов об ошибках", - send_reports_desc: "Отправить ошибки в Statping для отладки", + send_reports_desc: "Отправлять ошибки в Statping для отладки", project_name: "Имя страницы состояния", description: "Описание", domain: "Домен", enable_cdn: "Включить CDN", - newsletter: "Информационный бюллетень", - newsletter_note: "Мы отправим вам только сообщение по электронной почте для серьезных изменений", + newsletter: "Рассылка новостей", + newsletter_note: "Мы отправим вам электронное письмо только в случае серьезных изменений", loading: "Загрузка", save_settings: "Сохранить настройки", average_response: "Средний ответ", last_uptime: "Время безотказной работы", sign_in: "Войти", last_login: "Последний вход", - admin: "Администратор", + admin: "Админ", user: "Пользователя", failed: "Не удалось", wrong_login: "Неверное имя пользователя или пароль", @@ -99,7 +99,7 @@ const russian = { assets_btn: "Включить локальные ресурсы", assets_loading: "Создание компонентов", assets_dir: "Каталог активов", - footer: "Подколонтитул", + footer: "Нижний колонтитул (footer)", footer_notes: "Вы можете использовать HTML-теги в нижнем колонтитуле", global_announcement: "Глобальное объявление", announcement_date: "Диапазон дат объявления", @@ -114,29 +114,29 @@ const russian = { days: "Дни", user_create: "Создать пользователя", user_update: "Обновить пользователя", - administrator: "Администратора", - checkins: "Чеккинс", + administrator: "Администратор", + checkins: "Проверки", incidents: "Инциденты", service_info: "Информация о сервисе", - service_name: "Имя службы", - service_type: "Тип услуги", + service_name: "Имя сервиса", + service_type: "Тип сервиса", permalink: "URL-адрес Постоянной ссылки", - service_public: "Государственная служба", + service_public: "Видимость публично", check_interval: "Интервал проверки", - service_endpoint: "Конечная точка службы", - service_check: "Тип проверки службы", + service_endpoint: "Адрес проверяемого хоста", + service_check: "Тип проверки", service_timeout: "Тайм-аут запроса", expected_resp: "Ожидаемый ответ", expected_code: "Код ожидаемого состояния", - follow_redir: "Следуйте за перенаправленными", - verify_ssl: "Проверить SSL", + follow_redir: "Вкл. следование по редиректам", + verify_ssl: "Проверять SSL", tls_cert: "Использовать сертификат TLS", notification_opts: "Параметры уведомления", notifications_enable: "Включить уведомления", notify_after: "Уведомлять после сбоев", notify_all: "Уведомлять обо всех изменениях", - service_update: "Обновить службу", - service_create: "Создать службу" + service_update: "Обновить сервис", + service_create: "Создать сервис" } export default russian From 31ae62c6a0c1a930e9404208cc07e5cbf3e7c803 Mon Sep 17 00:00:00 2001 From: Adam Boutcher Date: Mon, 24 Jan 2022 11:26:16 +0000 Subject: [PATCH 16/16] Updated changelog - ready to go unstable --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b80f70fe..5dc37530 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# 0.90.79 (01-24-2022) +- Updated Russian Language - Thanks meatlayer +- Docker file fix for BASE_PATH and health checks - Thanks michaelkrieger +- Removed statping emailer notifier (not SMTP Mail) +- Fixes for notification failures (Issue statping#911) - Thanks glanchow +- Updated Home page uptime wording (24hr/7days) - Thanks Jonathanrbarney & thatInfrastructureGuy +- [GITHUB] Removed mailer tests + # 0.90.78 (09-15-2021) - HTTP Webhooks accept multiple HTTP Headers - Modified Telegram notifier to allow chat_ids