Skip to content

Conversation

olorin99
Copy link
Contributor

Add setting to control whether reply controls are shown inline or on another screen.

Copy link
Member

@jwr1 jwr1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I didn't get around to this till now. Just had three things I noticed:

  • If the text you're replying to is too long, then the page overflows, so the reply screen probably needs to use a scroll view.
  • Should we display the text as markdown, since the text could be from comments or microblogs?
  • I'm not really sure what the best way to handle this one would be, but we should have the text editor take up more space height wise, since this external replying was supposed to provide a more comfortable replying experience, especially for longer comments (so people don't need to scroll as much to proofread).

Make reply content content markdown.
Make reply input box fill remaining screen.
@olorin99
Copy link
Contributor Author

This should have the markdown editor resize dynamically according to content. Had to emulate TabBarView rather than use directly since TabBarView kept trying to use infinite height.

@olorin99 olorin99 requested a review from jwr1 August 23, 2025 02:29
Copy link
Member

@jwr1 jwr1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just tested it again. The non-inline reply editor seems good, but when I change the setting back to inline, and then go to the drafts tab and try to scroll, I get a bunch of errors like the following:

Another exception was thrown: The provided ScrollController is attached to more than one ScrollPosition.
Another exception was thrown: 'package:flutter/src/rendering/proxy_box.dart': Failed assertion: line 3047 pos 12: '!debugNeedsLayout': is
not true.

@olorin99
Copy link
Contributor Author

Ah that should be straightforward to fix. I ran into a similar error with the feed screen a while ago. I should be able to fix it on monday.

@olorin99 olorin99 requested a review from jwr1 August 25, 2025 13:46
@jwr1
Copy link
Member

jwr1 commented Aug 25, 2025

It seems better, but the scrolling is super slow now on the drafts tab, and I get the following error:

Another exception was thrown: 'package:flutter/src/rendering/proxy_box.dart': Failed assertion: line 3047
pos 12: '!debugNeedsLayout': is not true.

@olorin99
Copy link
Contributor Author

It seems to be scrolling normally for me. I was able to reproduce the error though by trying to scroll really quickly, scrolling slowly doesn't trigger it.

From what I can guess from the stack trace it happens when flutter attempts to run a hit test against the widget but the widget has already been scrolled out of view so the debugNeedsLayout flag hasn't been set. The stack trace frames 244 -> 238 have to do with handling pointer events and pretty much all the rest of the stack trace is hit tests.

Since it seems to be an issue in flutter itself and it only occurs in debug builds I think it's safe to ignore that error. Not sure whats causing the slow scrolling though.

@jwr1
Copy link
Member

jwr1 commented Aug 26, 2025

Alright, just give me time to look at it again, and then I'll merge.

@jwr1 jwr1 merged commit d06eba3 into main Aug 28, 2025
2 checks passed
@jwr1 jwr1 deleted the reply_inline_option branch August 28, 2025 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants