ryco117 / distort-android-client Goto Github PK
View Code? Open in Web Editor NEWA reference implementation for an Android Client interacting with a DistoRt homeserver
License: GNU General Public License v3.0
A reference implementation for an Android Client interacting with a DistoRt homeserver
License: GNU General Public License v3.0
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
There should be an activity to allow the root account to delete other accounts
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.
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.
When network operations fail, there is very limited ability for the user to be aware of the fail or how it occurred.
The "Sign in with Last Account" login button should use the server-address that is currently in the field.
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.
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.
Message texts are not highlightable, and therefore can not be copied to clipboard. This should be implemented.
The About description could use some wording and detail improvements. Also, should link to distortapp.org
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
Conversations' messaging activities infrequently open with no messages when there are local messages to display. Cause unknown
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.
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
Add a change-password dialog to the Settings activity.
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
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
Every successful authentication to a homeserver should have that address remembered for later, since the homeserver addresses can be hard to manually type.
Login attempts often take an exceedingly long to fail. Should force a 10 second or so timeout for homeserver response.
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")
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.
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.
Allow peer long-press to open menu for choosing renaming or removing peer.
Many cases where there may not be a specific hostname associated with the homeserver, should be more general.
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
When creating a new group, the default value should be ใใณ
, not bread
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.