diff --git a/MP-TAB3/Components/MachineBlock.razor.cs b/MP-TAB3/Components/MachineBlock.razor.cs
index c2395ae0..cc561157 100644
--- a/MP-TAB3/Components/MachineBlock.razor.cs
+++ b/MP-TAB3/Components/MachineBlock.razor.cs
@@ -36,6 +36,9 @@ namespace MP_TAB3.Components
[Parameter]
public int Width { get; set; } = 0;
+ [Parameter]
+ public bool doBlink { get; set; } = false;
+
#endregion Public Properties
#region Public Methods
@@ -110,16 +113,18 @@ namespace MP_TAB3.Components
get
{
string answ = "border-3";
+ // se blink --> bianco!
+
if (RecMSE != null)
{
switch (RecMSE.Semaforo)
{
case "sGi":
- answ += " border-warning";
+ answ += doBlink ? " border-secondary shadow shadow-primary" : " border-warning shadow shadow-warning";
break;
case "sRo":
- answ += " border-danger";
+ answ += doBlink ? " border-secondary shadow shadow-primary" : " border-danger shadow shadow-danger";
break;
case "sGr":
diff --git a/MP-TAB3/Components/MachineBlock.razor.css b/MP-TAB3/Components/MachineBlock.razor.css
index 461d2fd7..110d6974 100644
--- a/MP-TAB3/Components/MachineBlock.razor.css
+++ b/MP-TAB3/Components/MachineBlock.razor.css
@@ -83,26 +83,68 @@
color: #fff;
}
/*end semafori */
+/* shadow customizzate */
+/* Custom shadow class definitions */
+.shadow {
+ --bs-shadow-rgb: 0, 0, 0;
+ box-shadow: 0 0.5rem 1rem rgba(var(--bs-shadow-rgb), 0.15) !important;
+}
+.shadow-sm {
+ --bs-shadow-rgb: 0, 0, 0;
+ box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-shadow-rgb), 0.075) !important;
+}
+.shadow-lg {
+ --bs-shadow-rgb: 0, 0, 0;
+ box-shadow: 0 1rem 3rem rgba(var(--bs-shadow-rgb), 0.175) !important;
+}
+.shadow-none {
+ box-shadow: none !important;
+}
+/* Custom shadow classes with specific colors */
+.shadow-primary {
+ --bs-shadow-rgb: var(--bs-primary-rgb);
+}
+.shadow-secondary {
+ --bs-shadow-rgb: var(--bs-secondary-rgb);
+}
+.shadow-success {
+ --bs-shadow-rgb: var(--bs-success-rgb);
+}
+.shadow-info {
+ --bs-shadow-rgb: var(--bs-info-rgb);
+}
+.shadow-warning {
+ --bs-shadow-rgb: var(--bs-warning-rgb);
+}
+.shadow-danger {
+ --bs-shadow-rgb: var(--bs-danger-rgb);
+}
+.shadow-light {
+ --bs-shadow-rgb: var(--bs-light-rgb);
+}
+.shadow-dark {
+ --bs-shadow-rgb: var(--bs-dark-rgb);
+}
.card-body {
background-color: currentColor;
background-image: linear-gradient(121deg, rgba(255, 255, 255, 0.2) -0.71%, rgba(255, 255, 255, 0.05) 97.66%);
}
.imgFitToSize {
- height: 11rem;
+ height: 10rem;
object-fit: cover;
}
.pholderHeight {
- height: 6rem;
+ height: 7rem;
object-fit: cover;
}
@media (max-width: 640.98px) {
.imgFitToSize {
- height: 8rem;
+ height: 7.5rem;
}
.card-body {
background-color: transparent;
}
.pholderHeight {
- height: 4rem;
+ height: 5rem;
}
}
\ No newline at end of file
diff --git a/MP-TAB3/Components/MachineBlock.razor.less b/MP-TAB3/Components/MachineBlock.razor.less
index 2ef91c54..7a5936f9 100644
--- a/MP-TAB3/Components/MachineBlock.razor.less
+++ b/MP-TAB3/Components/MachineBlock.razor.less
@@ -90,30 +90,89 @@
color: #fff;
}
/*end semafori */
+
+/* shadow customizzate */
+/* Custom shadow class definitions */
+
+.shadow {
+ --bs-shadow-rgb: 0, 0, 0;
+ box-shadow: 0 0.5rem 1rem rgba(var(--bs-shadow-rgb), 0.15) !important;
+}
+
+.shadow-sm {
+ --bs-shadow-rgb: 0, 0, 0;
+ box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-shadow-rgb), 0.075) !important;
+}
+
+.shadow-lg {
+ --bs-shadow-rgb: 0, 0, 0;
+ box-shadow: 0 1rem 3rem rgba(var(--bs-shadow-rgb), 0.175) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+
+/* Custom shadow classes with specific colors */
+
+.shadow-primary {
+ --bs-shadow-rgb: var(--bs-primary-rgb);
+}
+
+.shadow-secondary {
+ --bs-shadow-rgb: var(--bs-secondary-rgb);
+}
+
+.shadow-success {
+ --bs-shadow-rgb: var(--bs-success-rgb);
+}
+
+.shadow-info {
+ --bs-shadow-rgb: var(--bs-info-rgb);
+}
+
+.shadow-warning {
+ --bs-shadow-rgb: var(--bs-warning-rgb);
+}
+
+.shadow-danger {
+ --bs-shadow-rgb: var(--bs-danger-rgb);
+}
+
+.shadow-light {
+ --bs-shadow-rgb: var(--bs-light-rgb);
+}
+
+.shadow-dark {
+ --bs-shadow-rgb: var(--bs-dark-rgb);
+}
+
+
.card-body {
background-color: currentColor;
background-image: linear-gradient(121deg, rgba(255, 255, 255, 0.20) -0.71%, rgba(255, 255, 255, 0.05) 97.66%);
}
.imgFitToSize {
- height: 11rem;
+ height: 10rem;
object-fit: cover;
}
.pholderHeight {
- height: 6rem;
+ height: 7rem;
object-fit: cover;
}
@media (max-width: 640.98px){
.imgFitToSize{
- height: 8rem;
+ height: 7.5rem;
}
.card-body{
background-color: transparent;
}
.pholderHeight {
- height: 4rem;
+ height: 5rem;
}
}
diff --git a/MP-TAB3/Components/MachineBlock.razor.min.css b/MP-TAB3/Components/MachineBlock.razor.min.css
index 04344d49..b29425e6 100644
--- a/MP-TAB3/Components/MachineBlock.razor.min.css
+++ b/MP-TAB3/Components/MachineBlock.razor.min.css
@@ -1 +1 @@
-.mapBlock{font-family:'Open Sans Condensed',sans-serif;color:#fff;background-image:linear-gradient(#111,#000);min-width:8em;}.labelTop{padding:.1em;width:auto;min-height:0;top:0;left:auto;bottom:auto;color:#fff;background:#2200de;background:rgba(33,36,39,.75);border-radius:15px 15px 0 0;}.scroll-left{height:1.5em;overflow:hidden;position:relative;width:70%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(0%);-webkit-transform:translateX(0%);transform:translateX(0%);-moz-animation:scroll-left 8s ease infinite;-webkit-animation:scroll-left 8s ease infinite;animation:scroll-left 8s ease infinite;}@keyframes scroll-left{0%{transform:translateX(0%);}30%{transform:translateX(0%);}80%{transform:translateX(-50%);}}.sVe{text-align:left;background:#198754;color:#fff;}.sGi{text-align:left;background:#ffc107;background:rgba(255,220,0,.6);color:#fff;}.sRo{text-align:left;background-color:#e2001a;background:rgba(240,0,10,.6);color:#fff;}.sBl{text-align:left;background:#3690ff;background:rgba(0,80,255,.6);color:#fff;}.sGr{text-align:left;background-color:#bcbcbc;background:rgba(180,180,180,.6);color:#fff;}.card-body{background-color:currentColor;background-image:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);}.imgFitToSize{height:11rem;object-fit:cover;}.pholderHeight{height:6rem;object-fit:cover;}@media(max-width:640.98px){.imgFitToSize{height:8rem;}.card-body{background-color:transparent;}.pholderHeight{height:4rem;}}
\ No newline at end of file
+.mapBlock{font-family:'Open Sans Condensed',sans-serif;color:#fff;background-image:linear-gradient(#111,#000);min-width:8em;}.labelTop{padding:.1em;width:auto;min-height:0;top:0;left:auto;bottom:auto;color:#fff;background:#2200de;background:rgba(33,36,39,.75);border-radius:15px 15px 0 0;}.scroll-left{height:1.5em;overflow:hidden;position:relative;width:70%;white-space:nowrap;}.scroll-left span{position:absolute;width:100%;height:100%;margin:0;line-height:1.5em;-moz-transform:translateX(0%);-webkit-transform:translateX(0%);transform:translateX(0%);-moz-animation:scroll-left 8s ease infinite;-webkit-animation:scroll-left 8s ease infinite;animation:scroll-left 8s ease infinite;}@keyframes scroll-left{0%{transform:translateX(0%);}30%{transform:translateX(0%);}80%{transform:translateX(-50%);}}.sVe{text-align:left;background:#198754;color:#fff;}.sGi{text-align:left;background:#ffc107;background:rgba(255,220,0,.6);color:#fff;}.sRo{text-align:left;background-color:#e2001a;background:rgba(240,0,10,.6);color:#fff;}.sBl{text-align:left;background:#3690ff;background:rgba(0,80,255,.6);color:#fff;}.sGr{text-align:left;background-color:#bcbcbc;background:rgba(180,180,180,.6);color:#fff;}.shadow{--bs-shadow-rgb:0,0,0;box-shadow:0 .5rem 1rem rgba(var(--bs-shadow-rgb),.15)!important;}.shadow-sm{--bs-shadow-rgb:0,0,0;box-shadow:0 .125rem .25rem rgba(var(--bs-shadow-rgb),.075)!important;}.shadow-lg{--bs-shadow-rgb:0,0,0;box-shadow:0 1rem 3rem rgba(var(--bs-shadow-rgb),.175)!important;}.shadow-none{box-shadow:none!important;}.shadow-primary{--bs-shadow-rgb:var(--bs-primary-rgb);}.shadow-secondary{--bs-shadow-rgb:var(--bs-secondary-rgb);}.shadow-success{--bs-shadow-rgb:var(--bs-success-rgb);}.shadow-info{--bs-shadow-rgb:var(--bs-info-rgb);}.shadow-warning{--bs-shadow-rgb:var(--bs-warning-rgb);}.shadow-danger{--bs-shadow-rgb:var(--bs-danger-rgb);}.shadow-light{--bs-shadow-rgb:var(--bs-light-rgb);}.shadow-dark{--bs-shadow-rgb:var(--bs-dark-rgb);}.card-body{background-color:currentColor;background-image:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);}.imgFitToSize{height:10rem;object-fit:cover;}.pholderHeight{height:7rem;object-fit:cover;}@media(max-width:640.98px){.imgFitToSize{height:7.5rem;}.card-body{background-color:transparent;}.pholderHeight{height:5rem;}}
\ No newline at end of file
diff --git a/MP-TAB3/MP-TAB3.csproj b/MP-TAB3/MP-TAB3.csproj
index b9b8d4f5..2163d4b3 100644
--- a/MP-TAB3/MP-TAB3.csproj
+++ b/MP-TAB3/MP-TAB3.csproj
@@ -3,7 +3,7 @@
net6.0
enable
- 6.16.2402.2620
+ 6.16.2402.2708
enable
MP_TAB3
diff --git a/MP-TAB3/Pages/BasePage.razor.cs b/MP-TAB3/Pages/BasePage.razor.cs
index 6045369a..2657a516 100644
--- a/MP-TAB3/Pages/BasePage.razor.cs
+++ b/MP-TAB3/Pages/BasePage.razor.cs
@@ -42,6 +42,7 @@ namespace MP_TAB3.Pages
IdxMacc = "";
CurrMSE = null;
TDFeeder.dataPipe.EA_NewMessage -= DataPipe_EA_NewMessage;
+ TDFeeder.blinkPipe.EA_NewMessage -= BlinkPipe_EA_NewMessage;
}
#endregion Public Methods
@@ -57,6 +58,7 @@ namespace MP_TAB3.Pages
await base.OnInitializedAsync();
await ReloadData();
TDFeeder.dataPipe.EA_NewMessage += DataPipe_EA_NewMessage;
+ TDFeeder.blinkPipe.EA_NewMessage += BlinkPipe_EA_NewMessage;
}
///
@@ -100,10 +102,25 @@ namespace MP_TAB3.Pages
}
}
+ protected virtual async Task ReloadData()
+ {
+ if (string.IsNullOrEmpty(IdxMacc))
+ {
+ IdxMacc = await MsgServ.IdxMaccGet();
+ }
+ // recupero MSE macchina....
+ if (!string.IsNullOrEmpty(IdxMacc))
+ {
+ CurrMSE = await MsgServ.GetMachineMse(IdxMacc);
+ }
+ }
+
#endregion Protected Methods
#region Private Fields
+ private bool doBlink = false;
+
///
/// DateTime ultimo salvataggio in LocalStorage
///
@@ -113,6 +130,34 @@ namespace MP_TAB3.Pages
#region Private Methods
+ ///
+ /// Ricezione evento blink
+ ///
+ ///
+ ///
+ private void BlinkPipe_EA_NewMessage(object? sender, EventArgs e)
+ {
+ PubSubEventArgs currArgs = (PubSubEventArgs)e;
+ // conversione on-the-fly List --> allarmi
+ if (!string.IsNullOrEmpty(currArgs.newMessage))
+ {
+ try
+ {
+ var dataRaw = JsonConvert.DeserializeObject(currArgs.newMessage);
+ if (dataRaw != null)
+ {
+ bool.TryParse($"{dataRaw}", out doBlink);
+ }
+ }
+ catch
+ { }
+ InvokeAsync(() =>
+ {
+ StateHasChanged();
+ });
+ }
+ }
+
///
/// Ricevuto nuovi dati da mostrare!
///
@@ -142,19 +187,6 @@ namespace MP_TAB3.Pages
});
}
- protected virtual async Task ReloadData()
- {
- if (string.IsNullOrEmpty(IdxMacc))
- {
- IdxMacc = await MsgServ.IdxMaccGet();
- }
- // recupero MSE macchina....
- if (!string.IsNullOrEmpty(IdxMacc))
- {
- CurrMSE = await MsgServ.GetMachineMse(IdxMacc);
- }
- }
-
#endregion Private Methods
}
}
\ No newline at end of file
diff --git a/MP-TAB3/Pages/StatusMap.razor b/MP-TAB3/Pages/StatusMap.razor
index f159c690..7302b820 100644
--- a/MP-TAB3/Pages/StatusMap.razor
+++ b/MP-TAB3/Pages/StatusMap.razor
@@ -14,7 +14,7 @@
{
currIdx++;
-
+
@if (currIdx >= maxBlocks)
{
diff --git a/MP-TAB3/Pages/StatusMap.razor.cs b/MP-TAB3/Pages/StatusMap.razor.cs
index f2b75bdb..9085e713 100644
--- a/MP-TAB3/Pages/StatusMap.razor.cs
+++ b/MP-TAB3/Pages/StatusMap.razor.cs
@@ -19,6 +19,7 @@ namespace MP_TAB3.Pages
{
ListMSE = null;
TDFeeder.dataPipe.EA_NewMessage -= DataPipe_EA_NewMessage;
+ TDFeeder.blinkPipe.EA_NewMessage -= BlinkPipe_EA_NewMessage;
GC.Collect();
}
@@ -138,6 +139,7 @@ namespace MP_TAB3.Pages
ListMSE = null;
setDefaults();
TDFeeder.dataPipe.EA_NewMessage += DataPipe_EA_NewMessage;
+ TDFeeder.blinkPipe.EA_NewMessage += BlinkPipe_EA_NewMessage;
Random rnd = new Random();
await Task.Delay(rnd.Next(1, 50));
SetupConf();
@@ -162,8 +164,7 @@ namespace MP_TAB3.Pages
#region Private Fields
- private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
-
+ private static Logger Log = LogManager.GetCurrentClassLogger();
private bool doBlink = false;
#endregion Private Fields
@@ -180,6 +181,34 @@ namespace MP_TAB3.Pages
#region Private Methods
+ ///
+ /// Ricezione evento blink
+ ///
+ ///
+ ///
+ private void BlinkPipe_EA_NewMessage(object? sender, EventArgs e)
+ {
+ PubSubEventArgs currArgs = (PubSubEventArgs)e;
+ // conversione on-the-fly List --> allarmi
+ if (!string.IsNullOrEmpty(currArgs.newMessage))
+ {
+ try
+ {
+ var dataRaw = JsonConvert.DeserializeObject(currArgs.newMessage);
+ if (dataRaw != null)
+ {
+ bool.TryParse($"{dataRaw}", out doBlink);
+ }
+ }
+ catch
+ { }
+ InvokeAsync(() =>
+ {
+ StateHasChanged();
+ });
+ }
+ }
+
///
/// Ricevuto nuovi dati da mostrare!
///
diff --git a/MP-TAB3/Resources/ChangeLog.html b/MP-TAB3/Resources/ChangeLog.html
index 1df8a689..c547cec1 100644
--- a/MP-TAB3/Resources/ChangeLog.html
+++ b/MP-TAB3/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2402.2620
+ Versione: 6.16.2402.2708
Note di rilascio:
-
diff --git a/MP-TAB3/Resources/VersNum.txt b/MP-TAB3/Resources/VersNum.txt
index 9fdb0fad..d9bc2f65 100644
--- a/MP-TAB3/Resources/VersNum.txt
+++ b/MP-TAB3/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2402.2620
+6.16.2402.2708
diff --git a/MP-TAB3/Resources/manifest.xml b/MP-TAB3/Resources/manifest.xml
index ccf0e254..2fbe9898 100644
--- a/MP-TAB3/Resources/manifest.xml
+++ b/MP-TAB3/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2402.2620
+ 6.16.2402.2708
https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/MP-TAB3.zip
https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/ChangeLog.html
false
diff --git a/MP-TAB3/appsettings.json b/MP-TAB3/appsettings.json
index 96acfc3c..22547405 100644
--- a/MP-TAB3/appsettings.json
+++ b/MP-TAB3/appsettings.json
@@ -17,7 +17,7 @@
"MP.Mag": "Server=SQL2016DEV;Database=MoonPro_MAG; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=MP.TAB3;"
},
"OptConf": {
- "msRefresh": "1100",
+ "msRefresh": "1500",
"BaseAddr": "https://localhost:7295/MP/TAB3/",
"BaseUrl": "/MP/TAB3",
"ImgBasePath": "https://iis01.egalware.com/MP/images/macchine/small/",
diff --git a/MP.Data/Services/MonDataFeeder.cs b/MP.Data/Services/MonDataFeeder.cs
index aefec545..4f6fe9ec 100644
--- a/MP.Data/Services/MonDataFeeder.cs
+++ b/MP.Data/Services/MonDataFeeder.cs
@@ -40,16 +40,6 @@ namespace MP.Data.Services
stopTimers();
}
-#if false
- ///
- /// Richiesta attivazione --> sposto avanti 1 minuto il periodo limite x fast running
- ///
- public void doActivate()
- {
- fastLimit = DateTime.Now.AddMinutes(1);
- }
-#endif
-
///
/// Impostazione forzata timer refresh
///
@@ -85,15 +75,7 @@ namespace MP.Data.Services
private static System.Timers.Timer fastTimer = new System.Timers.Timer(4000);
- private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
-
-#if false
- ///
- /// Limite in formato data-ora per inviare dati rapidamente (incrementato come now + 1 min
- /// ad ogni chiamata client)
- ///
- private DateTime fastLimit = DateTime.Now;
-#endif
+ private static Logger Log = LogManager.GetCurrentClassLogger();
private int fastRefreshMs = 1000;
diff --git a/MP.Data/Services/StatusData.cs b/MP.Data/Services/StatusData.cs
index 067fc076..87a3b34a 100644
--- a/MP.Data/Services/StatusData.cs
+++ b/MP.Data/Services/StatusData.cs
@@ -307,7 +307,7 @@ namespace MP.Data.Services
///
/// Cache brevissima durata
///
- private TimeSpan UltraFastCache = TimeSpan.FromMilliseconds(1100);
+ private TimeSpan UltraFastCache = TimeSpan.FromMilliseconds(1500);
///
/// Cache lunga durata
diff --git a/MP.Data/Services/TabDataFeeder.cs b/MP.Data/Services/TabDataFeeder.cs
index 5d47434a..6199f72d 100644
--- a/MP.Data/Services/TabDataFeeder.cs
+++ b/MP.Data/Services/TabDataFeeder.cs
@@ -16,9 +16,7 @@ namespace MP.Data.Services
// setup canali pub/sub
dataPipe = new MessagePipe(redisConn, Constants.TAB_ACT_MSE_DATA_KEY, false);
-#if false
blinkPipe = new MessagePipe(redisConn, Constants.TAB_ACT_BLINK_KEY, false);
-#endif
// avvio timers...
startTimers();
@@ -28,9 +26,7 @@ namespace MP.Data.Services
#region Public Properties
-#if false
public MessagePipe blinkPipe { get; set; } = null!;
-#endif
public MessagePipe dataPipe { get; set; } = null!;
@@ -93,10 +89,26 @@ namespace MP.Data.Services
{
var pUpd = Task.Run(async () =>
{
- var newData = await MseGetAll();
- // invio tramite la pipe...
- dataPipe.sendMessage(JsonConvert.SerializeObject(newData));
- Log.Debug("Elapsed Fast Timer reload");
+ // secondi pari --> blink, secondi dispari --> ricarica
+ DateTime adesso = DateTime.Now;
+ int resto = 0;
+ Math.DivRem(adesso.Second, 2, out resto);
+ if (resto == 0)
+ {
+ // invio in channel blink il segnale
+ blinkPipe.sendMessage("true");
+ Log.Debug("Elapsed Fast Timer Blink");
+ }
+ else
+ {
+ // invio in channel blink segnale false
+ blinkPipe.sendMessage("false");
+ // rileggo dati...
+ var newData = await MseGetAll();
+ // invio tramite la pipe...
+ dataPipe.sendMessage(JsonConvert.SerializeObject(newData));
+ Log.Debug("Elapsed Fast Timer reload");
+ }
});
pUpd.Wait();
}
diff --git a/MP.Mon/MP.Mon.csproj b/MP.Mon/MP.Mon.csproj
index 140e79bc..67746464 100644
--- a/MP.Mon/MP.Mon.csproj
+++ b/MP.Mon/MP.Mon.csproj
@@ -4,7 +4,7 @@
net6.0
enable
enable
- 6.16.2402.2615
+ 6.16.2402.2708
diff --git a/MP.Mon/Resources/ChangeLog.html b/MP.Mon/Resources/ChangeLog.html
index 4b52071c..74db3fb7 100644
--- a/MP.Mon/Resources/ChangeLog.html
+++ b/MP.Mon/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MON MAPO
-
Versione: 6.16.2402.2615
+ Versione: 6.16.2402.2708
Note di rilascio:
-
diff --git a/MP.Mon/Resources/VersNum.txt b/MP.Mon/Resources/VersNum.txt
index 5d451f5d..d9bc2f65 100644
--- a/MP.Mon/Resources/VersNum.txt
+++ b/MP.Mon/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2402.2615
+6.16.2402.2708
diff --git a/MP.Mon/Resources/manifest.xml b/MP.Mon/Resources/manifest.xml
index d81ba4c9..b20f9520 100644
--- a/MP.Mon/Resources/manifest.xml
+++ b/MP.Mon/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2402.2615
+ 6.16.2402.2708
https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/MP.Mon.zip
https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/ChangeLog.html
false