LWN's article on unveil() is a good explanation - the restrictions are permanently applied to the process and its children until termination:
https://lwn.net/Articles/767137/
Someone gave me a book called "Danger UXB", about the teams that removed unexploded bombs across the UK during and after WWII, which was unexpectedly fascinating. Incredibly dangerous and painstaking work.
It's hopefully not too tricky - it can't be packaged as a crate using (say) debcargo, as the install path still requires CMake. The Debian experimental package changes are mostly about pulling in the right dependencies (including some internal mangling to support some policy choices).
If you want to write C++03, that's true, but as a maintainer of the fish build system I was having to backport compilers in order to use C++11 features on supported systems until 2020. Modern C++ is still a moving target and newer versions contain a number of features that make it much more pleasant to work with, but it takes decades to percolate into distributions.
It doesn't even support named pipes - the function's been broken for years. Interestingly it doesn't actually seem to matter a great deal, at least now that temporary files are usually on a fast disk.
To reprise a previous comment, I think vi mode suffers because it's a relatively niche feature - none of the current committers use it as far as I know, and pull requests to improve it are relatively infrequent. 1.8% of the pull requests into the (not yet released) 3.2.0 are for Vi mode, which is a slight increase on previous milestones, and includes support for dh, dl, c0, cf, ct, cF, cT, ch, cl, y0, tilde, ci', ci", yi', yi", di' and di".
I don't think it helps that it's this huge target area which (the small number of?) users use a slightly different 10% of, and it can be quite complex to integrate new features into existing editor state.
The only dependency the web configuration tool should bring in is Python, which is already an optional dependency for the manual page completion generator. You can install and run fish without ever running the web configuration.