Auties00 / Cobalt

Standalone unofficial fully-featured Whatsapp Web and Mobile API for Java and Kotlin
MIT License
625 stars 183 forks source link

Stream error reason=405 #319

Closed wlp7662973 closed 1 year ago

wlp7662973 commented 1 year ago

version 3.4.4 and master src code java.lang.RuntimeException: Stream error: Node[description=failure, attributes={reason=405, location=odn}] at it.auties.whatsapp.socket.StreamHandler.digestFailure(StreamHandler.java:116) at it.auties.whatsapp.socket.StreamHandler.digest(StreamHandler.java:90) at it.auties.whatsapp.socket.SocketHandler.onMessage(SocketHandler.java:190) at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:122) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) at java.base/java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) jun 06, 2023 5:46:49 PM it.auties.whatsapp.api.ErrorHandler lambda$defaultErrorHandler$1

lollix91 commented 1 year ago

Same error, with version 3.4.4

SEVERE: Socket failure at STREAM java.lang.RuntimeException: Stream error: Node[description=failure, attributes={reason=405, location=atn}] at it.auties.whatsapp.socket.StreamHandler.digestFailure(StreamHandler.java:116) at it.auties.whatsapp.socket.StreamHandler.digest(StreamHandler.java:90) at it.auties.whatsapp.socket.SocketHandler.onMessage(SocketHandler.java:190) at it.auties.whatsapp.socket.SocketSession.readMessages(SocketSession.java:122) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

Auties00 commented 1 year ago

web or mobile api? when does it happen? when did it start happening?

lollix91 commented 1 year ago

Web Api. it starts apparently random, especially during login with a previously saved connection.

Auties00 commented 1 year ago

Web Api. it starts apparently random, especially during login with a previously saved connection.

i mean this error happens when the credentials are wrong, are you sure you didn't disconnect the device from Whatsapp?

lollix91 commented 1 year ago

I'm using the same credentials I were using with the other versions. I am usually able to login with these.

Auties00 commented 1 year ago

Fixed in 3.4.5, reopen if there's still an issue

wlp7662973 commented 1 year ago

also get code 405 console print: Connected to the target VM, address: '127.0.0.1:57294', transport: 'socket' isConnected=false whatsapp=Whatsapp(socketHandler=it.auties.whatsapp.socket.SocketHandler@4c163e3) store.proxy = null Connecting... future = java.util.concurrent.CompletableFuture@790da477[Not completed] Received node Node[description=failure, attributes={reason=405, location=vll}] Disconnected: RECONNECTING Received node Node[description=failure, attributes={reason=405, location=odn}] Disconnected: RECONNECTING Received node Node[description=failure, attributes={reason=405, location=cln}] Disconnected: RECONNECTING Received node Node[description=failure, attributes={reason=405, location=atn}] Disconnected: RECONNECTING Received node Node[description=failure, attributes={reason=405, location=frc}] Disconnected: RECONNECTING

my test method: public static void test() throws Exception { ConnectionBuilder whatsappConnectionBuilder = Whatsapp.webBuilder(); WebOptionsBuilder whatsappBuilder = whatsappConnectionBuilder.newConnection(8617197677911L); whatsappBuilder.qrHandler(qr->System.out.printf("QR Code: %s%n", qr)); System.out.println("isConnected=" + Whatsapp.isConnected(8617197677911L)); Whatsapp whatsapp = whatsappBuilder.build(); //whatsapp.reg System.out.println("whatsapp=" + whatsapp); it.auties.whatsapp.controller.Store store = whatsapp.store(); //System.out.printf("store.proxy = %s%n", store.proxy().orElse(null)); //store.proxy(new java.net.URI("socks5://127.0.0.1:7890")); System.out.printf("store.proxy = %s%n", store.proxy().orElse(null)); whatsapp.addLoggedInListener(api -> System.out.printf("Connected: %s%n", api.store().privacySettings())) .addNewMessageListener((api, message, offline) -> System.out.println(message.toJson())) .addContactsListener((api, contacts) -> System.out.printf("Contacts: %s%n", contacts.size())) .addChatsListener(chats -> System.out.printf("Chats: %s%n", chats.size())) .addNodeReceivedListener(incoming -> System.out.printf("Received node %s%n", incoming)) .addNodeSentListener(outgoing -> System.out.printf("Sent node %s%n", outgoing)) .addActionListener((action, info) -> System.out.printf("New action: %s, info: %s%n", action, info)) .addSettingListener(setting -> System.out.printf("New setting: %s%n", setting)) .addContactPresenceListener((chat, contact, status) -> System.out.printf("Status of %s changed in %s to %s%n", contact, chat.name(), status.name())) .addAnyMessageStatusListener((chat, contact, info, status) -> System.out.printf("Message %s in chat %s now has status %s for %s %n", info.id(), info.chatName(), status, contact == null ? null : contact.name())) .addChatMessagesSyncListener((chat, last) -> System.out.printf("%s now has %s messages: %s%n", chat.name(), chat.messages().size(), !last ? "waiting for more" : "done")) .addDisconnectedListener(reason -> System.out.printf("Disconnected: %s%n", reason)); ///whatsapp.log System.out.println("Connecting..."); CompletableFuture future = whatsapp.connect(); // connectAndAwait System.out.println("future = " + future); future.join(); System.out.println("Connected..."); whatsapp.awaitDisconnection(); System.out.println("Disconnected"); }