Commit Briefs
generate session/history_file atomically
if an i/o error occurs while writing those files, they may end up being corrupted or truncated. Use the approach already used for tofu, write a temp file and rename(2) it to the correct position.
merge the fs into the ui process
The previous separation between the fs and ui process wasn't that good. The idea was to have a `ui' process tightly sandboxed, but it was a lie actually. `ui' was one imsg away from making internet connections and accessing data on the disk, so it wasn't really limited in (almost) any way. Furthermore, having to serialize data to/from the fs proc started to become not really maneagable. As a first step to fix this situation, join the fs and ui process.
don't insert current candidate in eecmd_select
after the recent 'must select' thing there's no need to call minibuffer_insert_current_candidate from eecmd_select anymore.