The value maps to {@link network.crypta.node.useralerts.UserAlert} severity constants and + *
The value maps to {@link network.crypta.runtime.alerts.UserAlert} severity constants and * reflects urgency based on updater state. Urgent updates may be classified as critical to ensure * visibility. * diff --git a/src/main/java/network/crypta/node/useralerts/UpgradeConnectionSpeedUserAlert.java b/src/main/java/network/crypta/runtime/alerts/UpgradeConnectionSpeedUserAlert.java similarity index 99% rename from src/main/java/network/crypta/node/useralerts/UpgradeConnectionSpeedUserAlert.java rename to src/main/java/network/crypta/runtime/alerts/UpgradeConnectionSpeedUserAlert.java index a5028d19698..e72c9e7fd27 100644 --- a/src/main/java/network/crypta/node/useralerts/UpgradeConnectionSpeedUserAlert.java +++ b/src/main/java/network/crypta/runtime/alerts/UpgradeConnectionSpeedUserAlert.java @@ -1,4 +1,4 @@ -package network.crypta.node.useralerts; +package network.crypta.runtime.alerts; import network.crypta.clients.http.wizardsteps.BandwidthLimit; import network.crypta.l10n.NodeL10n; diff --git a/src/main/java/network/crypta/node/useralerts/UserAlert.java b/src/main/java/network/crypta/runtime/alerts/UserAlert.java similarity index 98% rename from src/main/java/network/crypta/node/useralerts/UserAlert.java rename to src/main/java/network/crypta/runtime/alerts/UserAlert.java index ff0297e2c9f..a0f168f7b0d 100644 --- a/src/main/java/network/crypta/node/useralerts/UserAlert.java +++ b/src/main/java/network/crypta/runtime/alerts/UserAlert.java @@ -1,4 +1,4 @@ -package network.crypta.node.useralerts; +package network.crypta.runtime.alerts; import network.crypta.clients.fcp.FCPMessage; import network.crypta.support.HTMLNode; @@ -26,7 +26,7 @@ *
This package groups the legacy user-alert types while they are being re-homed under a neutral + * runtime package. The classes still collaborate with daemon-local state and remain responsible for + * the same alert rendering, sorting, and subscription behavior as before. + * + *
The ownership change is intentionally behavioral no-op only: existing daemon-local
+ * integrations, alert lifecycles, and operator-facing semantics are preserved.
+ */
+package network.crypta.runtime.alerts;
diff --git a/src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java b/src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java
index 438b47848d6..79c2526c5fd 100644
--- a/src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java
+++ b/src/main/java/network/crypta/runtime/endpoints/ClientEndpoints.java
@@ -8,8 +8,8 @@
import network.crypta.node.Node;
import network.crypta.node.NodeClientCore;
import network.crypta.node.NodeClientCoreSupport;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.RuntimePorts;
import network.crypta.support.io.TempBucketFactory;
diff --git a/src/test/java/network/crypta/client/async/ClientContextTest.java b/src/test/java/network/crypta/client/async/ClientContextTest.java
index cf7ffabf5a8..d7b5b0a9094 100644
--- a/src/test/java/network/crypta/client/async/ClientContextTest.java
+++ b/src/test/java/network/crypta/client/async/ClientContextTest.java
@@ -17,8 +17,8 @@
import network.crypta.crypt.MasterSecret;
import network.crypta.crypt.RandomSource;
import network.crypta.node.ClientContextResources;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.DummyJobRunner;
import network.crypta.support.MemoryLimitedJobRunner;
import network.crypta.support.PriorityAwareExecutor;
diff --git a/src/test/java/network/crypta/clients/fcp/CoreFcpMessageRuntimeSupportTest.java b/src/test/java/network/crypta/clients/fcp/CoreFcpMessageRuntimeSupportTest.java
index f5afd8e697f..2449ec08145 100644
--- a/src/test/java/network/crypta/clients/fcp/CoreFcpMessageRuntimeSupportTest.java
+++ b/src/test/java/network/crypta/clients/fcp/CoreFcpMessageRuntimeSupportTest.java
@@ -8,7 +8,7 @@
import network.crypta.node.probe.Listener;
import network.crypta.node.probe.Type;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
diff --git a/src/test/java/network/crypta/clients/http/BrowserTestToadletTest.java b/src/test/java/network/crypta/clients/http/BrowserTestToadletTest.java
index f6836a9b3a9..52e907c3bda 100644
--- a/src/test/java/network/crypta/clients/http/BrowserTestToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/BrowserTestToadletTest.java
@@ -3,7 +3,7 @@
import java.net.URI;
import java.util.Arrays;
import network.crypta.client.HighLevelSimpleClient;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.api.HTTPRequest;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/network/crypta/clients/http/ChatForumsToadletTest.java b/src/test/java/network/crypta/clients/http/ChatForumsToadletTest.java
index 418016608e2..039804d22ca 100644
--- a/src/test/java/network/crypta/clients/http/ChatForumsToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/ChatForumsToadletTest.java
@@ -4,7 +4,7 @@
import java.net.URI;
import network.crypta.client.HighLevelSimpleClient;
import network.crypta.l10n.NodeL10n;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.api.HTTPRequest;
import org.junit.jupiter.api.BeforeEach;
diff --git a/src/test/java/network/crypta/clients/http/ConfigToadletTest.java b/src/test/java/network/crypta/clients/http/ConfigToadletTest.java
index d040e2b6822..9c8e2e87cd8 100644
--- a/src/test/java/network/crypta/clients/http/ConfigToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/ConfigToadletTest.java
@@ -18,8 +18,8 @@
import network.crypta.config.WrapperConfig;
import network.crypta.l10n.NodeL10n;
import network.crypta.node.ProgramDirectory;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.ConfigPort;
import network.crypta.runtime.spi.LifecyclePort;
import network.crypta.runtime.spi.TransferAccessPort;
diff --git a/src/test/java/network/crypta/clients/http/ConnectivityToadletTest.java b/src/test/java/network/crypta/clients/http/ConnectivityToadletTest.java
index 6a1a1131da1..49e27ca1452 100644
--- a/src/test/java/network/crypta/clients/http/ConnectivityToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/ConnectivityToadletTest.java
@@ -6,7 +6,7 @@
import java.util.List;
import network.crypta.client.HighLevelSimpleClient;
import network.crypta.l10n.NodeL10n;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.ConnectivityGapSnapshot;
import network.crypta.runtime.spi.ConnectivityListenerPortSnapshot;
import network.crypta.runtime.spi.ConnectivityNoticeSnapshot;
diff --git a/src/test/java/network/crypta/clients/http/ContentFilterToadletTest.java b/src/test/java/network/crypta/clients/http/ContentFilterToadletTest.java
index 5ed8389bf86..0aa2bbba146 100644
--- a/src/test/java/network/crypta/clients/http/ContentFilterToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/ContentFilterToadletTest.java
@@ -18,7 +18,7 @@
import network.crypta.client.filter.ContentFilterRequest;
import network.crypta.client.filter.FilterOperation;
import network.crypta.client.filter.UnsafeContentTypeException;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.MultiValueTable;
import network.crypta.support.api.Bucket;
diff --git a/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java b/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java
index 56ce081c496..595e6e1f5a7 100644
--- a/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java
+++ b/src/test/java/network/crypta/clients/http/CoreHttpShellRuntimeSupportTest.java
@@ -19,7 +19,7 @@
import network.crypta.node.SecurityLevels;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
import network.crypta.node.subsystem.NodeServicesSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.endpoints.ClientEndpoints;
import network.crypta.runtime.spi.RuntimePorts;
import network.crypta.support.Ticker;
diff --git a/src/test/java/network/crypta/clients/http/DarknetAddRefToadletTest.java b/src/test/java/network/crypta/clients/http/DarknetAddRefToadletTest.java
index 3007d2b0947..5a182e86cd0 100644
--- a/src/test/java/network/crypta/clients/http/DarknetAddRefToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/DarknetAddRefToadletTest.java
@@ -158,8 +158,8 @@ void handleMethodGET_whenInstallersMissing_rendersHtmlPage() throws Exception {
PageMaker pageMaker = mock(PageMaker.class);
when(ctx.getPageMaker()).thenReturn(pageMaker);
when(pageMaker.getPageNode(anyString(), eq(ctx))).thenReturn(page);
- network.crypta.node.useralerts.UserAlertManager alertManager =
- mock(network.crypta.node.useralerts.UserAlertManager.class);
+ network.crypta.runtime.alerts.UserAlertManager alertManager =
+ mock(network.crypta.runtime.alerts.UserAlertManager.class);
when(ctx.getAlertManager()).thenReturn(alertManager);
when(alertManager.createSummary()).thenReturn(new HTMLNode("#", "summary"));
@@ -285,8 +285,8 @@ private void stubPageRendering(HTMLNode content) {
PageMaker pageMaker = mock(PageMaker.class);
when(ctx.getPageMaker()).thenReturn(pageMaker);
when(pageMaker.getPageNode(anyString(), eq(ctx))).thenReturn(page);
- network.crypta.node.useralerts.UserAlertManager alertManager =
- mock(network.crypta.node.useralerts.UserAlertManager.class);
+ network.crypta.runtime.alerts.UserAlertManager alertManager =
+ mock(network.crypta.runtime.alerts.UserAlertManager.class);
when(ctx.getAlertManager()).thenReturn(alertManager);
when(alertManager.createSummary()).thenReturn(new HTMLNode("#", "summary"));
diff --git a/src/test/java/network/crypta/clients/http/DecodeToadletTest.java b/src/test/java/network/crypta/clients/http/DecodeToadletTest.java
index 5232ab36640..dab153e6a89 100644
--- a/src/test/java/network/crypta/clients/http/DecodeToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/DecodeToadletTest.java
@@ -2,7 +2,7 @@
import java.net.URI;
import network.crypta.client.HighLevelSimpleClient;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.api.HTTPRequest;
import org.junit.jupiter.api.BeforeEach;
diff --git a/src/test/java/network/crypta/clients/http/FileInsertWizardToadletTest.java b/src/test/java/network/crypta/clients/http/FileInsertWizardToadletTest.java
index 9fe1224a400..5aa0fe65c39 100644
--- a/src/test/java/network/crypta/clients/http/FileInsertWizardToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/FileInsertWizardToadletTest.java
@@ -6,7 +6,7 @@
import java.net.URI;
import java.time.Instant;
import network.crypta.client.HighLevelSimpleClient;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.SecurityLevelsPort;
import network.crypta.runtime.spi.SecurityLevelsSnapshot;
import network.crypta.runtime.spi.SecurityNetworkThreatLevel;
@@ -330,7 +330,7 @@ public boolean checkFullAccess(Toadlet toadlet) {
}
@Override
- public network.crypta.node.useralerts.UserAlertManager getAlertManager() {
+ public network.crypta.runtime.alerts.UserAlertManager getAlertManager() {
UserAlertManager manager = mock(UserAlertManager.class);
when(manager.createSummary()).thenReturn(new HTMLNode("div"));
when(manager.createSummary(true)).thenReturn(new HTMLNode("div"));
diff --git a/src/test/java/network/crypta/clients/http/HTTPRequestImplTest.java b/src/test/java/network/crypta/clients/http/HTTPRequestImplTest.java
index df822367d70..b50b979ef12 100644
--- a/src/test/java/network/crypta/clients/http/HTTPRequestImplTest.java
+++ b/src/test/java/network/crypta/clients/http/HTTPRequestImplTest.java
@@ -284,7 +284,7 @@ public boolean checkFullAccess(Toadlet toadlet) {
}
@Override
- public network.crypta.node.useralerts.UserAlertManager getAlertManager() {
+ public network.crypta.runtime.alerts.UserAlertManager getAlertManager() {
throw new UnsupportedOperationException();
}
diff --git a/src/test/java/network/crypta/clients/http/InsertFreesiteToadletTest.java b/src/test/java/network/crypta/clients/http/InsertFreesiteToadletTest.java
index 3cf77c1bc56..63f01272149 100644
--- a/src/test/java/network/crypta/clients/http/InsertFreesiteToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/InsertFreesiteToadletTest.java
@@ -4,7 +4,7 @@
import java.nio.charset.StandardCharsets;
import network.crypta.client.HighLevelSimpleClient;
import network.crypta.l10n.NodeL10n;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.api.HTTPRequest;
import org.junit.jupiter.api.BeforeEach;
diff --git a/src/test/java/network/crypta/clients/http/PageMakerTest.java b/src/test/java/network/crypta/clients/http/PageMakerTest.java
index 357100d6aef..2cacbd298f2 100644
--- a/src/test/java/network/crypta/clients/http/PageMakerTest.java
+++ b/src/test/java/network/crypta/clients/http/PageMakerTest.java
@@ -1,6 +1,6 @@
package network.crypta.clients.http;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.PageChromeSnapshot;
import network.crypta.runtime.spi.SecurityNetworkThreatLevel;
import network.crypta.runtime.spi.SecurityPhysicalThreatLevel;
diff --git a/src/test/java/network/crypta/clients/http/QueueToadletPostDownloadTest.java b/src/test/java/network/crypta/clients/http/QueueToadletPostDownloadTest.java
index 892328eb37e..68a21879184 100644
--- a/src/test/java/network/crypta/clients/http/QueueToadletPostDownloadTest.java
+++ b/src/test/java/network/crypta/clients/http/QueueToadletPostDownloadTest.java
@@ -37,7 +37,7 @@
import network.crypta.node.ProgramDirectory;
import network.crypta.node.RequestStarterGroup;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.DarknetConnectionsPort;
import network.crypta.runtime.spi.DarknetMessagingPort;
import network.crypta.runtime.spi.QueueCompletionPort;
diff --git a/src/test/java/network/crypta/clients/http/QueueToadletPostInsertTest.java b/src/test/java/network/crypta/clients/http/QueueToadletPostInsertTest.java
index 82ccfc888b5..b5335b69efa 100644
--- a/src/test/java/network/crypta/clients/http/QueueToadletPostInsertTest.java
+++ b/src/test/java/network/crypta/clients/http/QueueToadletPostInsertTest.java
@@ -35,7 +35,7 @@
import network.crypta.node.ProgramDirectory;
import network.crypta.node.RequestStarterGroup;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.DarknetConnectionsPort;
import network.crypta.runtime.spi.DarknetMessagingPort;
import network.crypta.runtime.spi.QueueBrowserUploadInsertRequest;
diff --git a/src/test/java/network/crypta/clients/http/QueueToadletPostMutationTest.java b/src/test/java/network/crypta/clients/http/QueueToadletPostMutationTest.java
index 1e8facd7b59..536fc015349 100644
--- a/src/test/java/network/crypta/clients/http/QueueToadletPostMutationTest.java
+++ b/src/test/java/network/crypta/clients/http/QueueToadletPostMutationTest.java
@@ -34,7 +34,7 @@
import network.crypta.node.ProgramDirectory;
import network.crypta.node.RequestStarterGroup;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.DarknetConnectionsPort;
import network.crypta.runtime.spi.DarknetMessagingPort;
import network.crypta.runtime.spi.QueueCompletionPort;
diff --git a/src/test/java/network/crypta/clients/http/QueueToadletRecommendTest.java b/src/test/java/network/crypta/clients/http/QueueToadletRecommendTest.java
index 0c61cff7cf2..53df823df13 100644
--- a/src/test/java/network/crypta/clients/http/QueueToadletRecommendTest.java
+++ b/src/test/java/network/crypta/clients/http/QueueToadletRecommendTest.java
@@ -37,7 +37,7 @@
import network.crypta.node.ProgramDirectory;
import network.crypta.node.RequestStarterGroup;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.DarknetConnectionPeerSnapshot;
import network.crypta.runtime.spi.DarknetConnectionsPort;
import network.crypta.runtime.spi.DarknetMessagingPort;
diff --git a/src/test/java/network/crypta/clients/http/QueueToadletTest.java b/src/test/java/network/crypta/clients/http/QueueToadletTest.java
index 55cfa49456f..c15730f7fa6 100644
--- a/src/test/java/network/crypta/clients/http/QueueToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/QueueToadletTest.java
@@ -5,7 +5,7 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import network.crypta.client.HighLevelSimpleClient;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.DarknetConnectionsPort;
import network.crypta.runtime.spi.DarknetMessagingPort;
import network.crypta.runtime.spi.QueueCompletionPort;
diff --git a/src/test/java/network/crypta/clients/http/SimpleHelpToadletTest.java b/src/test/java/network/crypta/clients/http/SimpleHelpToadletTest.java
index 510ed4849ae..7b9e814003a 100644
--- a/src/test/java/network/crypta/clients/http/SimpleHelpToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/SimpleHelpToadletTest.java
@@ -4,7 +4,7 @@
import java.util.concurrent.atomic.AtomicReference;
import network.crypta.client.HighLevelSimpleClient;
import network.crypta.l10n.NodeL10n;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.api.HTTPRequest;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java b/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java
index 5990ec1265f..c46df15d249 100644
--- a/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java
+++ b/src/test/java/network/crypta/clients/http/SimpleToadletServerTest.java
@@ -17,7 +17,7 @@
import network.crypta.io.SSLNetworkInterface;
import network.crypta.node.NodeClientCore;
import network.crypta.node.RequestStarter;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.endpoints.ClientEndpoints;
import network.crypta.runtime.spi.RandomnessPort;
import network.crypta.runtime.spi.RuntimePorts;
diff --git a/src/test/java/network/crypta/clients/http/StatisticsToadletTest.java b/src/test/java/network/crypta/clients/http/StatisticsToadletTest.java
index 02504efa8cf..2473d69e3e2 100644
--- a/src/test/java/network/crypta/clients/http/StatisticsToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/StatisticsToadletTest.java
@@ -4,7 +4,7 @@
import java.net.URI;
import java.nio.charset.StandardCharsets;
import network.crypta.client.HighLevelSimpleClient;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.StatisticsPageSnapshot;
import network.crypta.runtime.spi.StatisticsPort;
import network.crypta.support.HTMLNode;
diff --git a/src/test/java/network/crypta/clients/http/ToadletContextImplTest.java b/src/test/java/network/crypta/clients/http/ToadletContextImplTest.java
index dba868ea6c0..39ca832648c 100644
--- a/src/test/java/network/crypta/clients/http/ToadletContextImplTest.java
+++ b/src/test/java/network/crypta/clients/http/ToadletContextImplTest.java
@@ -13,7 +13,7 @@
import java.util.Locale;
import java.util.Map;
import network.crypta.clients.http.bookmark.BookmarkManager;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.MultiValueTable;
import network.crypta.support.api.BucketFactory;
import network.crypta.support.api.HTTPRequest;
diff --git a/src/test/java/network/crypta/clients/http/UserAlertsToadletTest.java b/src/test/java/network/crypta/clients/http/UserAlertsToadletTest.java
index 35d3484c3ae..33f1c04c3e9 100644
--- a/src/test/java/network/crypta/clients/http/UserAlertsToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/UserAlertsToadletTest.java
@@ -4,10 +4,10 @@
import javax.naming.SizeLimitExceededException;
import network.crypta.client.HighLevelSimpleClient;
import network.crypta.clients.fcp.FCPMessage;
-import network.crypta.node.useralerts.AbstractNodeToNodeFileOfferUserAlert;
-import network.crypta.node.useralerts.NodeToNodeMessageUserAlert;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.AbstractNodeToNodeFileOfferUserAlert;
+import network.crypta.runtime.alerts.NodeToNodeMessageUserAlert;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.MultiValueTable;
import network.crypta.support.api.HTTPRequest;
diff --git a/src/test/java/network/crypta/clients/http/WelcomeToadletTest.java b/src/test/java/network/crypta/clients/http/WelcomeToadletTest.java
index 66c1f8f22d5..7b152b0cc67 100644
--- a/src/test/java/network/crypta/clients/http/WelcomeToadletTest.java
+++ b/src/test/java/network/crypta/clients/http/WelcomeToadletTest.java
@@ -10,8 +10,8 @@
import network.crypta.client.HighLevelSimpleClient;
import network.crypta.clients.http.PageMaker.RenderParameters;
import network.crypta.clients.http.bookmark.BookmarkItem;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.spi.DarknetConnectionPeerSnapshot;
import network.crypta.runtime.spi.DarknetConnectionsPort;
import network.crypta.runtime.spi.LifecyclePort;
diff --git a/src/test/java/network/crypta/clients/http/bookmark/BookmarkCategoryTest.java b/src/test/java/network/crypta/clients/http/bookmark/BookmarkCategoryTest.java
index 467affb85f6..ea81a9f6624 100644
--- a/src/test/java/network/crypta/clients/http/bookmark/BookmarkCategoryTest.java
+++ b/src/test/java/network/crypta/clients/http/bookmark/BookmarkCategoryTest.java
@@ -4,7 +4,7 @@
import java.util.List;
import network.crypta.keys.FreenetURI;
import network.crypta.node.FSParseException;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.SimpleFieldSet;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/src/test/java/network/crypta/clients/http/bookmark/BookmarkItemTest.java b/src/test/java/network/crypta/clients/http/bookmark/BookmarkItemTest.java
index 303699fd985..298fb31b818 100644
--- a/src/test/java/network/crypta/clients/http/bookmark/BookmarkItemTest.java
+++ b/src/test/java/network/crypta/clients/http/bookmark/BookmarkItemTest.java
@@ -5,8 +5,8 @@
import java.util.stream.Stream;
import network.crypta.keys.FreenetURI;
import network.crypta.keys.USK;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.SimpleFieldSet;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/src/test/java/network/crypta/clients/http/bookmark/BookmarkManagerTest.java b/src/test/java/network/crypta/clients/http/bookmark/BookmarkManagerTest.java
index 9d1c8a9177d..2f9e534c9a9 100644
--- a/src/test/java/network/crypta/clients/http/bookmark/BookmarkManagerTest.java
+++ b/src/test/java/network/crypta/clients/http/bookmark/BookmarkManagerTest.java
@@ -11,7 +11,7 @@
import java.util.concurrent.atomic.AtomicInteger;
import network.crypta.keys.FreenetURI;
import network.crypta.keys.USK;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.SimpleFieldSet;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/network/crypta/node/AnnouncerTest.java b/src/test/java/network/crypta/node/AnnouncerTest.java
index 25ae6d87558..1152487970d 100644
--- a/src/test/java/network/crypta/node/AnnouncerTest.java
+++ b/src/test/java/network/crypta/node/AnnouncerTest.java
@@ -7,8 +7,8 @@
import java.util.List;
import network.crypta.node.updater.NodeUpdateManager;
import network.crypta.node.updater.UpdateOverMandatoryManager;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.PriorityAwareExecutor;
import network.crypta.support.SimpleFieldSet;
import network.crypta.support.Ticker;
diff --git a/src/test/java/network/crypta/node/BandwidthManagerTest.java b/src/test/java/network/crypta/node/BandwidthManagerTest.java
index 77167172589..b30d32f66b4 100644
--- a/src/test/java/network/crypta/node/BandwidthManagerTest.java
+++ b/src/test/java/network/crypta/node/BandwidthManagerTest.java
@@ -5,8 +5,8 @@
import network.crypta.config.PersistentConfig;
import network.crypta.config.SubConfig;
import network.crypta.l10n.NodeL10n;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.SizeUtil;
import network.crypta.support.Ticker;
diff --git a/src/test/java/network/crypta/node/IPDetectorManagerTest.java b/src/test/java/network/crypta/node/IPDetectorManagerTest.java
index 84ea5019d68..c8015fa152c 100644
--- a/src/test/java/network/crypta/node/IPDetectorManagerTest.java
+++ b/src/test/java/network/crypta/node/IPDetectorManagerTest.java
@@ -282,17 +282,17 @@ void addConnectionTypeBox_whenProxyAlertValid_renders() throws Exception {
// Provide a client core + alerts that can render
NodeClientCore core = mock(NodeClientCore.class);
- network.crypta.node.useralerts.UserAlertManager alerts =
- mock(network.crypta.node.useralerts.UserAlertManager.class);
+ network.crypta.runtime.alerts.UserAlertManager alerts =
+ mock(network.crypta.runtime.alerts.UserAlertManager.class);
when(core.getAlerts()).thenReturn(alerts);
when(node.services().clientCore()).thenReturn(core);
when(alerts.renderAlert(any())).thenReturn(new HTMLNode("div"));
// Install a ProxyUserAlert with an underlying always-valid alert via reflection
- network.crypta.node.useralerts.ProxyUserAlert proxy =
- new network.crypta.node.useralerts.ProxyUserAlert(alerts, false);
+ network.crypta.runtime.alerts.ProxyUserAlert proxy =
+ new network.crypta.runtime.alerts.ProxyUserAlert(alerts, false);
proxy.setAlert(
- new network.crypta.node.useralerts.UserAlert() {
+ new network.crypta.runtime.alerts.UserAlert() {
@Override
public boolean userCanDismiss() {
return true;
diff --git a/src/test/java/network/crypta/node/NodeClientCoreSupportTest.java b/src/test/java/network/crypta/node/NodeClientCoreSupportTest.java
index ae4b2cbf1fa..e269b5b01fd 100644
--- a/src/test/java/network/crypta/node/NodeClientCoreSupportTest.java
+++ b/src/test/java/network/crypta/node/NodeClientCoreSupportTest.java
@@ -26,11 +26,11 @@
import network.crypta.keys.SSKBlock;
import network.crypta.keys.SSKEncodeException;
import network.crypta.keys.SSKVerifyException;
-import network.crypta.node.useralerts.DatastoreTooSmallAlert;
-import network.crypta.node.useralerts.DiskSpaceUserAlert;
-import network.crypta.node.useralerts.SimpleUserAlert;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.DatastoreTooSmallAlert;
+import network.crypta.runtime.alerts.DiskSpaceUserAlert;
+import network.crypta.runtime.alerts.SimpleUserAlert;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.SimpleReadOnlyArrayBucket;
import network.crypta.support.compress.Compressor;
import network.crypta.support.compress.InvalidCompressionCodecException;
diff --git a/src/test/java/network/crypta/node/NodeClientCoreTest.java b/src/test/java/network/crypta/node/NodeClientCoreTest.java
index 797c2bfdbfc..6498e46e5c7 100644
--- a/src/test/java/network/crypta/node/NodeClientCoreTest.java
+++ b/src/test/java/network/crypta/node/NodeClientCoreTest.java
@@ -21,7 +21,7 @@
import network.crypta.node.SecurityLevels.PHYSICAL_THREAT_LEVEL;
import network.crypta.node.runtime.LegacyRuntimePorts;
import network.crypta.node.subsystem.NodeServicesSubsystem;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.runtime.endpoints.ClientEndpoints;
import network.crypta.runtime.endpoints.NodeClientPersistence;
import network.crypta.runtime.spi.RuntimePorts;
diff --git a/src/test/java/network/crypta/node/NodeIPDetectorTest.java b/src/test/java/network/crypta/node/NodeIPDetectorTest.java
index ee60ee4ad54..4b47752a47d 100644
--- a/src/test/java/network/crypta/node/NodeIPDetectorTest.java
+++ b/src/test/java/network/crypta/node/NodeIPDetectorTest.java
@@ -14,9 +14,9 @@
import network.crypta.config.SubConfig;
import network.crypta.io.comm.FreenetInetAddress;
import network.crypta.node.subsystem.NodeNetworkSubsystem;
-import network.crypta.node.useralerts.InvalidAddressOverrideUserAlert;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.InvalidAddressOverrideUserAlert;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.PriorityAwareExecutor;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/network/crypta/node/PeerAlertCoordinatorTest.java b/src/test/java/network/crypta/node/PeerAlertCoordinatorTest.java
index d7eb01f1af9..9beb28d90d3 100644
--- a/src/test/java/network/crypta/node/PeerAlertCoordinatorTest.java
+++ b/src/test/java/network/crypta/node/PeerAlertCoordinatorTest.java
@@ -2,9 +2,9 @@
import java.lang.reflect.Field;
import network.crypta.node.updater.NodeUpdateManager;
-import network.crypta.node.useralerts.PeerManagerUserAlert;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.PeerManagerUserAlert;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
diff --git a/src/test/java/network/crypta/node/subsystem/NodeConfigManagerTest.java b/src/test/java/network/crypta/node/subsystem/NodeConfigManagerTest.java
index 5b7df8cba67..951186180dc 100644
--- a/src/test/java/network/crypta/node/subsystem/NodeConfigManagerTest.java
+++ b/src/test/java/network/crypta/node/subsystem/NodeConfigManagerTest.java
@@ -10,8 +10,8 @@
import network.crypta.config.SubConfig;
import network.crypta.node.Node;
import network.crypta.node.ProgramDirectory;
-import network.crypta.node.useralerts.MeaningfulNodeNameUserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.MeaningfulNodeNameUserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.SimpleFieldSet;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/network/crypta/node/subsystem/NodeServicesSubsystemTest.java b/src/test/java/network/crypta/node/subsystem/NodeServicesSubsystemTest.java
index 08fec420e4a..eb8509563e7 100644
--- a/src/test/java/network/crypta/node/subsystem/NodeServicesSubsystemTest.java
+++ b/src/test/java/network/crypta/node/subsystem/NodeServicesSubsystemTest.java
@@ -11,14 +11,14 @@
import network.crypta.node.NodeInitException;
import network.crypta.node.diagnostics.DefaultNodeDiagnostics;
import network.crypta.node.updater.NodeUpdateManager;
-import network.crypta.node.useralerts.JVMVersionAlert;
-import network.crypta.node.useralerts.MeaningfulNodeNameUserAlert;
-import network.crypta.node.useralerts.NotEnoughNiceLevelsUserAlert;
-import network.crypta.node.useralerts.PeersOffersUserAlert;
-import network.crypta.node.useralerts.SimpleUserAlert;
-import network.crypta.node.useralerts.TimeSkewDetectedUserAlert;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.JVMVersionAlert;
+import network.crypta.runtime.alerts.MeaningfulNodeNameUserAlert;
+import network.crypta.runtime.alerts.NotEnoughNiceLevelsUserAlert;
+import network.crypta.runtime.alerts.PeersOffersUserAlert;
+import network.crypta.runtime.alerts.SimpleUserAlert;
+import network.crypta.runtime.alerts.TimeSkewDetectedUserAlert;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.JVMVersion;
import network.crypta.support.PriorityAwareExecutor;
import network.crypta.support.Ticker;
diff --git a/src/test/java/network/crypta/node/subsystem/NodeStorageSubsystemTest.java b/src/test/java/network/crypta/node/subsystem/NodeStorageSubsystemTest.java
index bccfd3f7bef..e3bd8212b8b 100644
--- a/src/test/java/network/crypta/node/subsystem/NodeStorageSubsystemTest.java
+++ b/src/test/java/network/crypta/node/subsystem/NodeStorageSubsystemTest.java
@@ -13,8 +13,8 @@
import network.crypta.node.NodeInitException;
import network.crypta.node.ProgramDirectory;
import network.crypta.node.SecurityLevels;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.store.CHKStore;
import network.crypta.store.FreenetStore;
import network.crypta.store.saltedhash.SaltedHashFreenetStore;
diff --git a/src/test/java/network/crypta/node/updater/NodeUpdateManagerTest.java b/src/test/java/network/crypta/node/updater/NodeUpdateManagerTest.java
index ebd771cf0a4..4e40d0bf439 100644
--- a/src/test/java/network/crypta/node/updater/NodeUpdateManagerTest.java
+++ b/src/test/java/network/crypta/node/updater/NodeUpdateManagerTest.java
@@ -34,8 +34,8 @@
import network.crypta.node.PeerNode;
import network.crypta.node.ProgramDirectory;
import network.crypta.node.Version;
-import network.crypta.node.useralerts.UserAlert;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlert;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.HTMLNode;
import network.crypta.support.SimpleFieldSet;
import network.crypta.support.io.ArrayBucket;
diff --git a/src/test/java/network/crypta/node/updater/UpdateOverMandatoryManagerTest.java b/src/test/java/network/crypta/node/updater/UpdateOverMandatoryManagerTest.java
index ac0e905f769..535497571dc 100644
--- a/src/test/java/network/crypta/node/updater/UpdateOverMandatoryManagerTest.java
+++ b/src/test/java/network/crypta/node/updater/UpdateOverMandatoryManagerTest.java
@@ -12,7 +12,7 @@
import network.crypta.node.NodeClientCore;
import network.crypta.node.PeerNode;
import network.crypta.node.PeerTransport;
-import network.crypta.node.useralerts.UserAlertManager;
+import network.crypta.runtime.alerts.UserAlertManager;
import network.crypta.support.Ticker;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -161,8 +161,8 @@ void handleAnnounce_whenRevocationKeyMatches_expectPeerClaimedAndAlertRegistered
verify(updateManager, times(1)).peerClaimsKeyBlown();
// An alert is registered exactly once for the first matching announcement
- ArgumentCaptor