room-15 / chatse Goto Github PK
View Code? Open in Web Editor NEWAn Android application for StackOverflow and StackExchange chat! Revived by Tristan Wiley, base app created by Anubian
License: Apache License 2.0
An Android application for StackOverflow and StackExchange chat! Revived by Tristan Wiley, base app created by Anubian
License: Apache License 2.0
Might be only on new devices. Emulator had issues so I couldn't test on older devices.
Path is returning null when getting image from gallery.
In ChatFragment, (Line 428)
These files didn't convert easily to kotlin, and I suspect it has to do with the montage of comments in there. Will be better of re-writing manually.
Bad bad bad bad bad.
The members in the room are really bunched together and there's no padding on anything.
I'll take this one on.
The web version of the chat shows up the reply/edit/star/delete once we hover the mouse pointer on the chat messages (Some of them you have to click on the arrow that also shows up on hovering).
The idea here is to show those actions if the user taps on a message, instead of using the long press/double tap/etc.
The image that's being used for the navigation menu header is a bit heavy to load. It's possible to notice the lag when you first try to open the menu.
We should reduce its size or use different images for each density to make the open/close animation smoother.
I believe that reducing the image size to fit all cases won't be the best approach. We might follow the guidelines provided here on this SO answer and make the images for each screen density.
The file: https://github.com/room-15/ChatSE/blob/develop/app/src/main/res/drawable/material8.jpg
We can just modify the ChatFragment layout and maybe even use the same MessageAdapter/modify it.
Currently images do not load. I'm using Ion to load them, but they just simply don't work and I'm not entirely sure why at this moment.
Same behavior, we just want to change ProgressDialog to something else since it's deprecated.
In LoginActivity.kt
Make it so you can load history from the past
https://chat.stackoverflow.com/chats/15/events?before=38263611&mode=Messages&msgCount=100
Example. replace "15" with the room number and "38263611" with the last id from the RecyclerView.
Check if valid via openid not SO?
Refactor all major views to Model-View-Presenter with some RxKotlin support.
Store login information in AccountManager instead of SharedPrefs.
The animations are not working as they should, as reported by @TristanWiley .
Needing to get everything commented
Title is self explanatory.
I'm changing it due to Ion's lack of image loading from the Android Resources, which Glide does pretty well.
We had this same issue with Chat Exchange.
You need to use CompatDrawables or something like that....
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_upload.xml from drawable resource ID #0x7f070070
When you close the app and reopen (or go into a new activity) the app stops receiving new messages. Need to fix soon.
Make it so you can load previous messages
I'll work on this eventually, if someone gets to it first then <3 <3
All over the codebase we have com.tristan.wiley.verbosity.Room. I think the code would be a lot more maintainable and readable if we got rid of those.
I will take this on as well.
I don'y know how feasible this is, but it would be superb to have the G+ login option on the app.
App crashes when too many rooms load at once. I'm not sure why completely and need some help fixing.
07-08 14:51:06.204 11621-11656/me.shreyasr.chatse E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: me.shreyasr.chatse, PID: 11621
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.next(ArrayList.java:831)
at me.shreyasr.chatse.chat.service.IncomingEventService.onNewEvents(IncomingEventService.kt:38)
at me.shreyasr.chatse.chat.service.ChatWebSocketListener.onMessage(ChatWebSocketListener.kt:35)
at com.squareup.okhttp.internal.ws.RealWebSocket$1.onMessage(RealWebSocket.java:53)
at com.squareup.okhttp.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:220)
at com.squareup.okhttp.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:101)
at com.squareup.okhttp.internal.ws.RealWebSocket.readMessage(RealWebSocket.java:95)
at com.squareup.okhttp.ws.WebSocketCall.createWebSocket(WebSocketCall.java:171)
at com.squareup.okhttp.ws.WebSocketCall.access$000(WebSocketCall.java:42)
at com.squareup.okhttp.ws.WebSocketCall$1.onResponse(WebSocketCall.java:102)
at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:170)
at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Hurry it up.
As a user I want to read my chat history even offline.
Add local database - Realm, Room or ObjectBox for local storage.
Attempted to do this and ended up running into issues, I'll try again
Also should eventually work with #28 so we can open transcript links too.
chat.stackoverflow.com/rooms/ --> open chatroom
chat.stackoverflow.com/transcript --> Transcript
Same for StackExchange
Crashlytics can be used to log non-fatal issues. We could place a few Crashlytics.log(...)
on some places of the code to help us find potential bugs.
About page containing the list of contributors
Tristan, Shreyash, Mauker, Adam
Yay
Also information about how the app was made, why it was made, etc. It's for the community by the community since StackExchange chat was kinda abandoned.
Need to add starboard and add newevent listener for started items
Currently in on resume I'm reloading the room, which doesn't take too much away, but it could be done better. There should be a way to determine if the WS is still listening. If anyone can look at this and let me know, thanks.
When I long press on a message, all I can do currently is star it. It would be nice to have the option to "reply" to a message as well, and have the ":12345" text applied in the beginning.
Need to redesign this fragment: http://i.imgur.com/XWuIWJL.png
This likely won't be the final redesign, but cleaning it up to make it more readable for testing.
Also will use git flow and create a new branch for this and merge it into a new develop
branch.
Tags in the AlertDialog when clicked on room_information could use some UI improvements. Currently using a FlowLayout
(At least on API18)
I tried to join both SE room 201 and SE room 115 and after clicking join, nothing happens
Finish the adding new rooms, current in branch develop
Right now we're doing authenticated calls with OkHttp and Ion for random stuff (mainly because I was writing quick code and Ion is nice).
We need to switch Ion network calls to OkHttp and we can get rid of the Ion library completely.
No hate koush <3
#41 removed Ion for image loading, this is just killing it the rest of the way.
Need to fix
Tristan converted this all to Kotlin, but I wanna go through and clean up a few things with my additional Kotlin experience and add some kdocs.
I want to get this in for v1.0
In IncomingEventService, getRunningTasks
is deprecated. This is used to get the foregroundTaskInfo and determine if our app is in the foreground.
We need a non-deprecated way to do this.
Will use Imgur most likely
On some users the StarActivity breaks. I've they've deleted their account/been banned.
Such as this user
https://chat.stackoverflow.com/transcript/1?m=38706418#38706418
@tryadelion did something with background stuff and notifications.
How will Android Oreo affect this?
Do we want to have a background process listen for pings and present notifications?
Anything else?
You should show some loading indication after the user presses the sign in button and while it's loading the previous messages in the room
This will take some work but shouldn't be too difficult
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.