buddycloud / buddycloud-android Goto Github PK
View Code? Open in Web Editor NEWbuddycloud for Android - using the buddycloud HTTP API
License: Apache License 2.0
buddycloud for Android - using the buddycloud HTTP API
License: Apache License 2.0
We need to be sensible about our security and set good standards in place from day one.
Here's a modest proposal:
When the remote site isn't using a valid certificate, we should pop up a dialoue box telling the user that their domain isn't using a valid certifiate.
Something like
<domain.name> is insecure. Proceed? <yes> <hell no>.
Store the timestamp where an user leaves or does a log out, so the next time, the app will properly fetch the sever for the unread counters.
As per title.
@rtreffer recommends to run in Strict Mode to find performance issues. https://developer.android.com/reference/android/os/StrictMode.html
Since replies are loaded asynchronously, there's no guarantee that posts are ordered by publishing time.
Unable to scroll back in time on the current client
HTC Desire running CyanogenMod 10.1 VJ (Android 4.2.2)
When typing an entry, the text entry is incredibly slow, sometimes taking several seconds for each typed character to appear in the text area.
As per title.
perhaps we shouldn't allow empty posts :)
+1
Definitely. I thought I'd broken the UI with my media posts :)
Looks like newlines (from posts in the webclient) are being ignored in the android client.
The current build (10 April) does not load my channel list and I'm only able to see my own channel posts.
Clicking on a users avatar in a channel should show me their channel and hitting back should take me back to the channel I came from.
As per title.
As per title.
The API URL is hardcoded to http://api.buddycloud.org/ and this makes my buddycloud instance cry.
As per title.
Some strage whitespace in topic posts (from buddycloud:[email protected])
As you scroll between two threads in a channel stream there is a noticeable delay before the newly appearing thread gets painted.
Not sure if this is actually a duplicate of #27 though ?
Includes disabling the post button.
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): Read error: ssl=0x644446c8: I/O error during system call, Connection reset by peer
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): javax.net.ssl.SSLException: Read error: ssl=0x644446c8: I/O error during system call, Connection reset by peer
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:664)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at com.buddycloud.http.BuddycloudHTTPHelper$RequestAsyncTask.doInBackground(BuddycloudHTTPHelper.java:168)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at com.buddycloud.http.BuddycloudHTTPHelper$RequestAsyncTask.doInBackground(BuddycloudHTTPHelper.java:1)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at android.os.AsyncTask$2.call(AsyncTask.java:287)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
07-08 11:10:11.592: E/BuddycloudHTTPHelper(19057): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
Not everyone has the habit to just wipe left instead of hitting the return button. It should return to the channel stream.
That includes caching subscribed channels.
That applies for every button that changes state (enabled, pressed, etc...)
As per title.
UTC Perhaps (at least that is how we should be sending them out of the server).
The last commit (b8dda3b) is causing the app to crash on login action result.
The problem is at:
b8dda3b#L3R77
Looks like the comment button layout height is fill parent as it matches the height of the content being edited rather than remaining fixed height.
At the moment users cannot register... We should include a link on where users can sign-up.
Ideally this could read a list from buddycloud.com/signup-domains.json
In every error callback.
The audio files are:
As per title
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at com.buddycloud.LoginActivity$1.onClick(LoginActivity.java:82)
at android.view.View.performClick(View.java:4211)
at android.view.View$PerformClick.run(View.java:17267)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
at dalvik.system.NativeStart.main(Native Method)
I think we just see the most recent notification at the moment.
How about we do something like this for single notifications:
For more than one unread notification
That occurs when loading replies inside LinearLayout while scrolling ListView.
"Make the UI/pages scrollable. Too large for my 240x320 screen. Can't even sign up because the button's not on the screen."
I was made aware on the Facebook buddycloud group that low res phones have the above issue. According to him phones with QVGA screens seem to be quiet common in his part of the world and with more than 1.000.000.000 people that's quiet a large group of possible users
As per title.
If the API discovery fails (for instance because someone typed _buddycloud_api._tcp.pouet.im
instead of _buddycloud-api
...), the app uses a default value (api.buddycloud.org
I guess), without letting the user decide whether it's a good choice or not.
Which means that my XMPP credentials have been sent to some server I don't necessarily trust without my consent. This is terribly wrong.
IMO there are 2 reasonable possible behaviours if API discovery fails:
but don't send my login/password to anyone.
We need to store only 31 rows on post tables
After staying a while in background, MainActivity show any subscribed channel in the side menu.
Another enhancement that decreases 'time to glass"
Putting in the wrong credentials on the start screen will drop you into a never-ending channel load screen.
As per title.
Margin from content to reply section is greater than expected.
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.