What's the story on the graphite webapp not immedi...
# report-bugs
z
What's the story on the graphite webapp not immediately reflecting the state of a stack after
gt fold
?
gt fold
is one of the most Graphite-idiomatic, scary-even-for-git-experts parts of the Graphite product surface, and the UX is extremely problematic. When I
gt fold
->
gt submit
, which I've only done a few dozen times, there seems to always be a pretty severe delay before the new stack state is reflected in the Graphite webapp. Even once the webapp reflects the fold, it visualizes the stack state in a totally different way from the Graphite CLI:
gt ls -s
shows only the new, folded stack, whereas the webapp shows a branching stack. And the folded branch should now have zero diff with its parent but that isn't what the grahpite webapp shows. I'm really unhappy with this part of Graphite - can anyone comment on this?
➕ 1
p
(If applicable) To help us repro, please send the following if you haven't already: - PR links, screenshots, and/or debug output if applicable - Repro steps - Does this happen consistently? Just to you or others on your team also? - Is this a regression? Is the problem new? - If you're having an issue with the CLI, please send us debug logs using
gt feedback --with-debug-context <any message>
z
When I
gt fold
->
gt submit
, which I've only done a few dozen times, there seems to always be a pretty severe delay before the new stack state is reflected in the Graphite webapp.
by "severe delay" I mean on the order of several minutes
The biggest issue though is not the latency but the correctness. Say we have a stack
main < A < B
and we do
gt fold
from
B
then
gt submit
After the
gt fold
, the
A < B
diff should be nothing. • ✅Graphite will show the
main < A
diff as including the changes that were previously only on
A < B
• ❌but it will ALSO show the previous
A < B
diff! Users literally have to click between
A
and
B
in the webapp to confirm that the
A < B
changes are in fact contained in
main < A
. What's up with that? Again, Graphite literally invented
gt fold
, why wouldn't the webapp fully support it?
p
hey Zach, if you're seeing a discrepancy in the stack in a specific PR please do send in-app feedback from that PR for our context as it's possible there's a specific issue with the retargeting of the remote branches. Meanwhile I'll go by your example above for my own repro 👍
z
In general to repro • create a stack main < A < B • checkout B • gt fold • gt submit in the Graphite app, the main < A diff will correctly reflect the full changes (those made on A and B), but the A < B diff, which should now be empty (since B was folded into A) now shows...a diff! I think after folding B into A, graphite kind of forgets about B and stops caring about the A < B diff but that's mega confusing, I have a hard time feeling confident that A did in fact absorb all the changes that were on B unless I see an empty diff or a message "this has been folded into A" or something like that.
p
gotcha, and in these instances B was already submitted so there's a PR for it in the remote. Are you keeping the B PR open?