0.36.1_hf2
This commit is contained in:
1 parent
da1fe0df55
commit
6d7f152a0b
11 files changed
+63
-25
No files matched your search
+11
-11
@@ -92,8 +92,8 @@ e655bb17583e46f182226d7d2e1da45e6dffd0a8fd457e0cfb776778445e4358 integrations/r
|
|||||||
3f092a9ab80221eddd67be4d1a776acbc6e04c1eb6011b588280c28e83b2582f integrations/routeros-oci-build/build-routeros-oci.sh
|
3f092a9ab80221eddd67be4d1a776acbc6e04c1eb6011b588280c28e83b2582f integrations/routeros-oci-build/build-routeros-oci.sh
|
||||||
3f267cafa16006e5456ade78ee2d5fae02cc7ce747839523068ffd8d7c98798a integrations/routeros-oci-build/docker-entrypoint.sh
|
3f267cafa16006e5456ade78ee2d5fae02cc7ce747839523068ffd8d7c98798a integrations/routeros-oci-build/docker-entrypoint.sh
|
||||||
13189fa546c3488dddd8efc80c47f6da5241e5fc28b79cbfe795414ea05c7a4f langs/README.md
|
13189fa546c3488dddd8efc80c47f6da5241e5fc28b79cbfe795414ea05c7a4f langs/README.md
|
||||||
a83dd54e685cdf96c2f3c8dc82c8df2ccc4c3e46268d9c1dbc68d293cbebf8bb langs/en_US.json
|
9aee5697423f618e2d913f071240d288134ad1e6d9aeedc37636a5185ae33fb2 langs/en_US.json
|
||||||
8b9b4ea09b9f946167805173f27fab9b17a6579dc28811cbc0aee619a13c5166 langs/pl_pl.json
|
1a0b5a24daf53fb04f92bb4fbd5dfa501e0a5a7c0bb0dad7f58668c3be1b5110 langs/pl_pl.json
|
||||||
9664543e4d03422788a65e42f968c1f026c2235cb5be6fc3e0ad318997077538 make_zip.py
|
9664543e4d03422788a65e42f968c1f026c2235cb5be6fc3e0ad318997077538 make_zip.py
|
||||||
e830d37dd1f81a4b0aa7d535f5bba69e34e433b0fd99cc8ee0b296786c32379a migrations/0002_admin.sql
|
e830d37dd1f81a4b0aa7d535f5bba69e34e433b0fd99cc8ee0b296786c32379a migrations/0002_admin.sql
|
||||||
20112cc82192098b8d602f1c4f7ca08712e9e1366c845fabb92753187c370d35 migrations/0003_certificate_renewals.sql
|
20112cc82192098b8d602f1c4f7ca08712e9e1366c845fabb92753187c370d35 migrations/0003_certificate_renewals.sql
|
||||||
@@ -185,7 +185,7 @@ eafb1afb4bf3dd967c18313d4725cc69edf7ad9d351b89f4e1da545f08e7e941 src/admin/test
|
|||||||
c18c369124368f58524652565102817ed69fd25b222b0c5e737ef7632b45dcfb src/admin/web/acl-picker.js
|
c18c369124368f58524652565102817ed69fd25b222b0c5e737ef7632b45dcfb src/admin/web/acl-picker.js
|
||||||
48fcd818c522fe80f2c7b2e218f87de6a7772ffd0a24e93502780b03ec78e335 src/admin/web/acme.js
|
48fcd818c522fe80f2c7b2e218f87de6a7772ffd0a24e93502780b03ec78e335 src/admin/web/acme.js
|
||||||
86abf50f39862d821cd2e43ca425671aa85289272915132c5a9a5dd1fc4182e2 src/admin/web/api-tokens.js
|
86abf50f39862d821cd2e43ca425671aa85289272915132c5a9a5dd1fc4182e2 src/admin/web/api-tokens.js
|
||||||
5a9842a3f3ac5f6c769413496ea5ea1d019446d051cdde252784b1a1cc46996f src/admin/web/app/backend-dashboard.js
|
faa9735c2a02746b2954bc4955eb609f94afebb685cd5521d2629640cea2777a src/admin/web/app/backend-dashboard.js
|
||||||
aed3aea4eef0011c6b51d39736782e7d1ec52662e422f40e0c7b9ddfc19d0378 src/admin/web/app/certificate-inspection.js
|
aed3aea4eef0011c6b51d39736782e7d1ec52662e422f40e0c7b9ddfc19d0378 src/admin/web/app/certificate-inspection.js
|
||||||
1a4d40a86067493e75b47f2d735d50fa4d161344ce145d4e502b0225144ed45a src/admin/web/app/chart-scales.js
|
1a4d40a86067493e75b47f2d735d50fa4d161344ce145d4e502b0225144ed45a src/admin/web/app/chart-scales.js
|
||||||
e5b39b5592ba81292571033f26934ac0cd42bcdca7395e91094973cecb3eeaf8 src/admin/web/app/config-history.js
|
e5b39b5592ba81292571033f26934ac0cd42bcdca7395e91094973cecb3eeaf8 src/admin/web/app/config-history.js
|
||||||
@@ -193,7 +193,7 @@ fcce3b0204ca2c679f5d8049d020619664a3c0a45889975681258d82ae329988 src/admin/web/
|
|||||||
d695ec90fb5c98c27d7ba1d2bebf54f9840985fc530efcec3fcaf48d74b36c6b src/admin/web/app/dashboard-inline-layout.js
|
d695ec90fb5c98c27d7ba1d2bebf54f9840985fc530efcec3fcaf48d74b36c6b src/admin/web/app/dashboard-inline-layout.js
|
||||||
e4238322a985d3e8b7f2de94b7af31e1c718775590b2c7b3428b878cd43337b7 src/admin/web/app/dashboard-layout-editor.js
|
e4238322a985d3e8b7f2de94b7af31e1c718775590b2c7b3428b878cd43337b7 src/admin/web/app/dashboard-layout-editor.js
|
||||||
a184c50e1ca6bb5a14954e31b15f09ff9978fb939064ca724851bbb4e661dc56 src/admin/web/app/dashboard-presets.js
|
a184c50e1ca6bb5a14954e31b15f09ff9978fb939064ca724851bbb4e661dc56 src/admin/web/app/dashboard-presets.js
|
||||||
07d4bdafa83e591fbe90d2f6199d4efa2e7207973c83c402c43d3631e64539c7 src/admin/web/app/icons.js
|
2bfc071e4d50b01f39650ac74380b355daf847a9b3c015cb5b3f17d8771114c6 src/admin/web/app/icons.js
|
||||||
32aa11f041eafdf16e66adef6f5847a67413785224da2c19ecbf825996622aff src/admin/web/app/overview-extra-metrics.js
|
32aa11f041eafdf16e66adef6f5847a67413785224da2c19ecbf825996622aff src/admin/web/app/overview-extra-metrics.js
|
||||||
5e62cccf6a9507fe208e9f41bbd08453c3d8c6a6b83c56d93a2bb22550ea6e9a src/admin/web/app/overview-masonry.js
|
5e62cccf6a9507fe208e9f41bbd08453c3d8c6a6b83c56d93a2bb22550ea6e9a src/admin/web/app/overview-masonry.js
|
||||||
4d1d4760cdff44771c9d880a7c0da81d7233ef6e3a4868111a522703831a7a54 src/admin/web/app/overview-samples.js
|
4d1d4760cdff44771c9d880a7c0da81d7233ef6e3a4868111a522703831a7a54 src/admin/web/app/overview-samples.js
|
||||||
@@ -210,13 +210,13 @@ b7ead49224a4ec67181d3f24f9d9634bd6d76756f826a4d5d993300637d1d8f3 src/admin/web/
|
|||||||
f5855db3327f51170a28114e07d207745b4d6c8822d88d24c1a81eb92f345b14 src/admin/web/cache-panel.js
|
f5855db3327f51170a28114e07d207745b4d6c8822d88d24c1a81eb92f345b14 src/admin/web/cache-panel.js
|
||||||
9f323507649910561518b63cf6632e81b3ecc4b09501ae53b635705f34ea6587 src/admin/web/certificate-api.js
|
9f323507649910561518b63cf6632e81b3ecc4b09501ae53b635705f34ea6587 src/admin/web/certificate-api.js
|
||||||
a09f060b47771c56e9b9e57f1b896a32a2f87f1fb33401ac76932a91d247c67e src/admin/web/css/00-tokens.css
|
a09f060b47771c56e9b9e57f1b896a32a2f87f1fb33401ac76932a91d247c67e src/admin/web/css/00-tokens.css
|
||||||
8a008583f2e15dddb6e5a2f45a91a21784bc2c49357f92d49ba49da4b6ae0602 src/admin/web/css/10-base.css
|
422a8c04d6499f806516be1694f316a4881d7cc191072218ea851445e2493506 src/admin/web/css/10-base.css
|
||||||
6ed54b27a4a81b073f1d30cf61e366f3d5c1f6f8495f0d0a8af48e061937eb4e src/admin/web/css/20-shell.css
|
6ed54b27a4a81b073f1d30cf61e366f3d5c1f6f8495f0d0a8af48e061937eb4e src/admin/web/css/20-shell.css
|
||||||
a07b840826c97706b3bab9ae805445531faaceb033ca61034dd8428c3af56d3c src/admin/web/css/30-overview.css
|
feca0078ca889900a75d08a4a241e1a8ec787c8f4de25933d4883aac955e8023 src/admin/web/css/30-overview.css
|
||||||
dd82b5e3ead91c20bb08cf8d71bbba31ea8e3d108c417913c63409f3e34da7e1 src/admin/web/css/40-editors.css
|
dd82b5e3ead91c20bb08cf8d71bbba31ea8e3d108c417913c63409f3e34da7e1 src/admin/web/css/40-editors.css
|
||||||
24defe4c76df881da43498e2fc9ebd2927178f4a6f4dc964dbbae03353634008 src/admin/web/css/50-settings.css
|
24defe4c76df881da43498e2fc9ebd2927178f4a6f4dc964dbbae03353634008 src/admin/web/css/50-settings.css
|
||||||
f8b515c63080c71ee647cfd8c36628271e8357b31cd84f00cf591e9b752b44fe src/admin/web/css/60-monitoring.css
|
f8b515c63080c71ee647cfd8c36628271e8357b31cd84f00cf591e9b752b44fe src/admin/web/css/60-monitoring.css
|
||||||
33c556cd4be0310117ea5324d27e622b0b5ca2190c8d6f70aa551d94fb411d38 src/admin/web/css/70-responsive.css
|
fb7cc4d733cb9a3e320a8cb95269ca047394dded8846120ffb50aaeaaab4d749 src/admin/web/css/70-responsive.css
|
||||||
8009afdb04d5170687816730cc930a22fead1fe0248835ca7e8de81d6907395d src/admin/web/css/README.md
|
8009afdb04d5170687816730cc930a22fead1fe0248835ca7e8de81d6907395d src/admin/web/css/README.md
|
||||||
8241bd9489dfed082863948829a44a49bf0a8e9cd63c55809655109e393e0918 src/admin/web/css/manifest.json
|
8241bd9489dfed082863948829a44a49bf0a8e9cd63c55809655109e393e0918 src/admin/web/css/manifest.json
|
||||||
ee51ab0912e0ade6a3e1c2ea6f533bb2f65a6d3e6ec9087e25b9f0df009c19b2 src/admin/web/dashboard-defaults.json
|
ee51ab0912e0ade6a3e1c2ea6f533bb2f65a6d3e6ec9087e25b9f0df009c19b2 src/admin/web/dashboard-defaults.json
|
||||||
@@ -243,14 +243,14 @@ e6c4d91d1542d0a5b47bb8736f9539d43a6713df5a473b635519d5b7eac2eb9c src/admin/web/
|
|||||||
0a5fff35555153f59d4346933030a67b6e1a8768cee7a47cfa2fcf1a2c564f63 src/admin/web/favicon.svg
|
0a5fff35555153f59d4346933030a67b6e1a8768cee7a47cfa2fcf1a2c564f63 src/admin/web/favicon.svg
|
||||||
7cbdef9192a9dee1f8eac42b85f52b3190f7f6efae50004aa7ad116a910e4036 src/admin/web/file-logs.js
|
7cbdef9192a9dee1f8eac42b85f52b3190f7f6efae50004aa7ad116a910e4036 src/admin/web/file-logs.js
|
||||||
3f0525ca1d4e088ccd4988b8a117b26a8cf8c12213b24c37081d41b68d2b0ff2 src/admin/web/host404.js
|
3f0525ca1d4e088ccd4988b8a117b26a8cf8c12213b24c37081d41b68d2b0ff2 src/admin/web/host404.js
|
||||||
1809fefeccaf951a81d685445334d324de4c0aaf4cbe8d1f92bfe17fabee90ab src/admin/web/index.html
|
d9b226ebdd93b3e829f20e84dddb34f9bdba1ab01aefb33455102077ef0c94dd src/admin/web/index.html
|
||||||
7979c490b7fcfcd8f5e52e99fcf7757d78509337a625341c98f62c6da50da374 src/admin/web/integrations.js
|
7979c490b7fcfcd8f5e52e99fcf7757d78509337a625341c98f62c6da50da374 src/admin/web/integrations.js
|
||||||
7a12f020fc587205694978ab41b660e9a80487d413fbf6e34fc525eabc58308f src/admin/web/login-keys.json
|
7a12f020fc587205694978ab41b660e9a80487d413fbf6e34fc525eabc58308f src/admin/web/login-keys.json
|
||||||
ac9f667273918e18406df06cb2613c923f50a88897693a03a18f500e22dc6ec2 src/admin/web/login.html
|
ac9f667273918e18406df06cb2613c923f50a88897693a03a18f500e22dc6ec2 src/admin/web/login.html
|
||||||
c2e5f554810b8e34fb47361fb90a01073a2e332ee26d82e030956fad3ec1f83e src/admin/web/login.js
|
c2e5f554810b8e34fb47361fb90a01073a2e332ee26d82e030956fad3ec1f83e src/admin/web/login.js
|
||||||
16d848a25f744e55d18757ce82cfd80e85bcc5b1777342c41e7bd732e13d8913 src/admin/web/management.js
|
16d848a25f744e55d18757ce82cfd80e85bcc5b1777342c41e7bd732e13d8913 src/admin/web/management.js
|
||||||
1f3d10e389c9c20e6eb019509fa6e82b50c6b43bbf988c1210a4d42bb73985d0 src/admin/web/partials/overview-charts.html
|
1f3d10e389c9c20e6eb019509fa6e82b50c6b43bbf988c1210a4d42bb73985d0 src/admin/web/partials/overview-charts.html
|
||||||
72d151410dbbad1572309da366c19343587fa72fdf47a1849fcf2ae9b6bab93e src/admin/web/partials/overview-metrics.html
|
95ba5fa72c04628f211ca216931a895ddf2059a791fa9d17c74812acd6c874d0 src/admin/web/partials/overview-metrics.html
|
||||||
3928afce2ed6d5f2d3e29475dd29e4c3bd3c6df180ad5119beaff0c7a58e3b3b src/admin/web/prometheus-token.js
|
3928afce2ed6d5f2d3e29475dd29e4c3bd3c6df180ad5119beaff0c7a58e3b3b src/admin/web/prometheus-token.js
|
||||||
2d491fe9a547fe109dc5db6a74806d50b08c3daca15a6622c79c9fea33b10c63 src/admin/web/redirects.js
|
2d491fe9a547fe109dc5db6a74806d50b08c3daca15a6622c79c9fea33b10c63 src/admin/web/redirects.js
|
||||||
76a01f590d49649dcb1f554c221290919b2a8438e6001737f3c096fa6daec74d src/admin/web/settings.js
|
76a01f590d49649dcb1f554c221290919b2a8438e6001737f3c096fa6daec74d src/admin/web/settings.js
|
||||||
@@ -347,7 +347,7 @@ cc75698be2828000e88f2c482bd26f2fa4050e3432bec1b5a581dca17fef4a37 src/config/mod
|
|||||||
dd9a6ad8f58e0cdd1ae74f3f972fee0ac14383cd8b8f518403b9a36c169f35bd src/config/snapshot.rs
|
dd9a6ad8f58e0cdd1ae74f3f972fee0ac14383cd8b8f518403b9a36c169f35bd src/config/snapshot.rs
|
||||||
477cddaa1e1c0b9b605a2f550971a04cf30287519cba70cfbb2e1860e3a93ff2 src/config/tests.rs
|
477cddaa1e1c0b9b605a2f550971a04cf30287519cba70cfbb2e1860e3a93ff2 src/config/tests.rs
|
||||||
f35de0ee1516ece6bbfd2b2a7db7d1e0f5048b0ec47cf2a3765dffb799abfd93 src/config/transport_tests.rs
|
f35de0ee1516ece6bbfd2b2a7db7d1e0f5048b0ec47cf2a3765dffb799abfd93 src/config/transport_tests.rs
|
||||||
76bf74a51fa5c4d12c5fe3e5ba066fbf7a73d83bd62f349b18be100930f204a8 src/db.rs
|
a09f361d70510d6226f4dd6785e649c3dc01ccafc70a4c8b0dcd098e224129b7 src/db.rs
|
||||||
c290d0cb02dfa5d2c60ecabac1cfb20c8884e3d14cca1944906c6d8e677f1784 src/db/api_tokens.rs
|
c290d0cb02dfa5d2c60ecabac1cfb20c8884e3d14cca1944906c6d8e677f1784 src/db/api_tokens.rs
|
||||||
892ec0e5985700cca399c861197f6c9d2f1c823d8d95b88abac9d27ae15a069a src/db/certificate_api.rs
|
892ec0e5985700cca399c861197f6c9d2f1c823d8d95b88abac9d27ae15a069a src/db/certificate_api.rs
|
||||||
5491dd7bb9b3fceac97c4dea63aba6d5c7abcb0fbd06e36ae986e00c79bc07d0 src/db/dashboard_presets.rs
|
5491dd7bb9b3fceac97c4dea63aba6d5c7abcb0fbd06e36ae986e00c79bc07d0 src/db/dashboard_presets.rs
|
||||||
@@ -558,7 +558,7 @@ b791762b4ab7a43c3be19df84e523faf3dfb4df055f66d02178f93edb60d2204 src/web_server
|
|||||||
714418c86ab241020a561fcf662a8fe324a6a70cc2fd3a313c56d7939c14b9e8 src/web_server/tests.rs
|
714418c86ab241020a561fcf662a8fe324a6a70cc2fd3a313c56d7939c14b9e8 src/web_server/tests.rs
|
||||||
f00743af2cf4a5952caef7a1dcf68e7817b5599a252a9973e1c22045517c0b0e tests/fixtures/argon2id.json
|
f00743af2cf4a5952caef7a1dcf68e7817b5599a252a9973e1c22045517c0b0e tests/fixtures/argon2id.json
|
||||||
2f7f0453c817dc9e3d4ab61296af5821ff3e0826ad70511714afd7486c6105bc tests/panel_icons_browser.py
|
2f7f0453c817dc9e3d4ab61296af5821ff3e0826ad70511714afd7486c6105bc tests/panel_icons_browser.py
|
||||||
d136ebe964e83aa7194d70ec7e9dda36cf0e9832e7cd0d357d199440a705e4f2 tests/panel_icons_contract.js
|
5db3215d2e43e9dc9348a42b2351b7c605991ed8757f598de539f8f84e3f9593 tests/panel_icons_contract.js
|
||||||
01af3008be27fabb486c141c67099af104f2725cc56f4c656aea9741a3c150cd tests/panel_interface_contract.py
|
01af3008be27fabb486c141c67099af104f2725cc56f4c656aea9741a3c150cd tests/panel_interface_contract.py
|
||||||
24a815a280de87a7ccec6f4d212d1468022c844e9e7d0b113349ff26bde5fc52 tests/panel_refresh_contract.js
|
24a815a280de87a7ccec6f4d212d1468022c844e9e7d0b113349ff26bde5fc52 tests/panel_refresh_contract.js
|
||||||
e24a0f84f1bfc46964df865ac387d651f7b384d781cbc8f3a9a5b0b60f3d69ca tests/vhost_auth_selection.js
|
e24a0f84f1bfc46964df865ac387d651f7b384d781cbc8f3a9a5b0b60f3d69ca tests/vhost_auth_selection.js
|
||||||
|
|||||||
+1
-1
@@ -2643,7 +2643,7 @@
|
|||||||
"backendWidgetInFlight": "In flight",
|
"backendWidgetInFlight": "In flight",
|
||||||
"backendWidgetErrorsRate": "Recent errors/s",
|
"backendWidgetErrorsRate": "Recent errors/s",
|
||||||
"backendWidgetErrorPercent": "Recent failed requests",
|
"backendWidgetErrorPercent": "Recent failed requests",
|
||||||
"backendWidgetProbeCount": "Probed healthy origins",
|
"backendWidgetProbeCount": "Health Origins",
|
||||||
"backendWidgetH2c": "H2C origins",
|
"backendWidgetH2c": "H2C origins",
|
||||||
"backendWidgetModeUnknown": "Unknown",
|
"backendWidgetModeUnknown": "Unknown",
|
||||||
"vhProtocolCompatibilityWarning": "Compatibility mode: saved HTTP/2 HTTPS origins retain the previous H2/H1 TLS fallback. Choose H2 only if HTTP/1.1 must be rejected.",
|
"vhProtocolCompatibilityWarning": "Compatibility mode: saved HTTP/2 HTTPS origins retain the previous H2/H1 TLS fallback. Choose H2 only if HTTP/1.1 must be rejected.",
|
||||||
|
|||||||
+1
-1
@@ -2643,7 +2643,7 @@
|
|||||||
"backendWidgetInFlight": "W toku",
|
"backendWidgetInFlight": "W toku",
|
||||||
"backendWidgetErrorsRate": "Błędy/s",
|
"backendWidgetErrorsRate": "Błędy/s",
|
||||||
"backendWidgetErrorPercent": "Błędne żądania w ostatnim okresie",
|
"backendWidgetErrorPercent": "Błędne żądania w ostatnim okresie",
|
||||||
"backendWidgetProbeCount": "Zdrowe backendy z sondami",
|
"backendWidgetProbeCount": "Zdrowe źródła",
|
||||||
"backendWidgetH2c": "Backendy h2c",
|
"backendWidgetH2c": "Backendy h2c",
|
||||||
"backendWidgetModeUnknown": "Nieznane",
|
"backendWidgetModeUnknown": "Nieznane",
|
||||||
"vhProtocolCompatibilityWarning": "Tryb zgodności: zapisane wcześniej backendy HTTPS HTTP/2 zachowują fallback TLS H2/H1. Wybierz „Tylko H2”, jeżeli HTTP/1.1 ma być odrzucony.",
|
"vhProtocolCompatibilityWarning": "Tryb zgodności: zapisane wcześniej backendy HTTPS HTTP/2 zachowują fallback TLS H2/H1. Wybierz „Tylko H2”, jeżeli HTTP/1.1 ma być odrzucony.",
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ window.rustProxyBackendDashboard = (() => {
|
|||||||
for (const id of ids) {
|
for (const id of ids) {
|
||||||
if (!visible(id)) continue;
|
if (!visible(id)) continue;
|
||||||
set(`backend-dashboard-${id.slice("backend_".length)}`, "-");
|
set(`backend-dashboard-${id.slice("backend_".length)}`, "-");
|
||||||
set(`backend-dashboard-${id.slice("backend_".length)}-detail`, t("backendWidgetUnavailable"));
|
set(`backend-dashboard-${id.slice("backend_".length)}-detail`, id === "backend_latency" ? `${t("backendWidgetProbeCount")} -` : t("backendWidgetUnavailable"));
|
||||||
}
|
}
|
||||||
for (const id of ["backend-dashboard-in-rate", "backend-dashboard-out-rate"]) set(id, "-");
|
for (const id of ["backend-dashboard-in-rate", "backend-dashboard-out-rate"]) set(id, "-");
|
||||||
for (const id of ["backend-dashboard-active-line", "backend-dashboard-error-line", "backend-dashboard-latency-line", "backend-dashboard-in-line", "backend-dashboard-out-line", "backend-dashboard-request-line", "backend-dashboard-capacity-line", "backend-dashboard-5xx-line", "backend-dashboard-timeout-line", "backend-dashboard-network-line", "backend-dashboard-retry-line", "backend-dashboard-queue-line"])
|
for (const id of ["backend-dashboard-active-line", "backend-dashboard-error-line", "backend-dashboard-latency-line", "backend-dashboard-in-line", "backend-dashboard-out-line", "backend-dashboard-request-line", "backend-dashboard-capacity-line", "backend-dashboard-5xx-line", "backend-dashboard-timeout-line", "backend-dashboard-network-line", "backend-dashboard-retry-line", "backend-dashboard-queue-line"])
|
||||||
@@ -191,7 +191,7 @@ window.rustProxyBackendDashboard = (() => {
|
|||||||
}
|
}
|
||||||
if (visible("backend_latency")) {
|
if (visible("backend_latency")) {
|
||||||
set("backend-dashboard-latency", latency === null ? "-" : `${fmt(latency, 1)} ms`);
|
set("backend-dashboard-latency", latency === null ? "-" : `${fmt(latency, 1)} ms`);
|
||||||
set("backend-dashboard-latency-detail", `${t("backendWidgetProbeCount")}: ${probes.length}`);
|
set("backend-dashboard-latency-detail", `${t("backendWidgetProbeCount")} ${probes.length}`);
|
||||||
paintSeries("latency", "backend-dashboard-latency-line", Math.max(1, ...samples.latency));
|
paintSeries("latency", "backend-dashboard-latency-line", Math.max(1, ...samples.latency));
|
||||||
}
|
}
|
||||||
if (visible("backend_traffic")) {
|
if (visible("backend_traffic")) {
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ const UI_ICON_SHAPES = Object.freeze({
|
|||||||
sortDown: [["path", { d: "M8 5v14M5 16l3 3 3-3M14 8h5M14 12h4M14 16h3" }]],
|
sortDown: [["path", { d: "M8 5v14M5 16l3 3 3-3M14 8h5M14 12h4M14 16h3" }]],
|
||||||
sortUp: [["path", { d: "M8 19V5M5 8l3-3 3 3M14 8h3M14 12h4M14 16h5" }]],
|
sortUp: [["path", { d: "M8 19V5M5 8l3-3 3 3M14 8h3M14 12h4M14 16h5" }]],
|
||||||
trash: [["path", { d: "M4 7h16M9 3h6l1 4H8l1-4ZM7 7l1 14h8l1-14M10 11v6M14 11v6" }]],
|
trash: [["path", { d: "M4 7h16M9 3h6l1 4H8l1-4ZM7 7l1 14h8l1-14M10 11v6M14 11v6" }]],
|
||||||
|
toggleOff: [["rect", { x: "3", y: "7", width: "18", height: "10", rx: "5" }], ["circle", { cx: "8", cy: "12", r: "3", fill: "currentColor", stroke: "none" }]],
|
||||||
|
toggleOn: [["rect", { x: "3", y: "7", width: "18", height: "10", rx: "5" }], ["circle", { cx: "16", cy: "12", r: "3", fill: "currentColor", stroke: "none" }]],
|
||||||
undo: [["path", { d: "M9 7H4v-5M4 7l4-4M4.5 8A8 8 0 1 1 5 17" }]],
|
undo: [["path", { d: "M9 7H4v-5M4 7l4-4M4.5 8A8 8 0 1 1 5 17" }]],
|
||||||
upload: [["path", { d: "M12 16V4m0 0-4 4m4-4 4 4M4 20h16" }]],
|
upload: [["path", { d: "M12 16V4m0 0-4 4m4-4 4 4M4 20h16" }]],
|
||||||
users: [["circle", { cx: "9", cy: "9", r: "3" }], ["path", { d: "M3 20v-2a5 5 0 0 1 10 0v2M16 8a3 3 0 0 1 0 6M16 15a5 5 0 0 1 5 5" }]],
|
users: [["circle", { cx: "9", cy: "9", r: "3" }], ["path", { d: "M3 20v-2a5 5 0 0 1 10 0v2M16 8a3 3 0 0 1 0 6M16 15a5 5 0 0 1 5 5" }]],
|
||||||
@@ -128,6 +130,8 @@ function uiIconForTarget(target) {
|
|||||||
if (target.matches(".overview-inline-grip, .overview-inline-narrow, .overview-inline-widen, .overview-inline-up, .overview-inline-down, .overview-inline-hide, .overview-layout-narrow, .overview-layout-widen, .overview-layout-up, .overview-layout-down, .overview-layout-hide")) return null;
|
if (target.matches(".overview-inline-grip, .overview-inline-narrow, .overview-inline-widen, .overview-inline-up, .overview-inline-down, .overview-inline-hide, .overview-layout-narrow, .overview-layout-widen, .overview-layout-up, .overview-layout-down, .overview-layout-hide")) return null;
|
||||||
if (target.matches("#tunnels-open")) return null;
|
if (target.matches("#tunnels-open")) return null;
|
||||||
if (target.matches("#web-service-preset-apply")) return "wand";
|
if (target.matches("#web-service-preset-apply")) return "wand";
|
||||||
|
if (target.matches(".vhost-quick-toggle.is-enable")) return "toggleOn";
|
||||||
|
if (target.matches(".vhost-quick-toggle.is-disable")) return "toggleOff";
|
||||||
if (target.matches(".listener-h2-settings-link, .listener-h3-settings-link")) return "settings";
|
if (target.matches(".listener-h2-settings-link, .listener-h3-settings-link")) return "settings";
|
||||||
if (target.dataset.panel && UI_PANEL_ICONS[target.dataset.panel]) return UI_PANEL_ICONS[target.dataset.panel];
|
if (target.dataset.panel && UI_PANEL_ICONS[target.dataset.panel]) return UI_PANEL_ICONS[target.dataset.panel];
|
||||||
if (target.dataset.settingsTab && UI_SETTINGS_TAB_ICONS[target.dataset.settingsTab]) return UI_SETTINGS_TAB_ICONS[target.dataset.settingsTab];
|
if (target.dataset.settingsTab && UI_SETTINGS_TAB_ICONS[target.dataset.settingsTab]) return UI_SETTINGS_TAB_ICONS[target.dataset.settingsTab];
|
||||||
|
|||||||
@@ -1456,9 +1456,16 @@ body[data-density=compact] .page-footer {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.about-repository span:first-child {
|
||||||
|
margin-right: auto;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
.about-repository span:last-child {
|
.about-repository span:last-child {
|
||||||
|
margin-left: auto;
|
||||||
color: var(--muted);
|
color: var(--muted);
|
||||||
font: 10px var(--mono);
|
font: 10px var(--mono);
|
||||||
|
text-align: right;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
|||||||
@@ -638,6 +638,28 @@ body[data-density=compact] .pool-card .table-scroll {
|
|||||||
top: 44px;
|
top: 44px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#panel-overview .backend-latency-stat>span:first-child {
|
||||||
|
display: block;
|
||||||
|
padding-right: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#panel-overview .backend-latency-stat .backend-health-origins {
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
margin: 0;
|
||||||
|
max-width: 100px;
|
||||||
|
color: var(--muted);
|
||||||
|
font: 9px var(--mono);
|
||||||
|
line-height: 1.25;
|
||||||
|
text-align: right;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#panel-overview .dashboard-overview-grid.is-unlocked .backend-latency-stat .backend-health-origins {
|
||||||
|
top: 44px;
|
||||||
|
}
|
||||||
|
|
||||||
.stat-chart strong {
|
.stat-chart strong {
|
||||||
margin-bottom: 3px;
|
margin-bottom: 3px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -897,8 +897,7 @@
|
|||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
}
|
}
|
||||||
|
|
||||||
.logs-card>.card-heading,
|
.logs-card>.card-heading {
|
||||||
.about-repository {
|
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4467,16 +4467,16 @@ log_errors = On</code></pre>
|
|||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<div class="about-links">
|
<div class="about-links">
|
||||||
<a class="outline about-repository" href="https://rustproxy.linuxiarz.pl/" rel="noopener noreferrer"
|
<a class="outline about-repository" data-ui-icon-name="none" href="https://rustproxy.linuxiarz.pl/" rel="noopener noreferrer"
|
||||||
target="_blank"><span data-i18n="aboutPackagesRepository">Website and
|
target="_blank"><span data-i18n="aboutPackagesRepository">Website and
|
||||||
packages</span><span>rustproxy.linuxiarz.pl</span></a>
|
packages</span><span>rustproxy.linuxiarz.pl</span></a>
|
||||||
<a class="outline about-repository" href="https://git.linuxiarz.pl/gru/RustProxy"
|
<a class="outline about-repository" data-ui-icon-name="none" href="https://git.linuxiarz.pl/gru/RustProxy"
|
||||||
rel="noopener noreferrer" target="_blank"><span data-i18n="aboutRepository">Source
|
rel="noopener noreferrer" target="_blank"><span data-i18n="aboutRepository">Source
|
||||||
code</span><span>git.linuxiarz.pl/gru/RustProxy</span></a>
|
code</span><span>git.linuxiarz.pl/gru/RustProxy</span></a>
|
||||||
<a class="outline about-repository" href="/docs#doc=docs%2FREADME.md" rel="noopener"
|
<a class="outline about-repository" data-ui-icon-name="none" href="/docs#doc=docs%2FREADME.md" rel="noopener"
|
||||||
target="_blank"><span data-i18n="aboutDocumentation">Documentation and API
|
target="_blank"><span data-i18n="aboutDocumentation">Documentation and API
|
||||||
reference</span><span>/docs</span></a>
|
reference</span><span>/docs</span></a>
|
||||||
<a class="outline about-repository" href="/docs#doc=LICENSE" rel="noopener" target="_blank"><span
|
<a class="outline about-repository" data-ui-icon-name="none" href="/docs#doc=LICENSE" rel="noopener" target="_blank"><span
|
||||||
data-i18n="aboutLicenseText">Full license text</span><span>LICENSE</span></a>
|
data-i18n="aboutLicenseText">Full license text</span><span>LICENSE</span></a>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|||||||
@@ -149,13 +149,14 @@
|
|||||||
</polyline>
|
</polyline>
|
||||||
</svg><small id="backend-dashboard-errors-detail">-</small>
|
</svg><small id="backend-dashboard-errors-detail">-</small>
|
||||||
</article>
|
</article>
|
||||||
<article class="stat stat-chart" data-dashboard-widget="backend_latency" hidden>
|
<article class="stat stat-chart backend-latency-stat" data-dashboard-widget="backend_latency" hidden>
|
||||||
<span data-i18n="backendWidgetLatency">Health probe RTT</span><strong id="backend-dashboard-latency">-</strong>
|
<span data-i18n="backendWidgetLatency">Health probe RTT</span><small class="backend-health-origins"
|
||||||
|
id="backend-dashboard-latency-detail">Health Origins -</small><strong id="backend-dashboard-latency">-</strong>
|
||||||
<svg preserveAspectRatio="none" data-i18n-aria="backendWidgetLatency" role="img" viewBox="0 0 300 60">
|
<svg preserveAspectRatio="none" data-i18n-aria="backendWidgetLatency" role="img" viewBox="0 0 300 60">
|
||||||
<path class="chart-grid" d="M0 15H300 M0 30H300 M0 45H300"></path>
|
<path class="chart-grid" d="M0 15H300 M0 30H300 M0 45H300"></path>
|
||||||
<polyline class="diagnostic-line proto-h2-line" id="backend-dashboard-latency-line" points="0,55 300,55">
|
<polyline class="diagnostic-line proto-h2-line" id="backend-dashboard-latency-line" points="0,55 300,55">
|
||||||
</polyline>
|
</polyline>
|
||||||
</svg><small id="backend-dashboard-latency-detail">-</small>
|
</svg>
|
||||||
</article>
|
</article>
|
||||||
<article class="stat stat-chart" data-dashboard-widget="backend_traffic" hidden>
|
<article class="stat stat-chart" data-dashboard-widget="backend_traffic" hidden>
|
||||||
<span data-i18n="backendWidgetTraffic">Backend traffic</span><strong id="backend-dashboard-traffic">-</strong>
|
<span data-i18n="backendWidgetTraffic">Backend traffic</span><strong id="backend-dashboard-traffic">-</strong>
|
||||||
|
|||||||
@@ -27,6 +27,11 @@ assert.match(icons, /data\.panel|dataset\.panel/);
|
|||||||
assert.match(icons, /MutationObserver/);
|
assert.match(icons, /MutationObserver/);
|
||||||
assert.match(icons, /if \(target\.dataset\.httpSettingsTab\) return "network"/);
|
assert.match(icons, /if \(target\.dataset\.httpSettingsTab\) return "network"/);
|
||||||
assert.match(icons, /#web-service-preset-apply.*return "wand"/);
|
assert.match(icons, /#web-service-preset-apply.*return "wand"/);
|
||||||
|
assert.match(icons, /vhost-quick-toggle\.is-enable.*return "toggleOn"/);
|
||||||
|
assert.match(icons, /vhost-quick-toggle\.is-disable.*return "toggleOff"/);
|
||||||
|
assert.equal((html.match(/class="outline about-repository" data-ui-icon-name="none"/g) || []).length, 4);
|
||||||
|
assert.match(metricsPartial, /backend-latency-stat[\s\S]*backend-health-origins[\s\S]*backend-dashboard-latency-detail/);
|
||||||
|
assert.equal(JSON.parse(read("langs/en_US.json")).translations.backendWidgetProbeCount, "Health Origins");
|
||||||
assert.match(icons, /#tunnels-open.*return null/);
|
assert.match(icons, /#tunnels-open.*return null/);
|
||||||
assert.match(icons, /#logs-menu > summary/);
|
assert.match(icons, /#logs-menu > summary/);
|
||||||
assert.match(integrations, /listener-h2-settings-link.*uiIconName = "settings"/);
|
assert.match(integrations, /listener-h2-settings-link.*uiIconName = "settings"/);
|
||||||
@@ -38,7 +43,7 @@ assert.match(css, /html\[data-interface-icons="true"\]/);
|
|||||||
assert.equal(openapi.components.schemas.AdminPreferences.properties.interface_icons.default, false);
|
assert.equal(openapi.components.schemas.AdminPreferences.properties.interface_icons.default, false);
|
||||||
assert.equal(openapi.components.schemas.AdminPreferences.properties.interface_icons.type, "boolean");
|
assert.equal(openapi.components.schemas.AdminPreferences.properties.interface_icons.type, "boolean");
|
||||||
|
|
||||||
for (const icon of ["plus", "save", "check", "trash", "edit", "refresh", "settings", "search", "key", "certificate", "shield", "network", "database", "wand", "grid", "activity", "book"]) {
|
for (const icon of ["plus", "save", "check", "trash", "edit", "refresh", "settings", "search", "key", "certificate", "shield", "network", "database", "wand", "grid", "activity", "book", "toggleOn", "toggleOff"]) {
|
||||||
assert.ok(new RegExp(`\\b${icon}:`).test(icons), `missing semantic SVG icon definition: ${icon}`);
|
assert.ok(new RegExp(`\\b${icon}:`).test(icons), `missing semantic SVG icon definition: ${icon}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user