Hotfix mongo`s bugs
Java CI / build (push) Successful in 52s
.NET+Docker CI/CD / Unit and Integration tests (push) Successful in 33s
.NET+Docker CI/CD / Push Docker image to ghcr.io (push) Failing after 31s

Signed-off-by: Dmitrii <computer@yawaflua.tech>

Took 17 minutes
This commit is contained in:
Dmitrii
2026-07-12 07:55:45 +03:00
parent d12890f8eb
commit efe19edaf4
4 changed files with 17 additions and 5 deletions
@@ -93,7 +93,7 @@ public class TransactionsController(AppDbContext context, ILogger<TransactionsCo
SenderCardNumber = cardToUse.SpworldsID, SenderCardNumber = cardToUse.SpworldsID,
SenderMinecraftName = user.Username, SenderMinecraftName = user.Username,
Amount = body.amount, Amount = body.amount,
Comment = body.comment, Comment = body.comment
}; };
try try
{ {
@@ -418,8 +418,8 @@
<div class="logo-text">SPMega</div> <div class="logo-text">SPMega</div>
</a> </a>
<div class="meta-info"> <div class="meta-info">
<div>Версия: <span class="badge">1.0.0-2026</span></div> <div>Версия: <span class="badge">1.0.1-2026</span></div>
<div style="margin-top: 4px;">Обновлено: 28 июня 2026</div> <div style="margin-top: 4px;">Обновлено: 12 июля 2026</div>
</div> </div>
</header> </header>
@@ -490,7 +490,11 @@
<li>Время первой и последующих авторизаций.</li> <li>Время первой и последующих авторизаций.</li>
<li>Ваш текущий IP-адрес для предотвращения и выявления попыток взлома API.</li> <li>Ваш текущий IP-адрес для предотвращения и выявления попыток взлома API.</li>
<li>Техническую информацию о транзакциях (суммы, комментарии, номера виртуальных счетов/карт и идентификаторы).</li> <li>Техническую информацию о транзакциях (суммы, комментарии, номера виртуальных счетов/карт и идентификаторы).</li>
<li>Технические характеристики устройства: процессор, видеокарту, объем оперативной памяти, операционную систему и название компьютера.</li>
<li>Показатели производительности мода, включая FPS и тайминги запросов.</li>
<li>Трассировочную информацию о запросах к серверной части SPMega для диагностики ошибок и улучшения качества мода.</li>
</ul> </ul>
<p>Количество передаваемой телеметрии можно уменьшить в настройках модификации.</p>
<p>Мы не сохраняем:</p> <p>Мы не сохраняем:</p>
<ul> <ul>
<li>Токен карты «КАК ЕСТЬ», данные шифруются по протоколу AES-256-CBC, и только после этого сохраняются в базе данных.</li> <li>Токен карты «КАК ЕСТЬ», данные шифруются по протоколу AES-256-CBC, и только после этого сохраняются в базе данных.</li>
@@ -504,10 +508,11 @@
<p>Мы высоко ценим доверие наших пользователей и гарантируем сохранность собираемой информации. Все личные данные передаются и обрабатываются по защищенным зашифрованным каналам связи (HTTPS/SSL).</p> <p>Мы высоко ценим доверие наших пользователей и гарантируем сохранность собираемой информации. Все личные данные передаются и обрабатываются по защищенным зашифрованным каналам связи (HTTPS/SSL).</p>
<p>Администрация сайта строго обязуется:</p> <p>Администрация сайта строго обязуется:</p>
<ul> <ul>
<li><strong>Не передавать, не продавать и не распространять</strong> ваши личные данные, IP-адреса и статистику третьим лицам.</li> <li><strong>Не передавать, не продавать и не распространять</strong> ваши личные данные, IP-адреса, телеметрию и статистику третьим лицам.</li>
<li>Использовать собранную анонимизированную статистику исключительно во внутренних аналитических целях для улучшения производительности мода.</li> <li>Использовать собранную анонимизированную статистику исключительно во внутренних аналитических целях для улучшения производительности мода.</li>
<li>Раскрывать информацию только в случаях, прямо предусмотренных действующим законодательством государства Израиль при наличии официальных судебных или правоохранительных запросов.</li> <li>Раскрывать информацию только в случаях, прямо предусмотренных действующим законодательством государства Израиль при наличии официальных судебных или правоохранительных запросов.</li>
</ul> </ul>
<p>По юридическим вопросам свяжитесь с нами по электронной почте <a href="mailto:yawaflua@outlook.co.il">yawaflua&#64;outlook.co.il</a> или в Telegram: <a href="https://t.me/meharmen">&#64;meharmen</a>.</p>
</section> </section>
<!-- Section 6 --> <!-- Section 6 -->
@@ -587,7 +587,7 @@
<div class="meta-row"> <div class="meta-row">
<span class="meta-label">Отправитель:</span> <span class="meta-label">Отправитель:</span>
<span class="meta-value bold">${escapeHtml(transaction.sender?.username || 'Клиент SPMega')}</span> <span class="meta-value bold">${escapeHtml(transaction.senderMinecraftName || 'Клиент SPMega')}</span>
</div> </div>
<div class="meta-row"> <div class="meta-row">
@@ -3,6 +3,8 @@ package git.yawaflua.tech.spmega.client.telemetry;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import oshi.SystemInfo;
import oshi.hardware.CentralProcessor;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.URI; import java.net.URI;
@@ -12,12 +14,14 @@ import java.nio.file.FileStore;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.time.Duration; import java.time.Duration;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
public final class SystemInfoCollector { public final class SystemInfoCollector {
private static final SystemInfoCollector INSTANCE = new SystemInfoCollector(); private static final SystemInfoCollector INSTANCE = new SystemInfoCollector();
private static final long MB = 1024L * 1024L; private static final long MB = 1024L * 1024L;
private final CentralProcessor cpu = new SystemInfo().getHardware().getProcessor();
private final AtomicReference<String> cachedIp = new AtomicReference<>("<unknown>"); private final AtomicReference<String> cachedIp = new AtomicReference<>("<unknown>");
private final AtomicReference<String> gpuRenderer = new AtomicReference<>("<pending>"); private final AtomicReference<String> gpuRenderer = new AtomicReference<>("<pending>");
private final AtomicReference<String> gpuVendor = new AtomicReference<>("<pending>"); private final AtomicReference<String> gpuVendor = new AtomicReference<>("<pending>");
@@ -69,6 +73,9 @@ public final class SystemInfoCollector {
Runtime rt = Runtime.getRuntime(); Runtime rt = Runtime.getRuntime();
info.addProperty("cpuCores", rt.availableProcessors()); info.addProperty("cpuCores", rt.availableProcessors());
info.addProperty("cpuName", cpu.getProcessorIdentifier().getName());
info.addProperty("cpuCurrentFrequencyHz", Arrays.stream(cpu.getCurrentFreq()).max().orElse(0));
info.addProperty("cpuMaxFrequencyHz", cpu.getMaxFreq());
try { try {
var osBean = java.lang.management.ManagementFactory.getOperatingSystemMXBean(); var osBean = java.lang.management.ManagementFactory.getOperatingSystemMXBean();