iNPUTmice / ceb2txt

Apache License 2.0
15 stars 5 forks source link

Latest binary no longer works #19

Closed TechnologyClassroom closed 1 year ago

TechnologyClassroom commented 1 year ago

Export made with Conversations 2.12.6+free. openjdk-8,11,17,18,19-jre-headless fail to extract on Ubuntu 22.04 (Trisquel 11). Output for openjdk-19-jre-headlesss looks like this:

$ java -jar im.conversations.ceb2txt-0.1.jar REDACTED.ceb
Enter password for REDACTED:                                                                                                                                                           
Exception in thread "main" org.sql2o.Sql2oException: Error preparing statement - [SQLITE_ERROR] SQL error or missing database (table accounts has no column named pinned_mechanism)
        at org.sql2o.Query.buildPreparedStatement(Query.java:439)
        at org.sql2o.Query.buildPreparedStatement(Query.java:421)
        at org.sql2o.Query.executeUpdate(Query.java:652)
        at im.conversations.ceb2txt.Main.main(Main.java:115)
Caused by: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (table accounts has no column named pinned_mechanism)
        at org.sqlite.core.DB.newSQLException(DB.java:1010)
        at org.sqlite.core.DB.newSQLException(DB.java:1022)
        at org.sqlite.core.DB.throwex(DB.java:987)
        at org.sqlite.core.NativeDB.prepare_utf8(Native Method)
        at org.sqlite.core.NativeDB.prepare(NativeDB.java:134)
        at org.sqlite.core.DB.prepare(DB.java:264)
        at org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:45)
        at org.sqlite.jdbc3.JDBC3PreparedStatement.<init>(JDBC3PreparedStatement.java:30)
        at org.sqlite.jdbc4.JDBC4PreparedStatement.<init>(JDBC4PreparedStatement.java:19)
        at org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:35)
        at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:241)
        at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:205)
        at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:214)
        at org.sql2o.Query.buildPreparedStatement(Query.java:434)
        ... 3 more

The solution is to make a new release with the latest commit or build with maven.

git clone https://github.com/iNPUTmice/ceb2txt
cd ceb2txt
sudo apt update
sudo apt install -y openjdk-19-jre-headless openjdk-19-jdk-headless maven sqlite3 # Not sure if all of these are required, but these were the changes I made.
unset JAVA_HOME
mvn package
cd ..
java -jar ceb2txt/target/im.conversations.ceb2txt-0.1.jar REDACTED.ceb

Output is for last command looks like this:

Enter password for REDACTED:
24 conversations have been written to REDACTED/*/*.txt
iNPUTmice commented 1 year ago

Version 0.2.0 is out with a new jar file

TechnologyClassroom commented 1 year ago

Thank you!