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