Giter VIP home page Giter VIP logo

distort-android-client's People

Contributors

ryco117 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

distort-android-client's Issues

QR Code Reading/Printing Support

Copying long IPFS hashstrings is very tedious and un-modern. It seems essential that QR codes can be used to easily share peer identites between two people meeting in person

Store messages to a local database

Right now messages are stored to a JSON file (the same mechanism used for managing all other user data). This implies that the entire file must be read and written for every check or modification of a conversation's messages, which will be linear in number of messages.

However, as messages will never be removed and are modified/appended to by their unique ID, it makes much more sense to store messages to the SQLite databases that Android allows us to create, providing logarithmic search/modify of messages.

User certificate store is not checked

As of Android 7, only the system certificate stores are trusted by default. Since a user may want to use their own self-signed certificate for HTTPS homeserver connections, this is a must.

Relevant info found here.

Improved error reporting

When network operations fail, there is very limited ability for the user to be aware of the fail or how it occurred.

Auto-fill credentials

When last-login credentials exist, they should populate the input fields. This way if the login is not successful there are relevant values to work with.

Allow changing colours

Right now groups and conversations are assigned random colours at creation, but then they become static. Should have an onClickListener for pressing the coloured icon to open a colour-picker fragment.

Unable to highlight messages

Message texts are not highlightable, and therefore can not be copied to clipboard. This should be implemented.

Remember tile colours

Right now, the colours assigned to group and conversation tiles change every time the respective activities are reloaded. While I don't mind this for the moment (its kind of silly to see), it would be very inconvenient for actual use with a fair number of peers added

Messaging Activity Opens Empty

Conversations' messaging activities infrequently open with no messages when there are local messages to display. Cause unknown

Error TODOs

There are several TODO's scattered around with regards to more thorough error handling. Requires mostly checking the REST API error codes that distort-server will return.

Group long press menu and show level

Allow group long-press to open menu for choosing changing subgroup level or leaving group. Show the current subgroup level under the group name at group activity

New account creation refresh groups crash

After account creation, groups list was not properly refreshed, causing a non-existent group (from the root's groups list) to be visible. Attempting to open the non-existent group causes a crash.

Investigation into why the group entry was not removed is needed

Only shows at most 20 messages

To reduce memory useage only the past 20 messages are stored in the recycler on activity resume. There needs to be the capability to scroll up and read previous messages

Remember homeserver addresses

Every successful authentication to a homeserver should have that address remembered for later, since the homeserver addresses can be hard to manually type.

Connection/Login Timeout

Login attempts often take an exceedingly long to fail. Should force a 10 second or so timeout for homeserver response.

Should not load all messages from DB

When determining where to begin retrieve-message query, the entire array of conversation messages should not be loaded into memory. Instead a single DB query should be made to find the lowest index matching the desire traits (namely an outbound message with status "queued")

Display In-Use IPFS ID

There should be a menu option (possibly in the same dropdown as the Settings and About) that displays the currently connected IPFS node's ID.

For now, presenting the IPFS ID as a string is all that's required, but in the future it will be necessary to display it as a QR code.

First open run-down

Using shared preferences, should determine if first time opening the app. If so, should give all information necessary to understand the login screen. After first-time login, should give information describing the other function the app can perform.

New Notification per Conversation

Right now at most one notification is displayed, even if messages are received on two different conversations. Since clicking the notification opens the conversation activity, there should be a notification per conversation with new messages

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.