diff --git a/diylc/diylc-core/src/main/resources/update.xml b/diylc/diylc-core/src/main/resources/update.xml
index e3969630..27eaccdc 100644
--- a/diylc/diylc-core/src/main/resources/update.xml
+++ b/diylc/diylc-core/src/main/resources/update.xml
@@ -297,6 +297,10 @@
IMPROVEMENT
Increased tolerance of sticky points on guitar pickup terminals in order to make it easier for leads to make proper contact and for the circuit analyzer to work
+
+ BUG_FIX
+ If the internet connection is present, but unstable, the application starts but nothing can be clicked until the connection restores
+
https://github.com/bancika/diy-layout-creator/releases
diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/chatbot/ChatbotPane.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/chatbot/ChatbotPane.java
index 1faa7512..49726a9e 100644
--- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/chatbot/ChatbotPane.java
+++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/chatbot/ChatbotPane.java
@@ -273,23 +273,40 @@ public class ChatbotPane extends JPanel {
getClearButton().setEnabled(false);
getPremiumButton().setVisible(false);
} else {
- fetchChatHistory();
- if (this.subscriptionInfo != null) {
- getPremiumButton().setVisible(FREE_TIER.equals(this.subscriptionInfo.getTier()));
- String subscriptionInfoText = "Your are currently subscribed to the '" + this.subscriptionInfo.getTier() + "' tier, expiring on " + this.subscriptionInfo.getEndDate() + ", with " + this.subscriptionInfo.getRemainingCredits() + " credits remaining.";
-
- if (FREE_TIER.equals(this.subscriptionInfo.getTier())) {
- subscriptionInfoText +=
- " To subscribe to one of the premium tiers, unlock advanced AI models and get more credits, visit " + GET_PREMIUM_URL + " and become a Patreon supporter. " +
- "All the details about the AI Assistant limits and other benefits will be specified there. " +
- "If you are already a Patreon supporter, make sure to link your account with the DIYLC Cloud account from the 'Cloud' menu.";
- } else {
- subscriptionInfoText += " Thank you for supporting further development of DIYLC!";
+ swingUI.executeBackgroundTask(new ITask() {
+ @Override
+ public Void doInBackground() throws Exception {
+ fetchChatHistory();
+ return null;
}
- appendSection(ChatbotService.SYSTEM, subscriptionInfoText);
- }
- getAskButton().setEnabled(true);
- getClearButton().setEnabled(true);
+
+ @Override
+ public void failed(Exception e) {
+ }
+
+ @Override
+ public void complete(Void result) {
+ if (ChatbotPane.this.subscriptionInfo != null) {
+ getPremiumButton().setVisible(FREE_TIER.equals(ChatbotPane.this.subscriptionInfo.getTier()));
+ String subscriptionInfoText = "Your are currently subscribed to the '" +
+ ChatbotPane.this.subscriptionInfo.getTier() + "' tier, expiring on " +
+ ChatbotPane.this.subscriptionInfo.getEndDate() + ", with " +
+ ChatbotPane.this.subscriptionInfo.getRemainingCredits() + " credits remaining.";
+
+ if (FREE_TIER.equals(ChatbotPane.this.subscriptionInfo.getTier())) {
+ subscriptionInfoText +=
+ " To subscribe to one of the premium tiers, unlock advanced AI models and get more credits, visit " + GET_PREMIUM_URL + " and become a Patreon supporter. " +
+ "All the details about the AI Assistant limits and other benefits will be specified there. " +
+ "If you are already a Patreon supporter, make sure to link your account with the DIYLC Cloud account from the 'Cloud' menu.";
+ } else {
+ subscriptionInfoText += " Thank you for supporting further development of DIYLC!";
+ }
+ appendSection(ChatbotService.SYSTEM, subscriptionInfoText);
+ }
+ getAskButton().setEnabled(true);
+ getClearButton().setEnabled(true);
+ }
+ }, false);
}
// Scroll to the end of the chat pane