This is what Smalltalk is all about, and it has been like that since it’s origin: you basically program in the debugger, you program running, you change something, you proceed the debugger, etc. That’s why technics like TDD, refactoring, and others were developed in Smalltalk and just later translated to other languages (and always lacking, since no one reproduces the live programming experience 100%). As the time passed, attention has moved to other languages and most people not ignores what it was to program like that. But there are still some implementations around: I work with Pharo (https://pharo.org), and I can to say is all what you ask for in this post :)
I do not think there is a consensus. Personally, I am not moving anytime soon. IMO so far gitea has not done anything wrong yet (they just put them in a position where is easier for them to do it, eventually). It is still a good thing forgejo exists… but I can’t stand the name, heh (also, I like the green theme of gitea :P).
I love Pharo :) All the power of a Smalltalk for the 21 century, a small but very nice community, decent library support (but not huge), and a good FFI interface when this is not enough.