DRAW icon indicating copy to clipboard operation
DRAW copied to clipboard

Bugs with comment api.

Open SupremeDeity opened this issue 3 years ago • 1 comments

The Comment api is currently almost unusable. I thought it was a error on my side but both the toList() function and replaceMore() function aren't working as intended. The replaceMore() function is not expanding the comments correctly since using this snippet should have expanded every single MoreComment:

Submission submission = await reddit.submission(id: 'pfkjio').populate();
  if (submission.comments != null) {
    await submission.comments!.replaceMore(limit: 100000000);
    for (var comment in submission.comments!.comments) {
      print(comment.body);
    }
  }

However i still get a error relating to MoreComments. Moreover this if check is being ignored or something because toList() is also returning me MoreComment instances (comment_forest.dart:85):

 if ((comment is! MoreComments) && (comment.replies != null)) {
        queue.addAll(comment.replies._comments);
  }

Also when printing out the runtimeType with the first snippet the results are similar to this:

Comment
Comment
Comment
Comment
MoreComments
Comment
Comment
MoreComments
Comment

Which means child MoreComments aren't being expanded.

From my testing it also seems that DRAW shows and expands way less MoreComments than praw does.

SupremeDeity avatar Sep 01 '21 06:09 SupremeDeity

With a bit more investigation, even though the code in Comment_Forest is a almost exact copy of praw, i dont think the code in praw or in draw actually makes it so that setting limit to 0 expands all the MoreComments

SupremeDeity avatar Sep 01 '21 16:09 SupremeDeity