atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.91k stars 416 forks source link

Modes are not restored when restoring session #2064

Open Ambrevar opened 2 years ago

Ambrevar commented 2 years ago

It seems that modes are not restored when restoring sessions. In particular, when help buffers are restored, they don't have the help-mode. Which is probably why we experience https://github.com/atlas-engineer/nyxt/issues/2057.

In restore-history-buffers, there is no mention of modes. And indeed, they are not stored in the global history. This is probably related to #1095, #2036.

But here is the heart of the problem: where do we store modes? We can store arbitrary data in history-entry, but these are meant for individual URLs, not for history owners (which are the buffers). Owners don't have such arbitrary data. Shall we add it to the htree library then?

Thoughts?

aartaka commented 2 years ago

Partially fixed with https://github.com/atlas-engineer/nyxt/commit/0d5ceadf9887b3bb805bb6106d8b44dec0033245. The full fix would be to implement #2066 and hard-code the URL-mode associations for e. g. help pages and help-mode (see #2004). Then the storage of modes per URLs is a responsibility of auto-mode.