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

Option to configure and disable spellcheck missing #13543

Closed
rupi-lol opened this issue May 6, 2020 · 25 comments · Fixed by matrix-org/matrix-react-sdk#5452
Closed

Option to configure and disable spellcheck missing #13543

rupi-lol opened this issue May 6, 2020 · 25 comments · Fixed by matrix-org/matrix-react-sdk#5452

Comments

@rupi-lol
Copy link

rupi-lol commented May 6, 2020

There are several issues with spellchecking open allready. #13317 would solve a lot of problems regarding multi-language users (and I do think that most non-english speakers in IT related fields are also in several english language channels) but it still leaves a lot of jargon, mixed language usage.. issues open.
So a kill-switch for the spellchecker would be appreciated.

@t3chguy
Copy link
Member

t3chguy commented May 6, 2020

This should probably take a form of a language picker with an <OFF> option

@t3chguy
Copy link
Member

t3chguy commented May 6, 2020

Related #7773

@c33s
Copy link

c33s commented May 15, 2020

in general preferences for spellcheck would be appreciated see #13684

@c33s
Copy link

c33s commented Jul 22, 2020

is it possible to give this more priority? after upgrading to 1.6.0 it really does not make fun to use riot any more. everything i write is marked as wrong, the program tells me to upload keys which i don't want to upload (#13685). it's very difficult to convince new people to use riot because of this.

@t3chguy t3chguy changed the title Option to disable spellcheck missing Option to configure and disable spellcheck missing Jul 24, 2020
@gsurkov
Copy link

gsurkov commented Aug 15, 2020

Not judging the decisions behind this, but I personally don't need the spell check and it's really distracting. It agroes not only at jargon or intentionally misspelled words, but also on web links. Having a simple checkbox (on-off) would be very great.

@alajovic
Copy link

Let me just add a +1 on this. Virtually all discussions I have in element are in my native language (Slovenian) and it's really distracting to have everything underlined with red squiggles. Many of my colleagues have also been complaining about it. Adding an option do disable the spell checker would be much appreciated.

@Findus23
Copy link

For me it is the other way round. My system is in German, but I mostly write in English causing nearly all words to be underlined which I think makes it harder to notice typos than without any spellchecking at all.

@zingus
Copy link

zingus commented Sep 6, 2020

At the very least let's just... maybe turn spellchecking off by default until it's configurable?
Is it too much to ask not to have a feature nobody wants to develop?

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2020

#2661 had a lot of upvotes too.

maybe turn spellchecking off by default until it's configurable?

By default implies it'd be configurable.

@alajovic
Copy link

alajovic commented Sep 7, 2020

I think the main point is not that disabling the spellchecker would be as equally good as having it enabled all the time. The point is that it would be just as equally bad. There is a large pool of English-only speaking people that apparently like the spellchecker. Which is fair enough. But there is also a good amount of non-English speaking people to which the spellchecker is (currently) a constant nuisance. A decision in favor of any of the two groups is inherently, and equally unfair.

Personally, I'd much prefer making an occasional uncaught spelling slip over being continuously told that everything I write is wrong. It's quite a bad user experience to be yelled at all the time.

Also, in my everyday chats, I often use colloquial speech. I sometimes skip or mutate letters, I glue words together or invent new ones. In my world, this is a valid mode of speech, and I dislike to be told that it isn't. Just like the sledgehammer, I like the spellchecker as a tool that I can use when I want to. But I wouldn't want it to be permanently attached to my arm.

@c33s
Copy link

c33s commented Sep 7, 2020

@t3chguy but in the current state it is a real bad UX.

the riot team has choosen electron or the current version of electron, so is it really enough to say it's an upstream problem? it is a problem of the riot team and their users. i don't know electron but isn't there anything you can do to use a different "textbox" or a textarea without a spellcheck?

as @alajovic wrote above, in the current state riot tells me that everything i type is wrong and that my chats are not safe (see #13685). the spellchecker and the annoying "setup encryption" popup made me stop using riot.

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2020

It is not an upstream problem.
We enabled the spellcheck on purpose to close #2661
We need the design team to draw up how they want the multi-selection (and disablement) of Spellchecking to look.

@c33s
Copy link

c33s commented Sep 7, 2020

sorry for my dump question but if you can enable the spellchecking, isn't it possible to disable it again and if it's possible to enable and disable where is the problem in a setting to let the user enable and disable the whole spellchecking?

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2020

The problem is we want to have a selector for languages (which includes the ability to turn it off entirely) rather than a naive on/off which will need replacing in the future. Doing work twice is not worth it.

@c33s
Copy link

c33s commented Sep 7, 2020

you say you don't want to do the work twice but instead of leaving it as is until you implement your preferred solution which will work for all your users, you implemented a half baked solution for only a part of the people using it and wonder why they now want a simple off switch.

Doing work twice is not worth it.

this statement makes me a little sad, i think it is easy to say that something isn't worth it if you are not hit by it. tell a wheelchair user that the ramp is not worth it, because everyone can use the stairs.

isn't diversity important? according to https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers your implementation of only english is only for 4,9% of the world if you want to allow them to write in their native language. so i kindly ask you to remove the spellchecking for all until the full solution is done, or at least provide an option to disable it in the meantime.

the reason for my repeated and maybe hard comments is, that with this change my personal riot expericene is not fun/nice any more. it's like a person stands next to me and shout "wrong, wrong, everything wrong" for each character i am typing. since this change i hardly used riot any more. please give me my good riot expierence back. it's holding me back to create the german speaking symfony community on riot :(

@twouters
Copy link

twouters commented Sep 7, 2020

In case anyone wants to build their own element-desktop, the following patch adds an undocumented option which can be used to toggle spellchecking as a very dirty workaround.

diff --git a/src/electron-main.js b/src/electron-main.js
index b736299..42899b0 100644
--- a/src/electron-main.js
+++ b/src/electron-main.js
@@ -882,7 +882,7 @@ app.on('ready', async () => {
             // main page from the background script.
             contextIsolation: false,
             webgl: false,
-            spellcheck: true,
+            spellcheck: (vectorConfig.hasOwnProperty('spellcheck_enabled')) ? vectorConfig['spellcheck_enabled'] : true,
         },
     });
     mainWindow.loadURL('vector://vector/webapp/');

(Edit: I don't know anything about javascript, typescript or electron and this is the first time I've built my own element-desktop app)

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2020

this statement makes me a little sad, i think it is easy to say that something isn't worth it if you are not hit by it. tell a wheelchair user that the ramp is not worth it, because everyone can use the stairs.

There are too many ongoing projects for wasted cycles from the core team. It is an open source project, you can always implement it yourself or stick it on BountySource. It is planned to be worked on, when other higher priority projects are not in its way.

isn't diversity important? according to https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers your implementation of only english is only for 4,9% of the world if you want to allow them to write in their native language. so i kindly ask you to remove the spellchecking for all until the full solution is done, or at least provide an option to disable it in the meantime.

Its not fixed to English whatsoever, it tries to match your UI language which IS configurable. Falling back to English if there's no close match in the available dictionaries.

https://github.com/vector-im/element-desktop/blob/94086f247a8c89630ddf3c134e4af50c18d1af3b/src/electron-main.js#L377-L420

@thany
Copy link

thany commented Nov 28, 2020

It is an open source project, you can always implement it yourself

Why was a spellcheck built in te first place then? Doesn't seem like a must-have feature when other things aren't really very polished still.

Besides, open source or not, the service behind it is commercial(-ish), and probably does make money.

@jryans jryans removed the A-I18n label Mar 5, 2021
@nidico
Copy link

nidico commented Apr 24, 2022

I ended up here looking for how I can disable the spell checker. "Removing all dictionaries" is not an intuitive way of disabling a spell checker.

I would definitely prefer a "spell checker on/off" switch on top of the multi-language dictionary selector, which would disable the dictionary selector, but keep the spell checker settings in case you want to turn it back on later.

Shall I file a new issue or can we reopen this one (as the original request is precisely about this: a kill switch for the dictionary)?

As long as there is no kill switch there should at least be an explanation that removing all languages disables the spell checker. I'll file a separate issue for that.

(Furthermore, the current overly complex implementation, i.e. not having an explicit on/off switch is more error prone, see #16590).

@thany
Copy link

thany commented Apr 25, 2022

I'm not convinced an instant messaging app needs spell checking in the first place. It's not like people are typing a formal letter in a message... Plus you can always edit a mistake after having sent a message.

Having said that, can anyone shed some light on how the spell check language is currently being picked?
Does it look at the user locale, or display language, or geographical location? (not always the same!) Or is it just some default variety of English?

@SimonBrandner
Copy link
Contributor

Having said that, can anyone shed some light on how the spell check language is currently being picked?

IIRC, it should pick automatically based on whatever Electron does (meaning it should behave the same way Chromium does)

@thany
Copy link

thany commented Apr 27, 2022

IIRC, it should pick automatically based on whatever Electron does (meaning it should behave the same way Chromium does)

Which is how? I don't use Chrome.

@SimonBrandner
Copy link
Contributor

IIRC, it should pick automatically based on whatever Electron does (meaning it should behave the same way Chromium does)

Which is how? I don't use Chrome.

I am not sure how exactly but I suppose it will be based on the OS locales and similar to what Firefox does

@ronilaukkarinen
Copy link

+1 This is the only annoyance for me with the Element-desktop right now.

@ronilaukkarinen
Copy link

Workaround on Linux:

First, quit Element completely. Then:

sudo nano ~/.config/Element-Nightly/Preferences

Change enable_spellchecking to false, add your local dictionary and add to the end of it use_spelling_service as false, like this:

{"browser":{"enable_spellchecking":false},"electron":{"media":{"device_id_salt":"XXX"}},"spellcheck":{"dictionaries":["fi-FI"],"dictionary":"","use_spelling_service":false}}

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

Successfully merging a pull request may close this issue.