@ -29,16 +29,34 @@ The frontend code build into "dist" directory. The server (express.js) exposes t
Generally, if the pull request is working fine and it do not affect any existing logic, workflow and perfomance, I will merge into the master branch once it is tested.
If you are not sure, feel free to create an empty pull request draft first.
If you are not sure whether I will accept your pull request, feel free to create an empty pull request draft first.
1. Create a pull request: https://github.com/louislam/uptime-kuma/compare
1. Write a proper description
1. Click "Change to draft"
### Pull Request Examples
Here are some example situations in the past.
#### ✅ High - Medium Priority
Easy to review, no breaking change and not touching the existing code
- Add a new notification
- Add a chart
- Fix a bug
- Translations
- Add a independent new feature
#### *️⃣ Requires one more reviewer
@ -46,6 +64,17 @@ I do not have such knowledge to test it.
- Add k8s supports
#### ⚠ Low Priority - Harsh Mode
Some pull requests are required to modifiy the core. To be honest, I do not want anyone to try to do that, because it would spend a lot of your time. I will review your pull request harshly. Also you may need to write a lot of unit tests to ensure that there is no breaking change.
- Touch large parts of code of any very important features
- Touch monitoring logic
- Drop a table or drop a column for any reason
- Touch the entry point of Docker or Node.js
- Modifiy auth
#### *️⃣ Low Priority
It changed my current workflow and require further studies.
@ -54,6 +83,7 @@ It changed my current workflow and require further studies.
#### ❌ Won't Merge
- Any breaking changes
- Duplicated pull request
- Buggy
- Existing logic is completely modified or deleted
octopushPhoneNumber:"Phone number (intl format, eg : +33612345678) ",
@ -280,7 +281,7 @@ export default {
"Icon URL":"Icon URL",
aboutIconURL:"You can provide a link to a picture in \"Icon URL\" to override the default profile picture. Will not be used if Icon Emoji is set.",
aboutMattermostChannelName:"You can override the default channel that the Webhook posts to by entering the channel name into \"Channel Name\" field. This needs to be enabled in the Mattermost Webhook settings. Ex: #other-channel",
"matrix":"Matrix",
matrix:"Matrix",
promosmsTypeEco:"SMS ECO - cheap but slow and often overloaded. Limited only to Polish recipients.",
promosmsTypeFlash:"SMS FLASH - Message will automatically show on recipient device. Limited only to Polish recipients.",
promosmsTypeFull:"SMS FULL - Premium tier of SMS, You can use your Sender Name (You need to register name first). Reliable for alerts.",
@ -292,14 +293,13 @@ export default {
"Internal Room Id":"Internal Room ID",
matrixDesc1:"You can find the internal room ID by looking in the advanced section of the room settings in your Matrix client. It should look like !QMdRCpUIfLwsfjxye6:home.server.",
matrixDesc2:"It is highly recommended you create a new user and do not use your own Matrix user's access token as it will allow full access to your account and all the rooms you joined. Instead, create a new user and only invite it to the room that you want to receive the notification in. You can get the access token by running {0}",
// End notification form
Method:"Method",
Body:"Body",
Headers:"Headers",
PushUrl:"Push URL",
HeadersInvalidFormat:"The request headers are not valid JSON: ",
BodyInvalidFormat:"The request body is not valid JSON: ",
"Monitor History":"Monitor History:",
"Monitor History":"Monitor History",
clearDataOlderThan:"Keep monitor history data for {0} days.",
wayToGetTeamsURL:"Vous pouvez apprendre comment créer un Webhook {0}.",
"signal":"Signal",
"Number":"Numéro",
"Recipients":"Destinataires",
signal:"Signal",
Number:"Numéro",
Recipients:"Destinataires",
needSignalAPI:"Vous avez besoin d'un client Signal avec l'API REST.",
wayToCheckSignalURL:"Vous pouvez regarder l'URL sur comment le mettre en place :",
signalImportant:"IMPORTANT: Vous ne pouvez pas mixer les groupes et les numéros en destinataires !",
"gotify":"Gotify",
gotify:"Gotify",
"Application Token":"Application Token",
"Server URL":"Server URL",
"Priority":"Priorité",
"slack":"Slack",
Priority:"Priorité",
slack:"Slack",
"Icon Emoji":"Icon Emoji",
"Channel Name":"Nom du salon",
"Uptime Kuma URL":"Uptime Kuma URL",
@ -242,7 +241,7 @@ export default {
line:"Line Messenger",
mattermost:"Mattermost",
"User Key":"Clé d'utilisateur",
"Device":"Appareil",
Device:"Appareil",
"Message Title":"Titre du message",
"Notification Sound":"Son de notification",
"More info on:":"Plus d'informations sur: {0}",
@ -273,12 +272,11 @@ export default {
"Icon URL":"Icon URL",
aboutIconURL:"Vous pouvez mettre un lien vers l'image dans \"Icon URL\" pour remplacer l'image de profil par défaut. Ne sera pas utilisé si Icon Emoji est défini.",
aboutMattermostChannelName:"Vous pouvez remplacer le salon par défaut que le Webhook utilise en mettant le nom du salon dans le champ \"Channel Name\". Vous aurez besoin de l'activer depuis les paramètres de Mattermost. Ex : #autre-salon",
"matrix":"Matrix",
matrix:"Matrix",
promosmsTypeEco:"SMS ECO - Pas cher mais lent et souvent surchargé. Limité uniquement aux déstinataires Polonais.",
promosmsTypeFlash:"SMS FLASH - Le message sera automatiquement affiché sur l'appareil du destinataire. Limité uniquement aux déstinataires Polonais.",
promosmsTypeFull:"SMS FULL - Version Premium des SMS, Vous pouvez mettre le nom de l'expéditeur (Vous devez vous enregistrer avant). Fiable pour les alertes.",
promosmsTypeSpeed:"SMS SPEED - La plus haute des priorités dans le système. Très rapide et fiable mais cher (environ le double du prix d'un SMS FULL).",
promosmsPhoneNumber:"Numéro de téléphone (Poiur les déstinataires Polonais, vous pouvez enlever les codes interna.)",
promosmsSMSSender:"SMS Expéditeur : Nom pré-enregistré ou l'un de base: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
wayToGetTeamsURL:"Anda dapat mempelajari cara membuat url webhook {0}.",
"signal":"Sinyal",
"Number":"Nomer",
"Recipients":"Penerima",
signal:"Sinyal",
Number:"Nomer",
Recipients:"Penerima",
needSignalAPI:"Anda harus memiliki klien sinyal dengan REST API.",
wayToCheckSignalURL:"Anda dapat memeriksa url ini untuk melihat cara menyiapkannya:",
signalImportant:"PENTING: Anda tidak dapat mencampur grup dan nomor di penerima!",
"gotify":"Gotify",
gotify:"Gotify",
"Application Token":"Token Aplikasi",
"Server URL":"URL Peladen",
"Priority":"Prioritas",
"slack":"Slack",
Priority:"Prioritas",
slack:"Slack",
"Icon Emoji":"Ikon Emoji",
"Channel Name":"Nama Saluran",
"Uptime Kuma URL":"Uptime Kuma URL",
@ -242,7 +241,7 @@ export default {
line:"Line Messenger",
mattermost:"Mattermost",
"User Key":"Kunci pengguna",
"Device":"Perangkat",
Device:"Perangkat",
"Message Title":"Judul Pesan",
"Notification Sound":"Suara Nofifikasi",
"More info on:":"Info lebih lanjut tentang: {0}",
@ -273,7 +272,7 @@ export default {
"Icon URL":"Icon URL",
aboutIconURL:"Anda dapat memberikan tautan ke gambar di \"Icon URL\" untuk mengganti gambar profil bawaan. Tidak akan digunakan jika Ikon Emoji diset.",
aboutMattermostChannelName:"Anda dapat mengganti saluran bawaan tujuan posting webhook dengan memasukkan nama saluran ke dalam Kolom \"Channel Name\". Ini perlu diaktifkan di pengaturan webhook Mattermost. contoh: #other-channel",
"matrix":"Matrix",
matrix:"Matrix",
promosmsTypeEco:"SMS ECO - murah tapi lambat dan sering kelebihan beban. Terbatas hanya untuk penerima Polandia.",
promosmsTypeFlash:"SMS FLASH - Pesan akan otomatis muncul di perangkat penerima. Terbatas hanya untuk penerima Polandia.",
promosmsTypeFull:"SMS FULL - SMS tingkat premium, Anda dapat menggunakan Nama Pengirim Anda (Anda harus mendaftarkan nama terlebih dahulu). Dapat diAndalkan untuk peringatan.",
@ -281,5 +280,4 @@ export default {
promosmsPhoneNumber:"Nomor telepon (untuk penerima Polandia Anda dapat melewati kode area)",
promosmsSMSSender:"Nama Pengirim SMS : Nama pra-registrasi atau salah satu bawaan: InfoSMS, Info SMS, MaxSMS, INFO, SMS",
"Hello @everyone is...":"Hei {'@'}everyone det er...",
"teams":"Microsoft Teams",
teams:"Microsoft Teams",
"Webhook URL":"Webhook URL",
wayToGetTeamsURL:"Du kan lære hvordan du oppretter en webhook-URL {0}.",
"signal":"Signal",
"Number":"Nummer",
"Recipients":"Mottakere",
signal:"Signal",
Number:"Nummer",
Recipients:"Mottakere",
needSignalAPI:"Du må ha en Signal-klient med REST API.",
wayToCheckSignalURL:"Du kan sjekke denne nettadressen for å se hvordan du konfigurerer en:",
signalImportant:"VIKTIG: Du kan ikke blande grupper og nummere i mottakere!",
"gotify":"Gotify",
gotify:"Gotify",
"Application Token":"Application Token",
"Server URL":"Server URL",
"Priority":"Prioritet",
"slack":"Slack",
Priority:"Prioritet",
slack:"Slack",
"Icon Emoji":"Icon Emoji",
"Channel Name":"Kanal navn",
"Uptime Kuma URL":"Uptime Kuma URL",
@ -242,7 +241,7 @@ export default {
line:"Line Messenger",
mattermost:"Mattermost",
"User Key":"User Key",
"Device":"Device",
Device:"Device",
"Message Title":"Message Title",
"Notification Sound":"Notification Sound",
"More info on:":"More info on: {0}",
@ -273,12 +272,11 @@ export default {
"Icon URL":"Icon URL",
aboutIconURL:"You can provide a link to a picture in \"Icon URL\" to override the default profile picture. Will not be used if Icon Emoji is set.",
aboutMattermostChannelName:"You can override the default channel that webhook posts to by entering the channel name into \"Channel Name\" field. This needs to be enabled in Mattermost webhook settings. Ex: #other-channel",
"matrix":"Matrix",
matrix:"Matrix",
promosmsTypeEco:"SMS ECO - cheap but slow and often overloaded. Limited only to Polish recipients.",
promosmsTypeFlash:"SMS FLASH - Message will automatically show on recipient device. Limited only to Polish recipients.",
promosmsTypeFull:"SMS FULL - Premium tier of SMS, You can use Your Sender Name (You need to register name first). Reliable for alerts.",
promosmsTypeSpeed:"SMS SPEED - Highest priority in system. Very quick and reliable but costly (about twice of SMS FULL price).",
promosmsPhoneNumber:"Phone number (for Polish recipient You can skip area codes)",
promosmsSMSSender:"SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
wayToGetTelegramToken:"Token można uzyskać z {0}.",
"Chat ID":"Identyfikator Czatu",
@ -191,12 +190,12 @@ export default {
wayToGetTelegramChatID:"Możesz uzyskać swój identyfikator czatu, wysyłając wiadomość do bota i przechodząc pod ten adres URL, aby wyświetlić identyfikator czatu:",
"YOUR BOT TOKEN HERE":"TWOJ TOKEN BOTA",
chatIDNotFound:"Identyfikator czatu nie znaleziony, najpierw napisz do bota",
"webhook":"Webhook",
webhook:"Webhook",
"Post URL":"Adres URL",
"Content Type":"Rodzaj danych",
webhookJsonDesc:"{0} jest dobry w przypadku serwerów HTTP, takich jak express.js",
webhookFormDataDesc:"{multipart} jest dobry dla PHP, musisz jedynie przetowrzyć dane przez {decodeFunction}",
"smtp":"Email (SMTP)",
smtp:"Email (SMTP)",
secureOptionNone:"Brak / STARTTLS (25, 587)",
secureOptionTLS:"TLS (465)",
"Ignore TLS Error":"Zignrouj Błędy TLS",
@ -204,26 +203,26 @@ export default {
"To Email":"Odbiorca (DO)",
smtpCC:"DW",
smtpBCC:"UDW",
"discord":"Discord",
discord:"Discord",
"Discord Webhook URL":"URL Webhook Discorda",
wayToGetDiscordURL:"Możesz go uzyskać przechodząc do Ustawienia Serwera -> Integracje -> Tworzenie Webhooka",
"Bot Display Name":"Wyświetlana Nazwa Bota",
"Prefix Custom Message":"Własny Początek Wiadomości",
"Hello @everyone is...":"Hej {'@'}everyone ...",
"teams":"Microsoft Teams",
teams:"Microsoft Teams",
"Webhook URL":"URL Webhooka",
wayToGetTeamsURL:"You can learn how to create a webhook url {0}.",
"signal":"Signal",
"Number":"Numer",
"Recipients":"Odbiorcy",
signal:"Signal",
Number:"Numer",
Recipients:"Odbiorcy",
needSignalAPI:"Musisz posiadać klienta Signal z REST API.",
wayToCheckSignalURL:"W celu dowiedzenia się, jak go skonfigurować, odwiedź poniższy link:",
signalImportant:"UWAGA: Nie można mieszać nazw grup i numerów odbiorców!",
"gotify":"Gotify",
gotify:"Gotify",
"Application Token":"Token Aplikacji",
"Server URL":"Server URL",
"Priority":"Priorytet",
"slack":"Slack",
Priority:"Priorytet",
slack:"Slack",
"Icon Emoji":"Ikona Emoji",
"Channel Name":"Nazwa Kanału",
"Uptime Kuma URL":"Adres Uptime Kuma",
@ -242,7 +241,7 @@ export default {
line:"Line Messenger",
mattermost:"Mattermost",
"User Key":"Klucz Użytkownika",
"Device":"Urządzenie",
Device:"Urządzenie",
"Message Title":"Tytuł Wiadomości",
"Notification Sound":"Dźwięk Powiadomienia",
"More info on:":"Więcej informacji na: {0}",
@ -273,12 +272,36 @@ export default {
"Icon URL":"Adres Ikony",
aboutIconURL:"Możesz podać link do zdjęcia w \"Adres URL ikony\", aby zastąpić domyślne zdjęcie profilowe. Nie będzie używany, jeśli ustawiona jest ikona Emoji.",
aboutMattermostChannelName:"Możesz zastąpić domyślny kanał, na którym publikowane są posty webhooka, wpisując nazwę kanału w polu \"Nazwa Kanału\". Należy to włączyć w ustawieniach webhooka Mattermost. Np.: #inny-kanał",
"matrix":"Matrix",
matrix:"Matrix",
promosmsTypeEco:"SMS ECO - Tanie, lecz wolne. Dostępne tylko w Polsce",
promosmsTypeFlash:"SMS FLASH - Wiadomość automatycznie wyświetli się na urządzeniu. Dostępne tylko w Polsce.",
promosmsTypeFull:"SMS FULL - Szybkie i dostępne międzynarodowo. Wersja premium usługi, która pozwala min. ustawić własną nazwę nadawcy.",
promosmsTypeSpeed:"SMS SPEED - Wysyłka priorytetowa, posiada wszystkie zalety SMS FULL",
promosmsPhoneNumber:"Numer Odbiorcy",
promosmsSMSSender:"Nadawca SMS (Wcześniej zatwierdzone nazwy z panelu PromoSMS)",
// End notification form
"Primary Base URL":"Główny URL",
"Push URL":"Push URL",
needPushEvery:"Powinieneś wywoływać ten URL co {0} sekund",
pushOptionalParams:"Parametry opcjonalne: {0}",
emailCustomSubject:"Niestandardowy temat",
checkPrice:"Sprawdź ceny {0}:",
octopushLegacyHint:"Czy używasz starszej wersji Octopush (2011-2020) czy nowej wersji?",
"Feishu WebHookUrl":"Feishu WebHookURL",
matrixHomeserverURL:"Adres URL serwera domowego (z http(s):// i opcjonalnie port)",
"Internal Room Id":"Wewnętrzne ID pokoju",
matrixDesc1:"Możesz znaleźć wewnętrzne ID pokoju patrząc w zaawansowanej sekcji ustawień pokoju w twoim kliencie Matrix. Powinien on wyglądać jak !QMdRCpUIfLwsfjxye6:home.server.",
matrixDesc2:"Jest wysoce zalecane, abyś stworzył nowego użytkownika i nie używał tokena dostępu swojego użytkownika Matrix, ponieważ pozwoli on na pełny dostęp do twojego konta i wszystkich pokoi, do których dołączyłeś. Zamiast tego, utwórz nowego użytkownika i zaproś go tylko do pokoju, w którym chcesz otrzymywać powiadomienia. Możesz uzyskać token dostępu przez uruchomienie {0}",
Method:"Metoda",
Body:"Treść",
Headers:"Nagłówki",
PushUrl:"Push URL",
HeadersInvalidFormat:"Nagłówki żądania nie są w poprawnym formacie JSON: ",
BodyInvalidFormat:"Treść żądania nie jest w poprawnym formacie JSON: ",
"Monitor History":"Historia monitorów",
clearDataOlderThan:"Przechowuj dane dotyczące historii monitorowania {0} dni.",
PasswordsDoNotMatch:"Hasła nie pasują.",
records:"rekordy",
"One record":"Jeden rekord",
"Showing {from} to {to} of {count} records":"Wyświetlanie {from} do {to} z {count} rekordów",
steamApiKeyDescription:"Do monitorowania serwera gier Steam potrzebny jest klucz Steam Web-API. Możesz zarejestrować swój klucz API tutaj: ",
"Prefix Custom Message":"Tiền tố tin nhắn tuỳ chọn",
"Hello @everyone is...":"Xin chào {'@'} mọi người đang...",
"teams":"Microsoft Teams",
teams:"Microsoft Teams",
"Webhook URL":"Webhook URL",
wayToGetTeamsURL:"Bạn có thể học cách tạo webhook url {0}.",
"signal":"Signal",
"Number":"Số",
"Recipients":"Người nhận",
signal:"Signal",
Number:"Số",
Recipients:"Người nhận",
needSignalAPI:"Bạn cần một tín hiệu client với REST API.",
wayToCheckSignalURL:"Bạn có thể kiểm tra url này để xem cách thiết lập:",
signalImportant:"QUAN TRỌNG: Bạn không thể kết hợp các nhóm và số trong người nhận!",
"gotify":"Gotify",
gotify:"Gotify",
"Application Token":"Mã Token ứng dụng",
"Server URL":"URL máy chủ",
"Priority":"Mức ưu tiên",
"slack":"Slack",
Priority:"Mức ưu tiên",
slack:"Slack",
"Icon Emoji":"Icon Emoji",
"Channel Name":"Tên Channel",
"Uptime Kuma URL":"Uptime Kuma URL",
@ -242,7 +241,7 @@ export default {
line:"Line Messenger",
mattermost:"Mattermost",
"User Key":"User Key",
"Device":"Thiết bị",
Device:"Thiết bị",
"Message Title":"Tiêu đề tin nhắn",
"Notification Sound":"Âm thanh thông báo",
"More info on:":"Thông tin chi tiết tại: {0}",
@ -273,7 +272,7 @@ export default {
"Icon URL":"Icon URL",
aboutIconURL:"Bạn có thể cung cấp liên kết đến ảnh trong \"Icon URL\" để ghi đè ảnh hồ sơ mặc định. Sẽ không được sử dụng nếu Biểu tượng cảm xúc được thiết lập.",
aboutMattermostChannelName:"Bạn có thể ghi đè kênh mặc định mà webhook đăng lên bằng cách nhập tên kênh vào trường \"Channel Name\". Điều này cần được bật trong cài đặt Mattermost webhook. Ví dụ: #other-channel",
"matrix":"Matrix",
matrix:"Matrix",
promosmsTypeEco:"SMS ECO - rẻ nhưng chậm và thường xuyên quá tải. Chỉ dành cho người Ba Lan.",
promosmsTypeFlash:"SMS FLASH - Tin nhắn sẽ tự động hiển thị trên thiết bị của người nhận. Chỉ dành cho người Ba Lan.",
promosmsTypeFull:"SMS FULL - SMS cao cấp, Bạn có thể sử dụng Tên Người gửi (Bạn cần đăng ký tên trước). Đáng tin cậy cho các cảnh báo.",
@ -281,5 +280,4 @@ export default {
promosmsPhoneNumber:"Số điện thoại (Bỏ qua mã vùng với người Ba Lan)",
promosmsSMSSender:"SMS Tên người gửi: Tên đã đăng ký trước hoặc tên mặc định: InfoSMS, SMS Info, MaxSMS, INFO, SMS",