diff --git a/.dockerignore b/.dockerignore
index 6e11b36b9..4a63437a4 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,5 +1,4 @@
/.idea
-/dist
/node_modules
/data
/out
diff --git a/.github/ISSUE_TEMPLATE/ask-for-help.yaml b/.github/ISSUE_TEMPLATE/ask-for-help.yaml
index dd1bcaf76..3442e8b73 100644
--- a/.github/ISSUE_TEMPLATE/ask-for-help.yaml
+++ b/.github/ISSUE_TEMPLATE/ask-for-help.yaml
@@ -1,8 +1,23 @@
name: "❓ Ask for help"
description: "Submit any question related to Uptime Kuma"
-title: "[Help]:
"
+#title: "[Help] "
labels: [help]
body:
+ - type: checkboxes
+ id: no-duplicate-issues
+ attributes:
+ label: "⚠️ Please verify that this bug has NOT been raised before."
+ description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
+ options:
+ - label: "I checked and didn't find similar issue"
+ required: true
+ - type: checkboxes
+ attributes:
+ label: "🛡️ Security Policy"
+ description: Please review the security policy before reporting security related issues/bugs.
+ options:
+ - label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
+ required: true
- type: textarea
id: steps-to-reproduce
validations:
@@ -14,17 +29,17 @@ body:
- type: input
id: uptime-kuma-version
attributes:
- label: "🐻 Uptime-Kuma version"
- description: "Which version of Uptime-Kuma are you running?"
- placeholder: "Ex. 1.9.x"
+ label: "🐻 Uptime-Kuma Version"
+ description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1"
+ placeholder: "Ex. 1.10.0"
validations:
required: true
- type: input
id: operating-system
attributes:
- label: "💻 Operating System"
+ label: "💻 Operating System and Arch"
description: "Which OS is your server/device running on?"
- placeholder: "Ex. Ubuntu 20.04"
+ placeholder: "Ex. Ubuntu 20.04 x86"
validations:
required: true
- type: input
@@ -32,23 +47,15 @@ body:
attributes:
label: "🌐 Browser"
description: "Which browser are you running on?"
- placeholder: "Ex. Firefox"
+ placeholder: "Ex. Google Chrome 95.0.4638.69"
validations:
required: true
- type: input
id: docker-version
attributes:
- label: "🐋 Docker"
+ label: "🐋 Docker Version"
description: "If running with Docker, which version are you running?"
- placeholder: "Ex. 20.10.9"
- validations:
- required: false
- - type: input
- id: docker-image-tag
- attributes:
- label: "🏷️ Docker Image Tag"
- description: "Which Docker image tag are you using? If running '1' or 'latest', please specify image hash."
- placeholder: "Ex. 1.9.1"
+ placeholder: "Ex. Docker 20.10.9 / K8S / Podman"
validations:
required: false
- type: input
@@ -56,21 +63,6 @@ body:
attributes:
label: "🟩 NodeJS Version"
description: "If running with Node.js? which version are you running?"
- placeholder: "14.x"
+ placeholder: "Ex. 14.18.0"
validations:
required: false
- - type: checkboxes
- id: no-duplicate-issues
- attributes:
- label: "👀 Have you spent some time to check if this question has been raised before?"
- description: "Please search in the issues without filters [here](https://github.com/louislam/uptime-kuma/issues?q=)"
- options:
- - label: "I checked and didn't find similar question"
- required: true
- - type: checkboxes
- attributes:
- label: "🛡️ Security Policy"
- description: Please review the security policy before reporting security related issues/bugs.
- options:
- - label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
- required: true
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml
index 5e3b5bf8a..2dca1556a 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yaml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yaml
@@ -1,8 +1,30 @@
name: "🐛 Bug Report"
description: "Submit a bug report to help us improve"
-title: "[Bug]: "
+#title: "[Bug] "
labels: [bug]
body:
+ - type: checkboxes
+ id: no-duplicate-issues
+ attributes:
+ label: "⚠️ Please verify that this bug has NOT been raised before."
+ description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
+ options:
+ - label: "I checked and didn't find similar issue"
+ required: true
+ - type: checkboxes
+ attributes:
+ label: "🛡️ Security Policy"
+ description: Please review the security policy before reporting security related issues/bugs.
+ options:
+ - label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
+ required: true
+ - type: textarea
+ id: description
+ validations:
+ required: false
+ attributes:
+ label: "Description"
+ description: "You could also upload screenshots"
- type: textarea
id: steps-to-reproduce
validations:
@@ -16,7 +38,7 @@ body:
validations:
required: true
attributes:
- label: "👍 Expected behavior"
+ label: "👀 Expected behavior"
description: "What did you think would happen?"
placeholder: "..."
- type: textarea
@@ -24,23 +46,23 @@ body:
validations:
required: true
attributes:
- label: "👎 Actual Behavior"
+ label: "😓 Actual Behavior"
description: "What actually happen?"
placeholder: "..."
- type: input
id: uptime-kuma-version
attributes:
- label: "🐻 Uptime-Kuma version"
- description: "Which version of Uptime-Kuma are you running?"
- placeholder: "Ex. 1.9.x"
+ label: "🐻 Uptime-Kuma Version"
+ description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1"
+ placeholder: "Ex. 1.10.0"
validations:
required: true
- type: input
id: operating-system
attributes:
- label: "💻 Operating System"
+ label: "💻 Operating System and Arch"
description: "Which OS is your server/device running on?"
- placeholder: "Ex. Ubuntu 20.04"
+ placeholder: "Ex. Ubuntu 20.04 x86"
validations:
required: true
- type: input
@@ -48,23 +70,15 @@ body:
attributes:
label: "🌐 Browser"
description: "Which browser are you running on?"
- placeholder: "Ex. Firefox"
+ placeholder: "Ex. Google Chrome 95.0.4638.69"
validations:
required: true
- type: input
id: docker-version
attributes:
- label: "🐋 Docker"
+ label: "🐋 Docker Version"
description: "If running with Docker, which version are you running?"
- placeholder: "Ex. 20.10.9"
- validations:
- required: false
- - type: input
- id: docker-image-tag
- attributes:
- label: "🏷️ Docker Image Tag"
- description: "Which Docker image tag are you using? If running '1' or 'latest', please specify image hash."
- placeholder: "Ex. 1.9.1"
+ placeholder: "Ex. Docker 20.10.9 / K8S / Podman"
validations:
required: false
- type: input
@@ -72,7 +86,7 @@ body:
attributes:
label: "🟩 NodeJS Version"
description: "If running with Node.js? which version are you running?"
- placeholder: "14.x"
+ placeholder: "Ex. 14.18.0"
validations:
required: false
- type: textarea
@@ -83,18 +97,3 @@ body:
render: shell
validations:
required: false
- - type: checkboxes
- id: no-duplicate-issues
- attributes:
- label: "👀 Have you spent some time to check if this issue has been raised before?"
- description: "Please search in the issues without filters [here](https://github.com/louislam/uptime-kuma/issues?q=)"
- options:
- - label: "I checked and didn't find similar issue"
- required: true
- - type: checkboxes
- attributes:
- label: "🛡️ Security Policy"
- description: Please review the security policy before reporting security related issues/bugs.
- options:
- - label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
- required: true
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml
index bca32552f..f0a92ede1 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yaml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yaml
@@ -1,8 +1,16 @@
name: 🚀 Feature Request
description: "Submit a proposal for a new feature"
-title: "[Feature]: "
+#title: "[Feature] "
labels: [enhancement]
body:
+ - type: checkboxes
+ id: no-duplicate-issues
+ attributes:
+ label: "⚠️ Please verify that this feature request has NOT been suggested before."
+ description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
+ options:
+ - label: "I checked and didn't find similar feature request"
+ required: true
- type: dropdown
id: feature-area
attributes:
@@ -49,11 +57,3 @@ body:
label: "📝 Additional Context"
description: "Add any other context or screenshots about the feature request here."
placeholder: "..."
- - type: checkboxes
- id: no-duplicate-issues
- attributes:
- label: "👀 Have you spent some time to check if this feature request has been raised before?"
- description: "Please search in the issues without filters [here](https://github.com/louislam/uptime-kuma/issues?q=)"
- options:
- - label: "I checked and didn't find similar feature request"
- required: true
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index fa0aa883b..3be229315 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -24,3 +24,5 @@ Please delete options that are not relevant.
- [ ] My code needed automated testing. I have added them (this is optional task)
## Screenshots (if any)
+
+Please do not use any external image service. Instead, just paste in or drag and drop the image here and it will be uploaded automatically.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c9f186df2..b2efe3e09 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -226,10 +226,11 @@ https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc
1. Draft a release note
1. Make sure the repo is cleared
1. `npm run update-version 1.X.X`
+1. `npm run build`
1. `npm run build-docker`
-1. git push
+1. `git push`
1. Publish the release note as 1.X.X
-1. npm run upload-artifacts
+1. `npm run upload-artifacts`
1. SSH to demo site server and update to 1.X.X
Checking:
diff --git a/SECURITY.md b/SECURITY.md
index 7b9bfca41..3a11e8817 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,5 +1,11 @@
# Security Policy
+## Reporting a Vulnerability
+
+Please report security issues to uptime@kuma.pet.
+
+Do not use the issue tracker or discuss it in the public as it will cause more damage.
+
## Supported Versions
Use this section to tell people about which versions of your project are
@@ -23,9 +29,3 @@ currently being supported with security updates.
| debian | :white_check_mark: |
| alpine | :white_check_mark: |
| All other tags | ❌ |
-
-## Reporting a Vulnerability
-
-Please report security issues to uptime@kuma.pet.
-
-Do not use the issue tracker or discuss it in the public as it will cause more damage.
diff --git a/docker/dockerfile b/docker/dockerfile
index e2a3725fa..efbbfe6f2 100644
--- a/docker/dockerfile
+++ b/docker/dockerfile
@@ -4,9 +4,7 @@ WORKDIR /app
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
COPY . .
-RUN npm ci && \
- npm run build && \
- npm ci --production && \
+RUN npm ci --production && \
chmod +x /app/extra/entrypoint.sh
@@ -22,9 +20,11 @@ HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD nod
ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"]
CMD ["node", "server/server.js"]
+
FROM release AS nightly
RUN npm run mark-as-nightly
+
# Upload the artifact to Github
FROM louislam/uptime-kuma:base-debian AS upload-artifact
WORKDIR /
diff --git a/docker/dockerfile-alpine b/docker/dockerfile-alpine
index e883031ae..ab9255f95 100644
--- a/docker/dockerfile-alpine
+++ b/docker/dockerfile-alpine
@@ -4,9 +4,7 @@ WORKDIR /app
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
COPY . .
-RUN npm ci && \
- npm run build && \
- npm ci --production && \
+RUN npm ci --production && \
chmod +x /app/extra/entrypoint.sh
@@ -22,5 +20,6 @@ HEALTHCHECK --interval=60s --timeout=30s --start-period=180s --retries=5 CMD nod
ENTRYPOINT ["/usr/bin/dumb-init", "--", "extra/entrypoint.sh"]
CMD ["node", "server/server.js"]
+
FROM release AS nightly
RUN npm run mark-as-nightly
diff --git a/extra/healthcheck.js b/extra/healthcheck.js
index 99f748fb5..c6e8a349a 100644
--- a/extra/healthcheck.js
+++ b/extra/healthcheck.js
@@ -1,25 +1,41 @@
/*
* This script should be run after a period of time (180s), because the server may need some time to prepare.
*/
+const { FBSD } = require("../server/util-server");
+
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
let client;
-if (process.env.SSL_KEY && process.env.SSL_CERT) {
+const sslKey = process.env.UPTIME_KUMA_SSL_KEY || process.env.SSL_KEY || undefined;
+const sslCert = process.env.UPTIME_KUMA_SSL_CERT || process.env.SSL_CERT || undefined;
+
+if (sslKey && sslCert) {
client = require("https");
} else {
client = require("http");
}
+// If host is omitted, the server will accept connections on the unspecified IPv6 address (::) when IPv6 is available and the unspecified IPv4 address (0.0.0.0) otherwise.
+// Dual-stack support for (::)
+let hostname = process.env.UPTIME_KUMA_HOST;
+
+// Also read HOST if not FreeBSD, as HOST is a system environment variable in FreeBSD
+if (!hostname && !FBSD) {
+ hostname = process.env.HOST;
+}
+
+const port = parseInt(process.env.UPTIME_KUMA_PORT || process.env.PORT || 3001);
+
let options = {
- host: process.env.HOST || "127.0.0.1",
- port: parseInt(process.env.PORT) || 3001,
+ host: hostname || "127.0.0.1",
+ port: port,
timeout: 28 * 1000,
};
let request = client.request(options, (res) => {
console.log(`Health Check OK [Res Code: ${res.statusCode}]`);
- if (res.statusCode === 200) {
+ if (res.statusCode === 302) {
process.exit(0);
} else {
process.exit(1);
diff --git a/index.html b/index.html
index cd5da9360..6a5525fb4 100644
--- a/index.html
+++ b/index.html
@@ -5,7 +5,7 @@
-
+
Uptime Kuma
diff --git a/package-lock.json b/package-lock.json
index f65abc32a..11feb3492 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "uptime-kuma",
- "version": "1.9.1",
+ "version": "1.9.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "uptime-kuma",
- "version": "1.9.1",
+ "version": "1.9.2",
"license": "MIT",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "~1.2.36",
@@ -18,10 +18,10 @@
"args-parser": "~1.3.0",
"axios": "~0.21.4",
"bcryptjs": "~2.4.3",
- "bootstrap": "~5.1.1",
+ "bootstrap": "~5.1.3",
"bree": "~6.3.1",
"chardet": "^1.3.0",
- "chart.js": "~3.5.1",
+ "chart.js": "~3.6.0",
"chartjs-adapter-dayjs": "~1.0.0",
"check-password-strength": "^2.0.3",
"command-exists": "~1.2.9",
@@ -50,9 +50,9 @@
"tcp-ping": "~0.1.1",
"thirty-two": "~1.0.2",
"timezones-list": "~3.0.1",
- "v-pagination-3": "~0.1.6",
+ "v-pagination-3": "~0.1.7",
"vue": "next",
- "vue-chart-3": "~0.5.8",
+ "vue-chart-3": "~0.5.11",
"vue-confirm-dialog": "~1.0.2",
"vue-contenteditable": "~3.0.4",
"vue-i18n": "~9.1.9",
@@ -67,9 +67,9 @@
"@babel/eslint-parser": "~7.15.7",
"@babel/preset-env": "^7.15.8",
"@types/bootstrap": "~5.1.6",
- "@vitejs/plugin-legacy": "~1.6.1",
- "@vitejs/plugin-vue": "~1.9.2",
- "@vue/compiler-sfc": "~3.2.19",
+ "@vitejs/plugin-legacy": "~1.6.2",
+ "@vitejs/plugin-vue": "~1.9.4",
+ "@vue/compiler-sfc": "~3.2.20",
"babel-plugin-rewire": "~1.2.0",
"core-js": "~3.18.1",
"cross-env": "~7.0.3",
@@ -83,7 +83,7 @@
"stylelint": "~13.13.1",
"stylelint-config-standard": "~22.0.0",
"typescript": "~4.4.3",
- "vite": "~2.6.4"
+ "vite": "~2.6.13"
},
"engines": {
"node": "14.*"
@@ -4259,9 +4259,9 @@
"integrity": "sha512-NpwMDdSIprbYx1CLnfbxEIarI0Z+s9MssEgggMNheGM+WD68yOhV7IEA/3r6tr0yTRgQD0HuZJDw32s99i6L+A=="
},
"node_modules/chart.js": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz",
- "integrity": "sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ=="
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.6.0.tgz",
+ "integrity": "sha512-iOzzDKePL+bj+ccIsVAgWQehCXv8xOKGbaU2fO/myivH736zcx535PGJzQGanvcSGVOqX6yuLZsN3ygcQ35UgQ=="
},
"node_modules/chartjs-adapter-dayjs": {
"version": "1.0.0",
@@ -18000,9 +18000,9 @@
"integrity": "sha512-NpwMDdSIprbYx1CLnfbxEIarI0Z+s9MssEgggMNheGM+WD68yOhV7IEA/3r6tr0yTRgQD0HuZJDw32s99i6L+A=="
},
"chart.js": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz",
- "integrity": "sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ=="
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.6.0.tgz",
+ "integrity": "sha512-iOzzDKePL+bj+ccIsVAgWQehCXv8xOKGbaU2fO/myivH736zcx535PGJzQGanvcSGVOqX6yuLZsN3ygcQ35UgQ=="
},
"chartjs-adapter-dayjs": {
"version": "1.0.0",
diff --git a/package.json b/package.json
index 30aed11da..d34531b36 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
- "version": "1.9.2",
+ "version": "1.10.0",
"license": "MIT",
"repository": {
"type": "git",
@@ -30,13 +30,13 @@
"build-docker": "npm run build-docker-debian && npm run build-docker-alpine",
"build-docker-alpine-base": "docker buildx build -f docker/alpine-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-alpine . --push",
"build-docker-debian-base": "docker buildx build -f docker/debian-base.dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:base-debian . --push",
- "build-docker-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.9.2-alpine --target release . --push",
- "build-docker-debian": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.9.2 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.9.2-debian --target release . --push",
+ "build-docker-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.10.0-alpine --target release . --push",
+ "build-docker-debian": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.10.0 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.10.0-debian --target release . --push",
"build-docker-nightly": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-alpine": "docker buildx build -f docker/dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly-alpine --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
- "setup": "git checkout 1.9.2 && npm ci --production && npm run download-dist",
+ "setup": "git checkout 1.10.0 && npm ci --production && npm run download-dist",
"download-dist": "node extra/download-dist.js",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
@@ -61,10 +61,10 @@
"args-parser": "~1.3.0",
"axios": "~0.21.4",
"bcryptjs": "~2.4.3",
- "bootstrap": "~5.1.1",
+ "bootstrap": "5.1.3",
"bree": "~6.3.1",
"chardet": "^1.3.0",
- "chart.js": "~3.5.1",
+ "chart.js": "~3.6.0",
"chartjs-adapter-dayjs": "~1.0.0",
"check-password-strength": "^2.0.3",
"command-exists": "~1.2.9",
@@ -93,9 +93,9 @@
"tcp-ping": "~0.1.1",
"thirty-two": "~1.0.2",
"timezones-list": "~3.0.1",
- "v-pagination-3": "~0.1.6",
+ "v-pagination-3": "~0.1.7",
"vue": "next",
- "vue-chart-3": "~0.5.8",
+ "vue-chart-3": "~0.5.11",
"vue-confirm-dialog": "~1.0.2",
"vue-contenteditable": "~3.0.4",
"vue-i18n": "~9.1.9",
@@ -110,9 +110,9 @@
"@babel/eslint-parser": "~7.15.7",
"@babel/preset-env": "^7.15.8",
"@types/bootstrap": "~5.1.6",
- "@vitejs/plugin-legacy": "~1.6.1",
- "@vitejs/plugin-vue": "~1.9.2",
- "@vue/compiler-sfc": "~3.2.19",
+ "@vitejs/plugin-legacy": "~1.6.2",
+ "@vitejs/plugin-vue": "~1.9.4",
+ "@vue/compiler-sfc": "~3.2.20",
"babel-plugin-rewire": "~1.2.0",
"core-js": "~3.18.1",
"cross-env": "~7.0.3",
@@ -126,6 +126,6 @@
"stylelint": "~13.13.1",
"stylelint-config-standard": "~22.0.0",
"typescript": "~4.4.3",
- "vite": "~2.6.4"
+ "vite": "~2.6.13"
}
}
diff --git a/server/check-version.js b/server/check-version.js
index 2ab5fe514..a3465ddf0 100644
--- a/server/check-version.js
+++ b/server/check-version.js
@@ -9,18 +9,17 @@ let interval;
exports.startInterval = () => {
let check = async () => {
try {
- const res = await axios.get("https://raw.githubusercontent.com/louislam/uptime-kuma/master/package.json");
-
- if (typeof res.data === "string") {
- res.data = JSON.parse(res.data);
- }
+ const res = await axios.get("https://uptime.kuma.pet/version");
// For debug
if (process.env.TEST_CHECK_VERSION === "1") {
- res.data.version = "1000.0.0";
+ res.data.slow = "1000.0.0";
+ }
+
+ if (res.data.slow) {
+ exports.latestVersion = res.data.slow;
}
- exports.latestVersion = res.data.version;
} catch (_) { }
};
diff --git a/server/notification-providers/feishu.js b/server/notification-providers/feishu.js
index a3e340301..05fc9c186 100644
--- a/server/notification-providers/feishu.js
+++ b/server/notification-providers/feishu.js
@@ -27,7 +27,7 @@ class Feishu extends NotificationProvider {
content: {
post: {
zh_cn: {
- title: "UptimeKuma Alert: " + monitorJSON["name"],
+ title: "UptimeKuma Alert: [Down] " + monitorJSON["name"],
content: [
[
{
@@ -54,7 +54,7 @@ class Feishu extends NotificationProvider {
content: {
post: {
zh_cn: {
- title: "UptimeKuma Alert: " + monitorJSON["name"],
+ title: "UptimeKuma Alert: [Up] " + monitorJSON["name"],
content: [
[
{
diff --git a/server/server.js b/server/server.js
index 0af003d13..d1fd7ff29 100644
--- a/server/server.js
+++ b/server/server.js
@@ -186,6 +186,15 @@ exports.entryPage = "dashboard";
// Normal Router here
// ***************************
+ // Entry Page
+ app.get("/", async (_request, response) => {
+ if (exports.entryPage === "statusPage") {
+ response.redirect("/status");
+ } else {
+ response.redirect("/dashboard");
+ }
+ });
+
// Robots.txt
app.get("/robots.txt", async (_request, response) => {
let txt = "User-agent: *\nDisallow:";
diff --git a/src/assets/app.scss b/src/assets/app.scss
index db01e12d2..5578946bd 100644
--- a/src/assets/app.scss
+++ b/src/assets/app.scss
@@ -189,7 +189,7 @@ textarea.form-control {
opacity: 1;
}
- .table-hover > tbody > tr:hover {
+ .table-hover > tbody > tr:hover > * {
--bs-table-accent-bg: #070a10;
color: $dark-font-color;
}
diff --git a/src/languages/bg-BG.js b/src/languages/bg-BG.js
index 0d5af783a..f1d9b0784 100644
--- a/src/languages/bg-BG.js
+++ b/src/languages/bg-BG.js
@@ -77,7 +77,7 @@ export default {
"Accepted Status Codes": "Допустими статус кодове",
Save: "Запази",
Notifications: "Известявания",
- "Not available, please setup.": "Не е налично. Моля, настройте.",
+ "Not available, please setup.": "Не са налични. Моля, настройте.",
"Setup Notification": "Настройки за известявания",
Light: "Светла",
Dark: "Тъмна",
@@ -141,7 +141,7 @@ export default {
Overwrite: "Презапиши",
Options: "Опции",
"Keep both": "Запази двете",
- "Verify Token": "Проверка на токен код",
+ "Verify Token": "Провери токен код",
"Setup 2FA": "Настройка 2FA",
"Enable 2FA": "Включи 2FA",
"Disable 2FA": "Изключи 2FA",
@@ -298,8 +298,13 @@ export default {
HeadersInvalidFormat: "Заявените хедъри не са валидни JSON: ",
BodyInvalidFormat: "Заявеното съобщение не е валиден JSON: ",
"Monitor History": "История на мониторите",
- clearDataOlderThan: "Ще се съхранява за {0} дни.",
+ clearDataOlderThan: "Ще се съхранява {0} дни.",
records: "записа",
"One record": "Един запис",
steamApiKeyDescription: "За да мониторирате Steam Gameserver се нуждаете от Steam Web-API ключ. Може да регистрирате Вашия API ключ тук: ",
+ clicksendsms: "ClickSend SMS",
+ apiCredentials: "API удостоверяване",
+ PasswordsDoNotMatch: "Паролите не съвпадат.",
+ "Current User": "Текущ потребител",
+ recent: "Скорошни",
};
diff --git a/src/languages/en.js b/src/languages/en.js
index db376720c..15c3cd0f3 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -306,4 +306,5 @@ export default {
"One record": "One record",
steamApiKeyDescription: "For monitoring a Steam Game Server you need a Steam Web-API key. You can register your API key here: ",
"Current User": "Current User",
+ recent: "Recent",
};
diff --git a/src/languages/hr-HR.js b/src/languages/hr-HR.js
index 78143a149..35383a0f3 100644
--- a/src/languages/hr-HR.js
+++ b/src/languages/hr-HR.js
@@ -5,7 +5,7 @@ export default {
retriesDescription: "Broj ponovnih pokušaja prije nego će se servis označiti kao DOWN te poslati obavijest",
ignoreTLSError: "Ignoriraj TLS/SSL pogreške za HTTPS web stranice",
upsideDownModeDescription: "Preokreni logiku statusa. Ako je usluga dostupna, smatra se da je DOWN.",
- maxRedirectDescription: "Maksimalan broj preusmjeravanja. Postaviti na 0 kako bi se preusmeravanja onemogućila.",
+ maxRedirectDescription: "Maksimalan broj preusmjeravanja. Postaviti na 0 kako bi se preusmjeravanja onemogućila.",
acceptedStatusCodesDescription: "Odaberite statusne kodove koji se smatraju uspješnim odgovorom.",
passwordNotMatchMsg: "Lozinke se ne poklapaju.",
notificationDescription: "Obavijesti će funkcionirati samo ako su dodijeljene monitoru.",
@@ -20,7 +20,7 @@ export default {
clearEventsMsg: "Jeste li sigurni da želite izbrisati sve zapise o događajima za ovaj monitor?",
clearHeartbeatsMsg: "Jeste li sigurni da želite izbrisati sve zapise o provjerama za ovaj monitor?",
confirmClearStatisticsMsg: "Jeste li sigurni da želite izbrisati SVE statistike?",
- importHandleDescription: "Odaberite opciju 'Preskoči postojeće' ako želite prekočiti uvoz već postojećih monitora i obavijesti. Opcija 'Prepiši' će izbrisati postojeće monitore i obavijesti.",
+ importHandleDescription: "Odaberite opciju \"Preskoči postojeće\" ako želite preskočiti uvoz postojećih monitora i obavijesti ako dođe do poklapanja u imenu. Opcija \"Prepiši\" će izbrisati postojeće monitore i obavijesti.",
confirmImportMsg: "Jeste li sigurni da želite pokrenuti uvoz? Provjerite jeste li odabrali ispravnu opciju uvoza.",
twoFAVerifyLabel: "Unesite svoj 2FA token:",
tokenValidSettingsMsg: "Token je važeći! Sada možete spremiti postavke dvofaktorske autentikacije.",
@@ -44,7 +44,7 @@ export default {
Down: "Nedostupno",
Pending: "U tijeku",
Unknown: "Nepoznato",
- Pause: "Pauziraj",
+ Pause: "Pauzirano",
Name: "Naziv monitora",
Status: "Status",
DateTime: "Vremenska oznaka",
@@ -77,7 +77,7 @@ export default {
"Max. Redirects": "Maksimalan broj preusmjeravanja",
"Accepted Status Codes": "Prihvaćeni statusni kodovi",
"Push URL": "Push URL",
- needPushEvery: "Potrebno je zvati ovaj URL svakih {0} sekundi.",
+ needPushEvery: "Potrebno je slati zahtjeve na URL svakih {0} sekundi.",
pushOptionalParams: "Neobavezni parametri: {0}",
Save: "Spremi",
Notifications: "Obavijesti",
@@ -135,9 +135,9 @@ export default {
Events: "Events",
Heartbeats: "Provjere",
"Auto Get": "Automatski dohvat",
- backupDescription: "Moguće je napraviti sigurnosnu kopiju svih monitora i obavijesti u JSON datoteku.",
+ backupDescription: "Moguće je napraviti sigurnosnu kopiju svih monitora i obavijesti koja će biti spremljena kao JSON datoteka.",
backupDescription2: "Napomena: povijest i podaci o događajima nisu uključeni u sigurnosnu kopiju.",
- backupDescription3: "Osjetljivi podaci poput tokena za obavijesti jesu uključeni u izvozu; potrebno je čuvati izvoz na sigurnom mjestu.",
+ backupDescription3: "Osjetljivi podaci poput tokena za obavijesti jesu uključeni u sigurnosnu kopiju. Zato je potrebno čuvati izvoz na sigurnom mjestu.",
alertNoFile: "Datoteka za uvoz nije odabrana.",
alertWrongFileType: "Datoteka za uvoz nije u JSON formatu.",
"Clear all statistics": "Obriši sve statistike",
@@ -197,14 +197,14 @@ export default {
webhook: "Webhook",
"Post URL": "Post URL",
"Content Type": "Tip sadržaja (Content Type)",
- webhookJsonDesc: "{0} je moguća opcija za moderne HTTP poslužitelje poput Express.js-a",
+ webhookJsonDesc: "{0} je dobra opcija za moderne HTTP poslužitelje poput Express.js-a",
webhookFormDataDesc: "{multipart} je moguća alternativa za PHP, samo je potrebno parsirati JSON koristeći {decodeFunction}",
smtp: "E-pošta (SMTP)",
secureOptionNone: "Bez sigurnosti / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)",
"Ignore TLS Error": "Ignoriraj greške TLS-a",
- "From Email": "Adresa za From polje",
- emailCustomSubject: "Prilagođeno Subject polje",
+ "From Email": "Adresa za \"From\" polje",
+ emailCustomSubject: "Prilagođeno \"Subject\" polje",
"To Email": "Odredišne adrese e-pošte",
smtpCC: "Cc",
smtpBCC: "Bcc",
@@ -233,7 +233,7 @@ export default {
"Uptime Kuma URL": "Uptime Kuma URL",
aboutWebhooks: "Dodatne informacije o webhookovima su dostupne na: {0}",
aboutChannelName: "Unesite ime {0} kanala u polju Naziv kanala ako želite zaobići webhook kanal. Primjerice: #neki-kanal",
- aboutKumaURL: "Ako je polje Uptime Kuma URL prazno, koristi se zadana vrijednost koja vodi na GitHub stranicu projekta.",
+ aboutKumaURL: "Ako je polje \"Uptime Kuma URL\" prazno, koristi se zadana vrijednost koja vodi na GitHub stranicu projekta.",
emojiCheatSheet: "Popis emotikona: {0}",
"rocket.chat": "Rocket.Chat",
pushover: "Pushover",
@@ -252,7 +252,7 @@ export default {
"Notification Sound": "Zvuk obavijesti",
"More info on:": "Više informacija na: {0}",
pushoverDesc1: "Hitni prioritet (2) ima zadani istek vremena od 30 sekundi između ponovnih pokušaja te će isteći nakon 1 sata.",
- pushoverDesc2: "Ako želite slati obavijesti na više uređaja, ispunite polje Uređaji.",
+ pushoverDesc2: "Ako želite slati obavijesti na više uređaja, ispunite polje \"Uređaji\".",
"SMS Type": "Tip SMS-a",
octopushTypePremium: "Premium (Brzo - preporučeno za obavijesti)",
octopushTypeLowCost: "Low Cost (Sporo - mobilni operateri ponekad blokiraju ove poruke)",
@@ -277,7 +277,7 @@ export default {
"Basic Settings": "Osnovne Postavke",
"User ID": "Korisnički ID",
"Messaging API": "API za razmjenu poruka",
- wayToGetLineChannelToken: "Prvo, pristupite {0}, kreirajte create a pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti you can get the token za pristup kanalu te korisnički ID za polja iznad.",
+ wayToGetLineChannelToken: "Prvo, pristupite {0}, kreirajte pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti token za pristup kanalu te korisnički ID za polja iznad.",
"Icon URL": "URL slike",
aboutIconURL: "Možete postaviti poveznicu na sliku u polju \"URL slike\" kako biste spriječili korištenje zadane slike. Ovo se polje neće koristiti ako je postavljeno polje \"Emotikon\".",
aboutMattermostChannelName: "Možete promijeniti kanal u kojeg webhook šalje tako da ispunite polje \"Naziv kanala\". Ta opcija mora biti omogućena unutar Mattermost postavki za webhook. Primjerice: #neki-kanal",
@@ -286,19 +286,19 @@ export default {
promosmsTypeFlash: "SMS FLASH - Poruka se automatski pojavljuje na uređaju primatelja. Ograničeno samo na primatelje unutar Poljske.",
promosmsTypeFull: "SMS FULL - Premium razina usluge, dozvoljava postavljanje naziva SMS pošiljatelja (Naziv mora biti registriran). Usluga pouzdana za obavijesti.",
promosmsTypeSpeed: "SMS SPEED - Usluga najvećeg prioriteta. Brza i pouzdana, ali skupa (otprilike dvostruko skuplja od cijene usluge SMS FULL).",
- promosmsPhoneNumber: "Telefonski broj (za primitalje unutar Poljske nije potrebno navoditi pozivni broj države)",
+ promosmsPhoneNumber: "Telefonski broj (za primatelje unutar Poljske nije potrebno navoditi pozivni broj države)",
promosmsSMSSender: "Naziv SMS pošiljatelja: Registriran naziv ili jedan od zadanih: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
"Feishu WebHookUrl": "Feishu URL webhooka",
- matrixHomeserverURL: "URL homeservera (uključujući http(s):// te port, ako je potrebno)",
+ matrixHomeserverURL: "URL Matrix homeservera (uključujući http(s):// te port, ako je potrebno)",
"Internal Room Id": "Interni ID sobe",
matrixDesc1: "Interni ID sobe se može pronaći u naprednim postavkama sobe unutar Matrix klijenta. ID sobe nalikuje idućem zapisu: !QMdRCpUIfLwsfjxye6:home.server.",
- matrixDesc2: "Preporuča se stvaranje novog korisnika te suzdržavanje od korištenja pristupnog tokena vlastitog Matrix korisnika. Novog korisnika potrebno je dodati u sobe u kojima želite primati obavijesti. Pristupni token možete dobiti pokretanjem naredbe {0}",
+ matrixDesc2: "Preporučuje se stvaranje novog korisnika te suzdržavanje od korištenja pristupnog tokena vlastitog Matrix korisnika. Novog korisnika potrebno je dodati u sobe u kojima želite primati obavijesti. Pristupni token možete dobiti pokretanjem naredbe {0}",
Method: "Metoda",
Body: "Tijelo",
Headers: "Zaglavlja",
PushUrl: "Push URL",
HeadersInvalidFormat: "Zaglavlja nisu nije valjani JSON: ",
- BodyInvalidFormat: "Tijelo zahjeva nije valjani JSON: ",
+ BodyInvalidFormat: "Tijelo zahtjeva nije valjani JSON: ",
"Monitor History": "Povijest monitora",
clearDataOlderThan: "Podaci o povijesti monitora čuvaju se {0} dana.",
PasswordsDoNotMatch: "Lozinke se ne poklapaju.",
diff --git a/src/languages/pl.js b/src/languages/pl.js
index 89faa6348..082980d3b 100644
--- a/src/languages/pl.js
+++ b/src/languages/pl.js
@@ -28,7 +28,7 @@ export default {
confirmDisableTwoFAMsg: "Jesteś pewien, że chcesz wyłączyć 2FA?",
Settings: "Ustawienia",
Dashboard: "Panel",
- "New Update": "Nowa Aktualizacja",
+ "New Update": "Nowa aktualizacja",
Language: "Język",
Appearance: "Wygląd",
Theme: "Motyw",
@@ -37,7 +37,7 @@ export default {
"Check Update On GitHub": "Sprawdź aktualizację na GitHub",
List: "Lista",
Add: "Dodaj",
- "Add New Monitor": "Dodaj Monitor",
+ "Add New Monitor": "Dodaj monitor",
"Quick Stats": "Szybki podgląd statystyk",
Up: "Online",
Down: "Offline",
@@ -53,8 +53,8 @@ export default {
Edit: "Edytuj",
Delete: "Usuń",
Current: "Aktualny",
- Uptime: "Czas Pracy",
- "Cert Exp.": "Certyfikat Wygasa",
+ Uptime: "Czas pracy",
+ "Cert Exp.": "Certyfikat wygasa",
days: "dni",
day: "dzień",
"-day": " dni",
@@ -62,9 +62,9 @@ export default {
"-hour": " godzin",
Response: "Odpowiedź",
Ping: "Ping",
- "Monitor Type": "Rodzaj Monitora",
+ "Monitor Type": "Rodzaj monitora",
Keyword: "Słowo kluczowe",
- "Friendly Name": "Przyjazna Nazwa",
+ "Friendly Name": "Przyjazna nazwa",
URL: "URL",
Hostname: "Hostname",
Port: "Port",
@@ -73,12 +73,12 @@ export default {
"Heartbeat Retry Interval": "Częstotliwość ponawiania bicia serca",
Advanced: "Zaawansowane",
"Upside Down Mode": "Tryb odwrócony",
- "Max. Redirects": "Maks. Przekierowań",
+ "Max. Redirects": "Maks. przekierowań",
"Accepted Status Codes": "Akceptowane kody statusu",
Save: "Zapisz",
Notifications: "Powiadomienia",
"Not available, please setup.": "Niedostępne, proszę skonfigurować.",
- "Setup Notification": "Skonfiguruj Powiadomienie",
+ "Setup Notification": "Skonfiguruj powiadomienie",
Light: "Jasny",
Dark: "Ciemny",
Auto: "Automatyczny",
@@ -122,7 +122,7 @@ export default {
"Export Backup": "Eksportuj kopię zapasową",
Export: "Eksportuj",
Import: "Importuj",
- respTime: "Czas Odp. (ms)",
+ respTime: "Czas odp. (ms)",
notAvailableShort: "N/A",
"Default enabled": "Włącz domyślnie",
"Apply on all existing monitors": "Zastosuj do istniejących monitorów",
@@ -183,10 +183,10 @@ export default {
here: "tutaj",
Required: "Wymagane",
telegram: "Telegram",
- "Bot Token": "Token Bota",
+ "Bot Token": "Token bota",
wayToGetTelegramToken: "Token można uzyskać z {0}.",
- "Chat ID": "Identyfikator Czatu",
- supportTelegramChatID: "Czat wsprarcia technicznego / Bezpośrednia Rozmowa / Czat Grupowy",
+ "Chat ID": "Identyfikator czatu",
+ supportTelegramChatID: "Czat wsparcia technicznego / Bezpośrednia rozmowa / Czat grupowy",
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",
@@ -198,20 +198,20 @@ export default {
smtp: "Email (SMTP)",
secureOptionNone: "Brak / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)",
- "Ignore TLS Error": "Zignrouj Błędy TLS",
+ "Ignore TLS Error": "Zignoruj błędy TLS",
"From Email": "Nadawca (OD)",
"To Email": "Odbiorca (DO)",
smtpCC: "DW",
smtpBCC: "UDW",
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",
+ "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",
- "Webhook URL": "URL Webhooka",
- wayToGetTeamsURL: "You can learn how to create a webhook url {0}.",
+ "Webhook URL": "URL webhooka",
+ wayToGetTeamsURL: "Możesz dowiedzieć się, jak utworzyć adres url webhooka {0}.",
signal: "Signal",
Number: "Numer",
Recipients: "Odbiorcy",
@@ -219,66 +219,66 @@ export default {
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",
- "Application Token": "Token Aplikacji",
+ "Application Token": "Token aplikacji",
"Server URL": "Server URL",
Priority: "Priorytet",
slack: "Slack",
- "Icon Emoji": "Ikona Emoji",
- "Channel Name": "Nazwa Kanału",
+ "Icon Emoji": "Ikona emoji",
+ "Channel Name": "Nazwa kanału",
"Uptime Kuma URL": "Adres Uptime Kuma",
aboutWebhooks: "Więcej informacji na temat webhooków: {0}",
- aboutChannelName: "Podaj nazwę kanału {0} w polu Nazwa Kanału, jeśli chcesz pominąć kanał webhooka. Np.: #inny-kanal",
- aboutKumaURL: "Jeśli pozostawisz pole Adres Uptime Kuma puste, domyślnie będzie to strona projektu na Github.",
- emojiCheatSheet: "Ściąga Emoji: {0}",
+ aboutChannelName: "Podaj nazwę kanału {0} w polu Nazwa kanału, jeśli chcesz pominąć kanał webhooka. Np.: #inny-kanal",
+ aboutKumaURL: "Jeśli pozostawisz pole Adres Uptime Kuma puste, domyślnie będzie to strona projektu na GitHub.",
+ emojiCheatSheet: "Ściąga emoji: {0}",
"rocket.chat": "Rocket.chat",
pushover: "Pushover",
pushy: "Pushy",
octopush: "Octopush",
promosms: "PromoSMS",
lunasea: "LunaSea",
- apprise: "Apprise (Obsługuje 50+ usług powiadomień)",
+ apprise: "Apprise (obsługuje 50+ usług powiadomień)",
pushbullet: "Pushbullet",
line: "Line Messenger",
mattermost: "Mattermost",
- "User Key": "Klucz Użytkownika",
+ "User Key": "Klucz użytkownika",
Device: "Urządzenie",
- "Message Title": "Tytuł Wiadomości",
- "Notification Sound": "Dźwięk Powiadomienia",
+ "Message Title": "Tytuł wiadomości",
+ "Notification Sound": "Dźwięk powiadomienia",
"More info on:": "Więcej informacji na: {0}",
pushoverDesc1: "Priorytet awaryjny (2) ma domyślny 30-sekundowy limit czasu między kolejnymi próbami i wygaśnie po 1 godzinie.",
pushoverDesc2: "Jeśli chcesz wysyłać powiadomienia na różne urządzenia, wypełnij pole Urządzenie.",
"SMS Type": "Rodzaj SMS",
- octopushTypePremium: "Premium (Szybki - rekomendowany dla powiadomień)",
- octopushTypeLowCost: "Low Cost (Wolny, czasami blokowany przez operatorów)",
+ octopushTypePremium: "Premium (szybki - rekomendowany dla powiadomień)",
+ octopushTypeLowCost: "Low Cost (wolny, czasami blokowany przez operatorów)",
"Check octopush prices": "Sprawdź ceny Octopush {0}.",
- octopushPhoneNumber: "Numer Telefonu (Format międzynarodowy np.: +33612345678)",
- octopushSMSSender: "Nadawca SMS : 3-11 znaków alfanumerycznych i spacji (a-zA-Z0-9)",
- "LunaSea Device ID": "Idetyfikator Urządzenia LunaSea",
+ octopushPhoneNumber: "Numer telefonu (format międzynarodowy np.: +33612345678)",
+ octopushSMSSender: "Nadawca SMS: 3-11 znaków alfanumerycznych i spacji (a-zA-Z0-9)",
+ "LunaSea Device ID": "Identyfikator urządzenia LunaSea",
"Apprise URL": "URL Apprise",
"Example:": "Przykład: {0}",
- "Read more:": "Czytaj Dalej: {0}",
+ "Read more:": "Czytaj dalej: {0}",
"Status:": "Status: {0}",
"Read more": "Czytaj dalej",
appriseInstalled: "Apprise jest zostało zainstalowane.",
appriseNotInstalled: "Apprise nie zostało zainstalowane. {0}",
- "Access Token": "Token Dostępu",
- "Channel access token": "Token Dostępu Kanału",
- "Line Developers Console": "Konsola Dewelopersja Line",
- lineDevConsoleTo: "Konsola Dewelopersja Line - {0}",
- "Basic Settings": "Ustawienia Ogólne",
- "User ID": "Idetyfikator Użytkownika",
- "Messaging API": "API Wiadomości",
+ "Access Token": "Token dostępu",
+ "Channel access token": "Token dostępu kanału",
+ "Line Developers Console": "Konsola deweloperska Line",
+ lineDevConsoleTo: "Konsola deweloperska Line - {0}",
+ "Basic Settings": "Ustawienia ogólne",
+ "User ID": "Identyfikator użytkownika",
+ "Messaging API": "API wiadomości",
wayToGetLineChannelToken: "Najpierw uzyskaj dostęp do {0}, utwórz dostawcę i kanał (Messaging API), a następnie możesz uzyskać token dostępu do kanału i identyfikator użytkownika z wyżej wymienionych pozycji menu.",
"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ł",
+ 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",
- 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)",
+ 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)",
"Primary Base URL": "Główny URL",
"Push URL": "Push URL",
needPushEvery: "Powinieneś wywoływać ten URL co {0} sekund",
@@ -303,4 +303,8 @@ export default {
records: "rekordy",
"One record": "Jeden rekord",
steamApiKeyDescription: "Do monitorowania serwera gier Steam potrzebny jest klucz Steam Web-API. Możesz zarejestrować swój klucz API tutaj: ",
+ "Current User": "Aktualny użytkownik",
+ recent: "Ostatnie",
+ clicksendsms: "ClickSend SMS",
+ apiCredentials: "Poświadczenia API",
};
diff --git a/src/mixins/socket.js b/src/mixins/socket.js
index 679794496..170a07a73 100644
--- a/src/mixins/socket.js
+++ b/src/mixins/socket.js
@@ -265,10 +265,10 @@ export default {
},
logout() {
+ socket.emit("logout", () => { });
this.storage().removeItem("token");
this.socket.token = null;
this.loggedIn = false;
-
this.clearData();
},
diff --git a/src/pages/DashboardHome.vue b/src/pages/DashboardHome.vue
index 2832b1c7f..16d07983b 100644
--- a/src/pages/DashboardHome.vue
+++ b/src/pages/DashboardHome.vue
@@ -83,9 +83,7 @@ export default {
perPage: 25,
heartBeatList: [],
paginationConfig: {
- texts: {
- count: "",
- },
+ hideCount: true,
chunksNavigation: "scroll",
},
};
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index b8a75b29b..d40561fe0 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -209,9 +209,7 @@ export default {
toggleCertInfoBox: false,
showPingChartBox: true,
paginationConfig: {
- texts: {
- count: "",
- },
+ hideCount: true,
chunksNavigation: "scroll",
},
};