Auties00 / Cobalt

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

Exception appeared on shutdown #360

Closed stserakhau closed 10 months ago

stserakhau commented 1 year ago

Hi,

when the application shutdown, thrown exception

        <dependency>
            <groupId>com.github.auties00</groupId>
            <artifactId>whatsappweb4j</artifactId>
            <version>3.5.1</version>
        </dependency>
            var connection = Whatsapp
                    .webBuilder()
                    .newConnection("alias");

            Optional<Whatsapp> opt = connection.registered();
            if (opt.isPresent()) {
                opt.get()
                        .addListener(this)
                        .connect()
                        .join();
            } else {
                connection
                        .name("test name")
                        .unregistered(QrHandler.toFile(path -> {
                            botQrCodeFile = path.toFile();
                        }))
                        .addListener(this)
                        .connect()
                        .join();
            }
Exception in thread "Thread-14" java.nio.file.InvalidPathException: Illegal char <:> at index 16: chat_12121212121:63@s.whatsapp.net.smile
    at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
    at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
    at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
    at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
    at java.base/java.nio.file.Path.resolve(Path.java:516)
    at it.auties.whatsapp.controller.DefaultControllerSerializer.getSessionFile(DefaultControllerSerializer.java:383)
    at it.auties.whatsapp.controller.DefaultControllerSerializer.getSessionFile(DefaultControllerSerializer.java:379)
    at it.auties.whatsapp.controller.DefaultControllerSerializer.serializeChat(DefaultControllerSerializer.java:173)
    at it.auties.whatsapp.controller.DefaultControllerSerializer.lambda$serializeStore$1(DefaultControllerSerializer.java:167)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
    at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
    at it.auties.whatsapp.controller.DefaultControllerSerializer.serializeStore(DefaultControllerSerializer.java:168)
    at it.auties.whatsapp.controller.Store.serialize(Store.java:1454)
    at it.auties.whatsapp.controller.Store.dispose(Store.java:1447)
    at it.auties.whatsapp.socket.SocketHandler.onShutdown(SocketHandler.java:138)
    at it.auties.whatsapp.socket.SocketHandler.lambda$onOpen$4(SocketHandler.java:165)
    at java.base/java.lang.Thread.run(Thread.java:1623)
Auties00 commented 1 year ago

will be fixed in the next release

stserakhau commented 1 year ago

fix for issue - lines 173-175, 353-354

https://github.com/Auties00/Cobalt/pull/370

Auties00 commented 10 months ago

Fixed on the master branch