]> git.gir.st - VimFx.git/blob - documentation/known-bugs.md
document BFcache workaround, webIsolationStrat bug
[VimFx.git] / documentation / known-bugs.md
1 # Known Bugs
2
3 Given that VimFx operates outside the bounds of what Mozilla supports, there
4 are some things that VimFx doesn't play along with well. This page lists
5 problems that affect VimFx when run on versions of Firefox we support
6 (latest *Release* and *ESR* versions).
7
8 ## BFcache
9
10 **Affected**: Firefox >= 96
11 **Solution**: `fission.bfcacheInParent;false`
12
13 VimFx is unloaded from tabs when the [bfcache] is handled in the parent
14 process.
15
16 The bfcache speeds up navigating back and forth through the browser history.
17 Mozilla moved the location of this cache from the content process into the
18 parent process. VimFx isn't properly restored when a page from this version of
19 the cache is loaded. By setting `fission.bfcacheInParent` to `false` in
20 `about:config` the cache can be bound to the content process again, avoiding
21 the bug.
22
23 <!-- Putting the bfcache into the parent process requires moving the data using
24 IPC between processes. It is likely that the BootstrapLoader would need to be
25 adapted to handle this, which is not happening unless someone else does it. -->
26
27 [bfcache]: https://web.dev/bfcache/
28
29 ## Fission
30
31 **Affected**: Firefox >= 96
32 **Workaround**: `fission.webContentIsolationStrategy;0`
33
34 With [Fission] enabled, VimFx can't inspect out-of-process iframes.
35
36 With Fission, sometimes called *Site Isolation*, VimFx cannot place hint markers
37 or detect input elements inside iframes from a different domain to the top
38 document. We will instead enter insert mode whenever such an iframe is active.
39 Hit Escape or click outside the iframe to let VimFx re-gain control. Setting
40 `fission.webContentIsolationStrategy` to `0` in `about:config` only disables the
41 iframe part of Fission, but is available only since Firefox 94. Some Nightly
42 installations were opted into Fission earlier; set `fission.autostart`
43 to `false` if the main workaround is unavailable.
44
45 Note that as of now (Firefox 119), when `webContentIsolationStrategy` is set,
46 reloading a webpage causes additional entries in the history and loss of forward
47 history for the tab. This is tracked in [Bug 1832341]. To avoid this, disable
48 Fission completely by setting `fission.autostart` to `false`.
49
50 <!-- VimFx will probably never support Fission. Its architecture assumes that
51 all elements can be interacted with from a single point. It would require
52 revisiting 8a33140f and injecting a script into each frame and postMessage'ing
53 them instead of directly accessing elements within them. -->
54
55 [Fission]: https://wiki.mozilla.org/Project_Fission
56 [Bug 1832341]: https://bugzilla.mozilla.org/show_bug.cgi?id=1832341
57
58 ## VimFx behaves broken after installation
59
60 **Affected**: all supported versions
61 **Solution**: restart browser
62
63 For some as-of-yet undetermined reason, the addon sometimes breaks after
64 installation (or upgrade)<!-- possibly Gecko internals changed and the
65 BootstrapLoader is failing -->. Fastest way to restart Firefox is pressing
66 `<c-s-j>` to open the browser console, then `<c-a-r>` to restart.
Imprint / Impressum