Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement support for Firefox #6

Open
thoughtpolice opened this issue Feb 5, 2019 · 0 comments
Open

Implement support for Firefox #6

thoughtpolice opened this issue Feb 5, 2019 · 0 comments
Labels
A-bug Something isn't working A-enhancement New feature or request A-task A task that needs to be done E-unknown Tasks and issues of unknown difficulty good first issue Good for newcomers help wanted Extra attention is needed P-high High priority issues T-hterm hterm related issues
Milestone

Comments

@thoughtpolice
Copy link
Owner

thoughtpolice commented Feb 5, 2019

Issue description

Currently the WebAssembly build is horribly broken on Firefox. To be more precise, I am pretty sure the actual "WebAssembly" part (where you download a huge binary blob) works correctly -- the part that's broken is all of the actual terminal interaction/user interface, which is driven by the hterm library -- an API which powers a few Google tools, such as their Secure Shell Chrome app. In fact, the official hterm.org website seems broken in Firefox for me in pretty much the exact same ways as the emulator demo -- so, there you go.

Now, to be fair, I kind of feel like I was probably asking for this in the first place by using a Alphabet Google® Corp Chrome Browser Sponsored (NO WARRANTY IMPLIED) Software Library. However, hterm is actually pretty useful, because it interprets terminal character codes correctly and tries hard to model most of the useful terminal components you need -- this means the C code runtime system for the normal native build and WebAssembly build can be shared more closely, since there doesn't need to be any worry about supporting things like character codes correctly in the future (for example, even though we may refactor/add some UART interfaces, being able to call out to natively to the host terminal is nice for a pleasant experience).

So I'd actually like to keep hterm if the smoke can be put out and salvaged, since I think in the long term it can help add some fun features and keep the demo interesting.

I consider this a high priority issue as Firefox is an important part of the web, but I am absolutely awful at JavaScript. I am willing to accept and maintain patches to hterm to accomplish this, since the build system can keep things stable. I assume there are many JavaScript occultists in the world who I can summon to help, and there are many ways to debug this -- but the spells to do so are beyond me, likely guarded in a Sacred Homeland which can only be reached by passing an ancient gauntlet.

It is of course possible that there is already an existing fork that works on Firefox -- we're using the latest version of hterm, 1.84, which was released just a few weeks ago. Maybe someone maintains an active fork or forward-porting a patch isn't hard.

It's also possible this is a regression that can be fixed and perhaps the Chromium team would be OK with that; some Googling (oh no) indicated that previous verious of hterm do seem to work on Firefox according to some users, but otherwise with no specific technical details. So I'm not sure if this should be considered an upstream issue or if they don't care.

Steps to reproduce

Visit the demo page and, I mean, just look at it. It's terrible.

  • The page starts halfway down the screen(???!)
  • The cool retro computer logo is broken and seems like it's got bad alignment for some reason?
  • Typing just randomly inserts text anywhere? The enter button is broken?
  • This all true of the official hterm page as well, it seems.

image

Technical details

Firefox 66.0b4 (64-bit) on 64-bit Windows 10. Build 1.0pre166_160d677.

@thoughtpolice thoughtpolice added A-bug Something isn't working A-enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers A-task A task that needs to be done P-high High priority issues T-hterm hterm related issues E-unknown Tasks and issues of unknown difficulty labels Feb 5, 2019
@thoughtpolice thoughtpolice added this to the 1.0 Release milestone Feb 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-bug Something isn't working A-enhancement New feature or request A-task A task that needs to be done E-unknown Tasks and issues of unknown difficulty good first issue Good for newcomers help wanted Extra attention is needed P-high High priority issues T-hterm hterm related issues
Projects
None yet
Development

No branches or pull requests

1 participant