Skip to content

Commit df838ed

Browse files
authored
Merge pull request #1531 from gnmyt/features/remove-30-days-limit
🗓️ Remove 30 days limit
2 parents ea0e973 + bbbbab7 commit df838ed

18 files changed

Lines changed: 346 additions & 25 deletions

File tree

README.de.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616

1717
## 🤔 Was ist MySpeed?
1818

19-
MySpeed ist eine Speedtest-Analyse-Software, welche die Geschwindigkeit deines Internets bis zu 30 Tage lang speichert.
19+
MySpeed ist eine Speedtest-Analyse-Software, welche die Geschwindigkeit deines Internets über einen frei konfigurierbaren Zeitraum speichert.
2020

2121
### ⭐ Features
2222

2323
- 📊 MySpeed generiert übersichtliche Statistiken über Geschwindigkeit, Ping und mehr
2424
- ⏰ MySpeed automatisiert Speedtests und lässt dich mithilfe von Cron-Expressions die Zeit zwischen den Tests festlegen
2525
- 🗄️ Füge mehrere Server direkt zu einer MySpeed-Instanz hinzu
2626
- 🩺 Es lassen sich Healthchecks konfigurieren, welche dich bei Fehlern oder Ausfällen über E-Mail, Signal, WhatsApp oder Telegram benachrichtigen können
27-
- 📆 Testergebnisse lassen sich bis zu 30 Tage lang speichern
27+
- 📆 Testergebnisse lassen sich beliebig lange speichern - die Aufbewahrungsdauer ist frei konfigurierbar
2828
- 🔥 Unterstützung für Prometheus und Grafana
2929
- 🗳️ Wähle zwischen Ookla, LibreSpeed und Cloudflare Speedtest-Servern
3030
- 💁 Erfahre mehr zu MySpeed auf unserer [Website](https://myspeed.dev)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616

1717
## 🤔 What is MySpeed?
1818

19-
MySpeed is a speed test analysis software that records your internet speed for up to 30 days.
19+
MySpeed is a speed test analysis software that records your internet speed over a fully configurable retention period.
2020

2121
### ⭐ Features
2222

2323
- 📊 MySpeed generates clear statistics on speed, ping, and more
2424
- ⏰ MySpeed automates speed tests and allows you to set the time between tests using Cron expressions
2525
- 🗄️ Add multiple servers directly to a MySpeed instance
2626
- 🩺 Configure health checks to notify you via email, Signal, WhatsApp, or Telegram in case of errors or downtime
27-
- 📆 Test results can be stored for up to 30 days
27+
- 📆 Test results can be stored for any retention period you configure - from a few days to forever
2828
- 🔥 Support for Prometheus and Grafana
2929
- 🗳️ Choose between Ookla, LibreSpeed and Cloudflare speed test servers
3030
- 💁 Learn more about MySpeed on our [website](https://myspeed.dev)

client/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<meta property="og:image" content="/api/opengraph/image" />
99
<meta property="og:image:type" content="image/png" />
1010
<meta name="twitter:title" content="MySpeed" />
11-
<meta name="twitter:description" content="A speed test analysis software that shows your internet speed for up to 30 days" />
11+
<meta name="twitter:description" content="A speed test analysis software that shows your internet speed history over a configurable retention period" />
1212
<meta name="twitter:card" content="summary_large_image" />
1313
<meta name="twitter:image:src" content="/api/opengraph/image" />
14-
<meta name="description" content="A speed test analysis software that shows your internet speed for up to 30 days" />
14+
<meta name="description" content="A speed test analysis software that shows your internet speed history over a configurable retention period" />
1515
<link rel="apple-touch-icon" href="/assets/img/logo192.png" />
1616
<link rel="manifest" href="/manifest.json" />
1717
<title>MySpeed</title>

client/public/assets/locales/de.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,22 @@
155155
"reset": "Zurücksetzen",
156156
"confirm_reset": "Ja, zurücksetzen",
157157
"settings_exported": "Die Einstellungen wurden exportiert",
158-
"settings_imported": "Die Einstellungen wurden importiert"
158+
"settings_imported": "Die Einstellungen wurden importiert",
159+
"retention": "Datenspeicherung",
160+
"retention_desc": "Wie lange Speedtest-Ergebnisse aufbewahrt werden, bevor sie automatisch gelöscht werden.",
161+
"retention_saved": "Speicherdauer aktualisiert",
162+
"retention_days_placeholder": "365",
163+
"retention_options": {
164+
"week": "7 Tage",
165+
"month": "30 Tage",
166+
"quarter": "90 Tage",
167+
"half_year": "180 Tage",
168+
"year": "1 Jahr (Standard)",
169+
"forever": "Für immer behalten",
170+
"custom": "Benutzerdefiniert..."
171+
},
172+
"retention_days_suffix": "Tage",
173+
"retention_back": "Zurück zu Voreinstellungen"
159174
},
160175
"latest": {
161176
"ping": "Ping",

client/public/assets/locales/en.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
},
7979
"about": {
8080
"title": "About MySpeed",
81-
"description": "MySpeed is an open-source speedtest analysis software that records your internet speed for up to 30 days.",
81+
"description": "MySpeed is an open-source speedtest analysis software that records your internet speed over a configurable period of time.",
8282
"github": "GitHub",
8383
"website": "Website",
8484
"donate": "Donate",
@@ -196,7 +196,22 @@
196196
"reset": "Reset",
197197
"confirm_reset": "Yes, reset",
198198
"settings_exported": "The settings have been exported",
199-
"settings_imported": "The settings have been imported"
199+
"settings_imported": "The settings have been imported",
200+
"retention": "Data retention",
201+
"retention_desc": "How long speedtest results are kept before being automatically deleted.",
202+
"retention_saved": "Retention period updated",
203+
"retention_days_placeholder": "365",
204+
"retention_days_suffix": "days",
205+
"retention_back": "Back to presets",
206+
"retention_options": {
207+
"week": "7 days",
208+
"month": "30 days",
209+
"quarter": "90 days",
210+
"half_year": "180 days",
211+
"year": "1 year (default)",
212+
"forever": "Keep forever",
213+
"custom": "Custom..."
214+
}
200215
},
201216
"latest": {
202217
"ping": "Ping",

client/public/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"short_name": "MySpeed",
33
"name": "MySpeed - Speedtests",
4-
"description": "A speed test analysis software that shows your internet speed for up to 30 days",
4+
"description": "A speed test analysis software that shows your internet speed history over a configurable retention period",
55
"icons": [
66
{
77
"src": "/assets/img/favicon.ico",

client/src/common/components/StorageDialog/styles.sass

Lines changed: 129 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@
6666
flex: 1
6767
display: flex
6868
flex-direction: column
69-
gap: 1.25rem
69+
gap: 1rem
70+
min-height: 18rem
7071

7172
.storage-row
7273
display: flex
@@ -103,6 +104,121 @@
103104
.dialog-btn
104105
padding: 0.5rem 1rem
105106

107+
.storage-select,
108+
.storage-input
109+
display: inline-flex
110+
align-items: center
111+
padding: 0.5rem 1rem
112+
background-color: $darker-gray
113+
border: 1px solid $light-gray
114+
border-radius: 0.6rem
115+
color: $white
116+
font-family: inherit
117+
font-size: 1rem
118+
font-weight: 500
119+
line-height: 1.25
120+
cursor: pointer
121+
outline: none
122+
box-sizing: border-box
123+
transition: all 0.15s ease
124+
125+
&:hover
126+
border-color: $accent-primary
127+
128+
&:focus
129+
border-color: $accent-primary
130+
131+
&.input-error,
132+
&.input-error:focus
133+
border-color: $accent-danger
134+
135+
.storage-input
136+
cursor: text
137+
text-align: left
138+
appearance: textfield
139+
-moz-appearance: textfield
140+
141+
&::-webkit-outer-spin-button,
142+
&::-webkit-inner-spin-button
143+
-webkit-appearance: none
144+
margin: 0
145+
146+
.storage-retention-select-wrap
147+
position: relative
148+
display: inline-flex
149+
150+
&::after
151+
content: ""
152+
position: absolute
153+
right: 0.85rem
154+
top: 50%
155+
width: 0.5rem
156+
height: 0.5rem
157+
border-right: 2px solid $subtext
158+
border-bottom: 2px solid $subtext
159+
transform: translateY(-70%) rotate(45deg)
160+
pointer-events: none
161+
transition: border-color 0.15s ease
162+
163+
&:hover::after
164+
border-color: $accent-primary
165+
166+
.storage-select
167+
appearance: none
168+
-webkit-appearance: none
169+
-moz-appearance: none
170+
padding-right: 2.25rem
171+
172+
&::-ms-expand
173+
display: none
174+
175+
.storage-retention-controls
176+
align-items: center
177+
flex-wrap: nowrap
178+
179+
.storage-retention-select-wrap
180+
flex: 0 1 auto
181+
182+
.storage-input-wrap
183+
position: relative
184+
display: inline-flex
185+
align-items: center
186+
flex: 0 1 7.5rem
187+
188+
.storage-input
189+
width: 100%
190+
padding-right: 3rem
191+
192+
.storage-input-suffix
193+
position: absolute
194+
right: 0.85rem
195+
color: $subtext
196+
font-size: 0.875rem
197+
font-weight: 500
198+
pointer-events: none
199+
200+
.storage-icon-btn
201+
display: inline-flex
202+
align-items: center
203+
justify-content: center
204+
width: 2.4rem
205+
height: 2.4rem
206+
padding: 0
207+
flex-shrink: 0
208+
background-color: $darker-gray
209+
border: 1px solid $light-gray
210+
border-radius: 0.6rem
211+
color: $subtext
212+
cursor: pointer
213+
transition: all 0.15s ease
214+
215+
&:hover
216+
border-color: $accent-primary
217+
color: $accent-primary
218+
219+
svg
220+
font-size: 0.9rem
221+
106222
@media (max-width: 781px)
107223
.storage-dialog-wrapper
108224
width: 95vw
@@ -123,6 +239,9 @@
123239
justify-content: center
124240
gap: 0.5rem
125241

242+
.storage-manager
243+
min-height: 0
244+
126245
.storage-row
127246
flex-direction: column
128247
align-items: flex-start
@@ -132,4 +251,12 @@
132251
width: 100%
133252

134253
.dialog-btn
135-
flex: 1
254+
flex: 1
255+
256+
.storage-retention-controls
257+
.storage-retention-select-wrap,
258+
.storage-input-wrap
259+
flex: 1
260+
261+
.storage-select
262+
width: 100%

0 commit comments

Comments
 (0)