# Tridactyl news - Summer 2020

Hello,

Welcome to the fourth quarterly Tridactyl newsletter.

We've got a lot done in the past few months, including some features which people have been asking for for a long time. My personal highlights are:

-   "passthrough" mode, bound to `<C-v>` in normal mode and `<C-o>` in ignore mode sends the next keypress or valid keysequence to ignore or normal mode respectively.

-   focus-element hint mode, bound to `;;`, can now be used to choose which part of the page to scroll - just focus an element contained within that part of the page.

-   we now support browser-wide binds (with lots of restrictions and caveats) with `bind --mode=browser` that can be pressed anywhere in the browser and in all modes.

    -   we have two browser-wide binds by default: `<C-,>` which is bound to `:escapehatch` as an all-purpose "get me back to Tridactyl" button, which works on privileged pages, Flash-style video players, the address bar and just about anything else you throw at it; and `<C-6>` which is bound to `:tab #` (i.e. switch to previously-used tab), as it used to be in most modes, but it now works everywhere, including PDF pages which I used to get trapped on a couple of times a day.

-   hints corresponding to elements with JavaScript events are now a different colour - grey - to normal hints. If an element has both, the normal one is almost always the right one. Alongside this, hint tags can no longer overlap.

-   our end-to-end tests are now very reliable - we haven't had a spurious failure in days where previously about 3/5 attempts would fail without good reason.

As for bug fixes, my highlights are:

-   `:tabopen` no longer focuses the address bar,

-   the command line history and `:repeat` work fantastically reliably now, to the point where I actually use them,

-   the locks library was causing Tridactyl to use a lot of energy; we've now binned it entirely, and

-   our internal configuration updater can no longer spin forever if something goes wrong (it just gives up instead).

I think it is fair to say that a big part of the reason why we have made so much progress this quarter is that I've started to work on Tridactyl for the equivalent of a day or two a week. (This is not to rubbish the contributions of other contributors - I think about half of my six highlighted features at least had large parts of them written by other contributors). I'm not sure how long I can keep this up, partly for financial reasons, and partly because I like maths and there fundamentally isn't very much maths in Tridactyl, but it has been quite rewarding in the last few months - it has been nice to see Tridactyl get better at things that had annoyed me on a daily basis.

All of the progress above is currently in the Tridactyl Betas. I will do a stable release soon once I'm more sure that there aren't any show stopping bugs such as [#2636](https://github.com/tridactyl/tridactyl/issues/2636).

Looking to the future, we've made a bit of progress behind the scenes on moving Tridactyl towards a place where supporting other browsers wouldn't be too much extra effort. The idea is that we would get warnings at lint-time when we do things that aren't compatible with all the browsers we support. Initially, we would just try to officially support Firefox ESR and Firefox stable at the same time. In the future we may port Tridactyl to Chrome and the other Chromium-based browsers. We can't promise that we'll release it on the relevant stores as we might not pass review - Google is particularly famous for being mercurial.

Thanks for your support,

bovine3dom and the rest of the Tridactyl developers
