Giter Site home page Giter Site logo

almindor / harbour-jtox Goto Github PK

View Code? Open in Web Editor NEW
12.0 12.0 4.0 683 KB

Sailfish OS native tox implementation for Jolla

License: GNU General Public License v3.0

C++ 63.06% QMake 1.03% QML 21.57% Shell 1.78% JavaScript 12.56%
decentralized encrypted messaging tox

harbour-jtox's People

Contributors

almindor avatar carlosgonz0 avatar eson57 avatar michal-szczepaniak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

harbour-jtox's Issues

Message context menu hidden on large messages

Reported in #68 originally. It seems the UI does not behave consistently when handling a large message in the "pending offline" state. The context menu does not seem to be visible in this case when long-pressed.

Currently trying to reproduce as it seems to work ok in the emulator. Originally occurred on a Jolla C but I don't have one. Will try my old Jolla 1 first.

Compilation error

Hello, I am having this compilation error:
In file included from src/friend.cpp:1: src/friend.h:6:10: fatal error: tox/tox.h: No such file or directory #include <tox/tox.h>
I get even when I copy manually the file to "extra" directory.
I am not sure what I am doing wrong. Could you guide me please?
Thanks

Change friend request storage

Friend requests are currently stored directly in QSettings without any "owner" identifier.

This causes an issue where changing a profile while an open friend-request is still present leads to getting that same request visible and acceptable from the new profile (although it won't work).

Friend requests should be stored in the SQLite DB alongside messages and wiped when a new profile is imported just as messages are.

NOTE: I think that toxcore currently gets into a funny state if a friend request was received but not accepted. It seems sending new ones will NOT deliver the request callback again which could lead to people who flipped profiles being unable to be added by the same person again. Further research is needed.

Missing notifications

The application cover displays how many messages have been received since last time the user checked, but there is no notification in the phone UI, or LED color change.

[proposal] Create Qt toxcore library

Hi,

I'm one of the lead developers of https://github.com/qTox/qTox a desktop Tox client built with Qt. I noticed your project from being mentioned in in #toktok on freenode and wanted to know if you would be interested in creating a common Qt toxcore library so both our clients can build on a solid base and reduce the code duplication. If you're interested contact me over Tox or ping me on #qtox or #toktok.

Use static bootstrap nodes file

Right now jTox always queries the bootstrap nodes on init. This should be done only once a week or so and a static nodes file should be kept and used.

Enter key as newline, dedicated send button?

In the current release of jTox (v1.3.0) using toxcore v.0.2.2, pressing the enter key will send the contents of your message input window instead of creating a new line. For multiple paragraphs, this can be worked around by copying and pasting a newline character into the tex tarea window, however I believe the best approach for jTox should be to configure the Enter key as new line and have a dedicated send button. Alternatively, holding Enter could create a new line while tapping enter could send the current message, this would save on screen real estate.

UI problem - Confusing behavior when contact is offline

When a contact is offline, the textbox for typing messages is disabled (apparently), and does not react to taps. I would be better to replace the placeholder text too, with "contact offline", until the Faux offline messaging is implemented in #7.

jTox CRASH on a conversation

JTOX crash on a conversation Suddenly when sending a message the message that crash sends it well. But then when I start the app again. it puts that message that crash in the mode of sending without connection when it has already been sent before the crash, then that message is visualized sending without connection, and never send it again. Being the other friend active. Even if you send it before the crash

Goes offline unpredictably

Once the screen is locked, it is impossible to predict when the application will go offline (because it is killed by SailFish). The UI and the connectivity part should be decoupled in order to allow the messaging service to perform as such.

Unable to import unencrypted profiles

Unencrypted profiles from uTox and Cyanide are not importable as jTox considers them bad.

There's currently a isEncrypted check. The logic should be extended to allow decrypted profiles to be imported and re-sealed with a new password.

jTox crashes trying to send a long text

It gets worse: after restart it would try to send the message again and crash again, and so on.

Another problem is that unsent messages can't be removed by long press -> delete. Once you long press such a message the screen dims and there's no menu items visible. I suppose they're somewhere beyond the screen bounds?

Is there any other way to gently remove the message from sending queue without losing all the data? If that's a no would wiping history do the trick? I'm hesitant to try because I don't really want to risk losing my history to find out that it doesn't clear the unsent message queue.

The text message is a public PGP key, if that matters. I don't know if it can be reproduced with any key or this particular one, but I can share it if needed.

UI Problem - font color and font size for key and conversation title

The conversation titles and the key (in the account page) are in a font color that is very close to the background color for many themes, and are small, which does not help reading. Same goes for the mention "Tox ID touch for QR code", for which I had to focus a lot to read just right now. This aggravates the problem described in #6, since it further impairs the possibility to share a key.

UI problem - Adding contact

When adding a contact, it is important that the user doesn't have to press "Enter" (or "Return") after pasting the fingerprint of that contact in order for the key to be validated. It is very impractical and goes against all widely used UX principles.

Importing account without an account?

Just to say that it is a little confusing to have only the line "enter password" the first ever time you start jTox.

I was looking for a menu to import an account, but it appears only once another account has been created. Would be nice to be able to import an account at the first run!

Thanks.
Cheers.

Chat improvements

When friend is offline there is no items in pullup menu but it's still visible and it confuses people.
Second thing is the time. You just pasted timestamp text. We need to split that into time and date to make it more readable (probably let's not add date if it's current day).

PS: I think i will do it :P

Allow renaming of offline friends

If a friend is added but isn't confirmed or has not been mutually online the name is just printed as public key.

There should be a way to set and remember friend names in jTox for "offline" friends until their names are recovered when they go online/confirm friend request.

Auto-away

Add auto-away timer that will change status from ready to away after a specified number of minutes of inactivity.

High cpu usage

I noticed that jtox has static usage of 5-6% cpu on snapdragon 810 which causes lower battery life. We need to find out what does that and mininalize that.

Does not retain contacts

If you add a contact to jTox, and then the application gets killed by SailFish for whatever reason, the contact won't be there when you open jTox again. This is a critical issue.

Multiline messages

jTox currently doesn't do line breaks in the message edit field. This should be changed so long messages are easier to follow while editing.

Print the connection activity of a contact in the conversation

As a corollary to #8, it might be interesting to print (with times) the network events in the conversation window (i.e. 'contact went offline', 'contact came back online', 'you went offline', 'you came back online') with the same timestamps as with the conversation.

The QR code isn't valid

The application displays for my key a QR code that mostly looks like a chess board. It's also not working with the QR code readers on android.

Add support for auto-joining messages

Toxcore message limit is 1372 bytes specified by the tox_max_message_length () constant function. The documentation mentions auto-joining here but does not explain exactly what the difference between a full-size single message followed by a separate message and a split message would be when joining client-side.

I suspect it's using time-based check to only join messages when the previous message is full-sized and younger than a couple milliseconds to prevent inadvertent joins.

jTox should implement this as well.

Implement offline sending

Tox doesn't "hold" messages and can't send to offline targets. jTox should store the undeliverable messages with it's own status in the DB and try to send whenever given friend goes online.

Double tapping enter crashes jTox.

In the current release of jTox (v1.3.0) with toxcore v0.2.2, double tapping the enter key while in a chat window will cause jTox to crash. Attempting to open jTox afterwards will result in normal function until the contact which was open during the crash comes online, at which point jTox will crash again. The only way to rectify the issue is to delete any jTox data found in .config and .local and then either create a new Tox ID or import a backup.

Offline message not delivered when in BG

Right now it seems that if the app is in the background while a friend goes back online and there's a pending message it never delivers it.

Might be related to the 2s background mode polling (maybe toxcore skips events on such a long interval).

-Feature---Request+

HI almindor

  • I want to make a donation for this app, but I have a lot of difficulty setting up flatt, please provide via paypal on openrepos = )

  • can you add a DAEMON MODE to run in background! > This to get the message in real time, even though the app will close

  • can you add the new word in my harbour-jtox-es.ts to translate ? i am new in github i dont know how do it.

    ONCE AGAIN THANKS FOR UR GREAT WORK!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.