slapperwan / gh4a

Github client for Android
Apache License 2.0
1.73k stars 221 forks source link

Error loading data from GitHub in certain PRs #759

Open dgw opened 7 years ago

dgw commented 7 years ago

I'm guessing there are other PRs that exhibit this behavior, but this is the one I discovered: https://github.com/thelounge/lounge/pull/356

The error message in OctoDroid says to check my network connection, but it is functioning (loading other PRs/issues works). I'm guessing that PR contains some data that this app doesn't know how to process or something.

maniac103 commented 7 years ago

@Tunous I think this one is for you ;-) It's a NPE here: https://github.com/slapperwan/gh4a/blob/master/app/src/main/java/com/gh4a/loader/PullRequestCommentListLoader.java#L79

Tunous commented 7 years ago

Looks like it's a comment created with "add single comment" button so there is no review corresponding to it. Will fix later.

Tunous commented 7 years ago

Ok, apparently it's a bit more complicated than that. These comments also have their own "threads" with replies just like review comments. And they also need to have diff displayed for context. To fix this correctly we would have to add another screen similar to ReviewActivity and also another type of item to link to this new screen. And to be fair, I kind of think that it would be better to display all these items inline with expandable layouts instead of separate screens.

So I propose to re-do the timeline view with a library like FastAdapter (Lots of useful features) or groupie (I like its implementation more but it has fewer features). That way it'll be easy to add all these groups/expandable sections/headers/etc and it might come useful for adding other types of items in future.

@maniac103 What do you think about this?

Tunous commented 7 years ago

I've added a quick workaround for now so the pull request can load correctly.