diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 53a9973..c491e6e 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.openautonomousconnection WebClient - 1.0.0-BETA.1.0 + 1.0.1-BETA.0.1 The default WebClient https://open-autonomous-connection.org/ @@ -67,6 +67,13 @@ maven-compiler-plugin 3.13.0 + + + org.projectlombok + lombok + 1.18.42 + + --add-exports java.base/sun.security.x509=ALL-UNNAMED @@ -109,13 +116,13 @@ org.projectlombok lombok - 1.18.38 + 1.18.42 provided UTF-8 - 23 - 23 + 25 + 25 diff --git a/pom.xml b/pom.xml index 586708a..9a8ed0d 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.openautonomousconnection WebClient - 1.0.0-BETA.1.0 + 1.0.1-BETA.0.2 Open Autonomous Connection https://open-autonomous-connection.org/ @@ -74,12 +74,12 @@ org.openautonomousconnection LuaScript - 1.0.0-BETA.1.1 + 1.0.0-BETA.1.3 org.openautonomousconnection Protocol - 1.0.1-BETA.0.3 + 1.0.1-BETA.0.5 org.projectlombok diff --git a/src/main/java/org/openautonomousconnection/webclient/ClientImpl.java b/src/main/java/org/openautonomousconnection/webclient/ClientImpl.java index 099e91f..c421af4 100644 --- a/src/main/java/org/openautonomousconnection/webclient/ClientImpl.java +++ b/src/main/java/org/openautonomousconnection/webclient/ClientImpl.java @@ -1,9 +1,14 @@ package org.openautonomousconnection.webclient; import dev.unlegitdqrk.unlegitlibrary.event.Listener; +import dev.unlegitdqrk.unlegitlibrary.network.system.client.events.packets.C_PacketReadEvent; import lombok.Getter; import org.openautonomousconnection.oacswing.component.OACOptionPane; +import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.WebPacket; +import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.navigate.WebNavigateAckPacket; +import org.openautonomousconnection.protocol.packets.v1_0_1.beta.web.impl.resource.WebResourceResponsePacket; import org.openautonomousconnection.protocol.side.client.ProtocolClient; +import org.openautonomousconnection.protocol.side.client.ProtocolWebClient; import org.openautonomousconnection.protocol.side.client.events.ConnectedToProtocolINSServerEvent; import org.openautonomousconnection.protocol.urlhandler.v1_0_1.beta.LibClientImpl_v1_0_1_B; import org.openautonomousconnection.protocol.urlhandler.v1_0_1.beta.web.WebFlagInspector; @@ -14,6 +19,7 @@ import org.openautonomousconnection.webclient.ui.BrowserTab; import java.awt.*; import java.io.ByteArrayOutputStream; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; @@ -25,7 +31,7 @@ import java.util.concurrent.atomic.AtomicBoolean; *

Implements full stream assembly with strict correlation via: * requestId + tabId + pageId + frameId.

*/ -public final class ClientImpl extends ProtocolClient { +public final class ClientImpl extends ProtocolWebClient { private static final long MAX_STREAM_BYTES = 64L * 1024L * 1024L; // 64MB safety cap private static final int MAX_CONCURRENT_STREAMS = 256; @@ -159,7 +165,7 @@ public final class ClientImpl extends ProtocolClient { @Override public void serverConnectionFailed(Exception exception) { - getProtocolBridge().getLogger().exception("Failed to connect to server", exception); + getProtocolBridge().getProtocolValues().logger.exception("Failed to connect to server", exception); OACOptionPane.showMessageDialog( dialogParent, "Failed to connect to Server:\n" + exception.getMessage(), diff --git a/src/main/java/org/openautonomousconnection/webclient/Main.java b/src/main/java/org/openautonomousconnection/webclient/Main.java index 829db42..4dba7bb 100644 --- a/src/main/java/org/openautonomousconnection/webclient/Main.java +++ b/src/main/java/org/openautonomousconnection/webclient/Main.java @@ -54,8 +54,11 @@ public class Main { } static void main(String[] args) throws IOException, NoSuchFieldException, IllegalAccessException { + File logsFolder = new File("logs"); + if (!logsFolder.exists()) logsFolder.mkdir(); + eventManager = new EventManager(); - logger = new Logger(new File("logs", "client"), false, true); + logger = new Logger(logsFolder, false, true); addonLoader = new AddonLoader(eventManager, logger); settings = SettingsManager.load(); diff --git a/src/main/java/org/openautonomousconnection/webclient/lua/WebLogger.java b/src/main/java/org/openautonomousconnection/webclient/lua/WebLogger.java index c676666..c236828 100644 --- a/src/main/java/org/openautonomousconnection/webclient/lua/WebLogger.java +++ b/src/main/java/org/openautonomousconnection/webclient/lua/WebLogger.java @@ -15,26 +15,26 @@ public class WebLogger { } public void log(String string) { - client.getProtocolBridge().getLogger().log(host + ": " + string); + client.getProtocolBridge().getProtocolValues().logger.log(host + ": " + string); } public void info(String info) { - client.getProtocolBridge().getLogger().info(host + ": " + info); + client.getProtocolBridge().getProtocolValues().logger.info(host + ": " + info); } public void warn(String warn) { - client.getProtocolBridge().getLogger().warn(host + ": " + warn); + client.getProtocolBridge().getProtocolValues().logger.warn(host + ": " + warn); } public void error(String error) { - client.getProtocolBridge().getLogger().error(host + ": " + error); + client.getProtocolBridge().getProtocolValues().logger.error(host + ": " + error); } public void exception(String infoLine, Exception exception) { - client.getProtocolBridge().getLogger().exception(host + ": " + infoLine, exception); + client.getProtocolBridge().getProtocolValues().logger.exception(host + ": " + infoLine, exception); } public void debug(String debug) { - client.getProtocolBridge().getLogger().debug(host + ": " + debug); + client.getProtocolBridge().getProtocolValues().logger.debug(host + ": " + debug); } } diff --git a/src/main/java/org/openautonomousconnection/webclient/ui/BrowserUI.java b/src/main/java/org/openautonomousconnection/webclient/ui/BrowserUI.java index d4686b8..3681888 100644 --- a/src/main/java/org/openautonomousconnection/webclient/ui/BrowserUI.java +++ b/src/main/java/org/openautonomousconnection/webclient/ui/BrowserUI.java @@ -231,6 +231,8 @@ public class BrowserUI extends OACFrame { readyTab.loadUrl(normalized); })); + connectTabClient(key, client); + BrowserTab tab = new BrowserTab( key, normalized, @@ -275,42 +277,37 @@ public class BrowserUI extends OACFrame { cardLayout.show(pageHost, key); browser.addressField().setText(normalized); - - connectTabClient(key, client); } private void connectTabClient(String key, ClientImpl client) { try { - File logsFolder = new File("logs"); - if (!logsFolder.exists()) logsFolder.mkdir(); - ProtocolValues values = new ProtocolValues(); values.packetHandler = new PacketHandler(); values.eventManager = new EventManager(); values.ssl = settings.isSslEnabled(); - AddonLoader addonLoader = Main.getAddonLoader(); + values.logger = Main.getLogger(); + values.addonLoader = Main.getAddonLoader(); + values.protocolVersion = ProtocolVersion.PV_1_0_1_BETA; + AddonLoader addonLoader = values.addonLoader; ProtocolBridge bridge = new ProtocolBridge( client, - values, - ProtocolVersion.PV_1_0_1_BETA, - Main.getLogger(), - Main.getAddonLoader(), - client.getLibImpl() + client.getLibImpl(), + values ); protocolByKey.put(key, bridge); addonLoaderByKey.put(key, addonLoader); + File addonsFolder = new File("addons"); + if (!addonsFolder.exists()) addonsFolder.mkdir(); + addonLoader.loadAddonsFromDirectory(addonsFolder); + client.buildINSConnection(); bridge.getProtocolValues().eventManager.registerListener(client); InsEndpoint ep = Objects.requireNonNull(settings.getSelectedIns(), "selectedIns"); client.getClientINSConnection().connect(ep.host(), ep.port()); - - File addonsFolder = new File("addons"); - if (!addonsFolder.exists()) addonsFolder.mkdir(); - addonLoader.loadAddonsFromDirectory(addonsFolder); } catch (Exception e) { OACOptionPane.showMessageDialog( this,