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

[BUG] Input of certain letters not possible (Mobian@Pinephone) #635

Open
nuehm-arno opened this issue Nov 19, 2021 · 19 comments
Open

[BUG] Input of certain letters not possible (Mobian@Pinephone) #635

nuehm-arno opened this issue Nov 19, 2021 · 19 comments
Labels

Comments

@nuehm-arno
Copy link
Collaborator

Description

It is currently not possible to enter the letters "z", "o", "x", "é", "ö", "ü" (=Pos1-key), "ô", "W" into the input field in Axolotl chats using the Pinephone keyboard squeekboard. It seems to be an Electron/Axolotl thing, because starting Electron itself via terminal (~/.config/textsecure.nanuc/electron/vendor/electron-linux-arm64/electron https://...) is not producing this bug and entering the specific letters is possible.

Steps to Reproduce

  1. Start Axolotl
  2. Open chat
  3. Try to write one of the above mentioned letters
  4. Nothing is shown in the input field

Expected behavior:
Every letter to be shown.

Actual behavior:
Some letters are not shown.

Versions

v1.0.7

Device

Mobian@Pinephone

Link to Debug Log

The logs do not shown any hint...

@1peter10
Copy link

Sounds a lot like the issues I have had when I last tried Chromium with the Ozone Wayland backend, which is being used here. Chromium might be the culprit here – or Squeekboard.

@nuehm-arno
Copy link
Collaborator Author

nuehm-arno commented Nov 26, 2021

Thank you very much. Starting Electron 15.3.0 without the Ozone Wayland backend let's us write the letters again.

So the question at the moment is: Nicer look and faster haptic or entering all letters.

@mikeshenson
Copy link

I am also having this issue, but with different letters.

Description
Portrait mode "e" "f" "h" "i" "r" "u" "y" "z" do not show. All uppercase letters work.
Landscape mode "f" "u" do not show up. All uppercase letters work.

Versions
OS: Rolling Arch
Phosh: 0.14.0-2
Axolotl 1.0.8
Squeekboard 1.14.0-1
Language: English (United States), Formats United States (English)

@Ferenc- Ferenc- mentioned this issue Dec 1, 2021
@nuehm-arno
Copy link
Collaborator Author

@mikeshenson Thanks for confirming.

Since the Electron team seems to have high requirements for their bug/issue solving (I was asked to file in some testcases with code etc.), I propose to not use the Ozone platform on the Pinephone and switch back to the blurry times - which is sad though. But I will keep an eye on Electron with every new release to see, if there is improvement. What do you think @nanu-c ?

@nanu-c
Copy link
Collaborator

nanu-c commented Dec 1, 2021

But yes i would revert the previous version.
I hink we can do a small app as they want because it's just a <textarea \> or <input type="text" />that has this problems. And if not it's a problem with astilectron.

@kmsgli
Copy link

kmsgli commented Dec 3, 2021

How can i fix this issue what is the proper way to run electron without ozone?

@nuehm-arno
Copy link
Collaborator Author

nuehm-arno commented Dec 6, 2021

That feature is hardcoded in main.go - I will provide a Mobian specific patched version today, where the Ozone platform is disabled. So everyone can choose.

@nuehm-arno
Copy link
Collaborator Author

nuehm-arno commented Dec 6, 2021

Here is v1.0.8-3 for Mobian user with Ozone deactivated - all letters except ü and V are back. The screen is blurry and Axolotl is laggy as in the good old times.

https://github.com/nuehm-arno/axolotl-mobian-package

Direct download

wget https://github.com/nuehm-arno/axolotl-mobian-package/blob/0163cb9b791abe76abe342f15f7e2b27dad54fb9/axolotl_1.0.8-3_arm64.deb

@mikeshenson
Copy link

I would like to add more testing data. I am still running the Axolotl 1.0.8.

I have a custom squeekboard layout that I added memory preset to (i.e. "Heading Home" or my email address)
The memory presets also have issues with the same missing letters.

All keys work properly with an external keyboard plugged into the Pine64 docking bar.

I found a work around to show all letters:
Open gedit and type out a message >> select all >> copy >> open Axolotl and paste text in a message.

Versions
Phone: PinePhone 3Gig Version
OS: Rolling Arch
Phosh: 0.14.0-2
Axolotl 1.0.8
Squeekboard 1.14.0-1

@nanu-c nanu-c added the mobian label Dec 7, 2021
@Ferenc-
Copy link
Contributor

Ferenc- commented Dec 25, 2021

So it appears, that squeekboard has been tracking this "situation" since ages:
https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/244

And it looks like ultimately the chromium / electron patch should probably be upstreamed by somebody,
who can confidently argue about correctness in ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc.

In the meantime we have some temporary workarounds:

1, Not using squeekboard, but an actual keyboard because squeekboard is not a keyboard but an input method.
A good candidate is the PP keyboard for example, but other HW or SW keyboards could work.

2, Copy paste from scratchpad like mikeshenson suggested.

3, Create custom squeekboard layouts where you have all your previously missing letters on some auxilary extra layer,
depending on what your original layout was. Or just try out some other already existing layouts.
On my private layout I haven't even noticed this issue for quite a while.

4, Axolotl packagers could try to apply and ship the chromium / electron patch.
The practice of "silently" downloading some binaries from github is not really a good security practice anyway,
I think most of the users would prefer to get electron from the same trusted source,
where Axolotl also came from.

@nuehm-arno
Copy link
Collaborator Author

Thanks for the research, @Ferenc- .

I agree, that the silent binary download is not the best practice. I haven't tried to build Electron myself, but since the patch for squeekboard usage seems really necessary, one should look into that. Shipping the patched Electron binary inside the Mobian/Debian-arm64 package could be a good solution.

I'll have a try soonish and keep you posted...

nuehm-arno added a commit that referenced this issue Feb 7, 2022
With these additions we will be able to let the workflow build and package Axolotl for Debian arm64 systems.

One problem has to be solved before merging:

The electronSwitch in main.go for the Wayland Ozone platform is currently not usable for Pinephone user, because of this [bug](#635) and we need to disable the feature or revoke this [merge](#619) to keep Axolotl usable on the Pinephone.

Or ship the patched self-built Electron binary inside the package - but this will take some time.
@kop316
Copy link

kop316 commented Aug 19, 2022

I am seeing this issue too. "C" seems to be interpreted as a backspace on Mobian/Pinephone Pro. I installed version 1.3.1

@kkofler
Copy link

kkofler commented Nov 5, 2022

On Plasma Mobile (Maliit virtual keyboard), a lot of characters are broken, including the digits, so I cannot even input my phone number to register. And using X11 rather than Ozone/Wayland is not an option because Electron does not start up at all (segfaults immediately) in X11 mode on Plasma Mobile (see flathub/org.nanuc.Axolotl#9).

@1peter10
Copy link

1peter10 commented Nov 6, 2022

I suggest you to try to make Axolotl run as described here https://github.com/nuehm-arno/axolotl-mobian-package#daemonized-server-setup and access it with an Angelfish web app pointed at http://127.0.0.1:9080. That should fix your keyboard issues and also make it so, that you don't have to launch Axolotl periodically in order to view/receive messages.

@kkofler
Copy link

kkofler commented Nov 6, 2022

I know that that mostly works, but it is not (no longer, since several months ago) possible to register with Signal with that setup, so I cannot get started with Axolotl that way. Since early this year, registering requires the browser to implement a handler for the custom signalcaptcha:// protocol. This is implemented by #775 for the Electron and QML wrappers (and the latter is not packaged anywhere), but it cannot by design be implemented in server mode. As a result, the server mode has become entirely useless for new users.

@kkofler
Copy link

kkofler commented Nov 6, 2022

If the QML version were available on Flathub, I could try that one, but alas, it is not.

@kkofler
Copy link

kkofler commented Nov 6, 2022

As I understand it, this:
https://chromium-review.googlesource.com/c/chromium/src/+/3750452
needs to make its way into Electron to make it usable with virtual keyboards on Wayland. At least this thread:
https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/244#note_1581502
claims that that would also fix the bad characters, not just the keyboard not coming up automatically.

Currently, Electron is entirely unusable on mobile GNU/Linux.

@nuehm-arno
Copy link
Collaborator Author

Hello there and thanks for posting your issue.

Please try to start Axolotl with this flag -electron-flag no-ozone since it deactivates the Ozone platform of Electron. Input of most letters should be working except "ü" and a few capital letters (at least on Mobian).

Please let me know, if that helps on Plasma, too.

@nuehm-arno
Copy link
Collaborator Author

P.S.: Axolotl is facing some issues at the moment (registering broken, etc.) so please wait for the next version (might be v1.7.0 or v1.6.1) to be released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants