Element-web: No spell check on the electron app version

Created on 29 Nov 2016  Â·  44Comments  Â·  Source: vector-im/element-web

Noticed this when I typed 'doesnt' which always highlights with a red line until you add the apostrophe. Once noticed, I was typing rubbish to test and make sure it wasn't a one off etc but nothing was highlighting.

bug p2 minor electron

Most helpful comment

Looks like Electron 8 will let you use the system spellcheck https://github.com/electron/electron/pull/20692

All 44 comments

Spell check is broke in windows also. Any timeline for resolving it?

this is effectively an electron issue - see also https://github.com/electron/electron/issues/3211.

we may be able to work around it with electron-spellchecker or similar but this is a medium priority bug.

Well I think thats what needed: https://github.com/electron/electron/blob/master/docs/api/web-frame.md#webframesetspellcheckproviderlanguage-autocorrectword-provider (Basicly what @ara4n said)

Or this works https://github.com/electron-userland/electron-spellchecker (Seems to be a solution build around electron-spellchecker)

PS: Not tested by me yet

/me is now working it. As electron-spellchecker is a native module needed to be loaded inside reactjs but build against electron I need first to figure out webpack magic.

RocketChat Electron has a working spellcheck implementation on Linux, see: https://github.com/RocketChat/Rocket.Chat.Electron/pull/266

@xenithorb I am still waiting for https://github.com/atom/node-spellchecker/issues/72 My dev env is win 10 and I am affected by this bug. And coding such feature without testing is impossible. :() It would currently only work on Linux as you said. I know that many users use Linux with Riot but as said my Env is Windows :/

Also the Code itself is mostly done except for minor styling changes and remerging develop into it.

Can someone implement it on Linux,please?

@ara4n What is the legality on including GPL v3 code in Riot? Standard Notes was able to implement spellcheck in their electron app with this commit: https://github.com/standardnotes/desktop/commit/647c65daeefff6717b1aa1cf26716da81791735a. Most of the code is GPL v3 licensed from here: https://github.com/signalapp/Signal-Desktop/blob/development/js/spell_check.js

PS I know I have a open PR but feel free to make a better PR if you want to.

Also I still search someone to test my PR and if it works on linux!! I might add the suggestions by @aaronraimist if @ara4n gives a green light on the license. (Linux testing is needed as my current spellcheck code does NOT support windows newer than XP according to an upstream issue)

Would love to see this keep moving... my typign sux

Added bounty
Bountysource

Closed my PR because of lack of time to maintain. Feel free to make a new PR

@lampholder the "in progress" label should propably get removed because of this

I am putting up a gitcoin bounty for 0.5 eth... I hope this helps... When it gets merged the bounty will get paid out

so now there are at least 2 bounties on it :-D

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


__This issue now has a funding of 0.5 ETH (106.94 USD @ $213.89/ETH) attached to it as part of the Giveth fund.__

💰 A crowdfund contribution worth 200.00000 DAI (200.0 USD @ $1.0/DAI) has been attached to this funded issue from @mkosowsk.💰

Want to chip in also? Add your own contribution here.

This is getting interesting.

200 DAI contributed from the ECF Web 3.0 Infrastructure Fund! Let's make this happen :)

I had a few dollars left on bounty source: bumped the value there from $15 USD to $20 USD. Not much, but hopefully it helps :)

:-D Good news! Another $200 just got added to implement this feature!

There is $100 in ETH and $200 in DAI (from good ol' mitch!)

https://gitcoin.co/issue/vector-im/riot-web/2661/1730

and $5 more got added to the $15 bounty at bountysource by turt2live

https://www.bountysource.com/issues/39623582-no-spell-check-on-the-electron-app-version?utm_source=50185338&utm_medium=shield&utm_campaign=ISSUE_BADGE

This means if you can crack this code, you got $320+ to collect :D

@mul1sh Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@gitcoinbot still working on the PR its coming up shortly

@mul1sh Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • [x] reminder (3 days)
  • [ ] escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

Any progress?

As a heads up, over the next while I'll be taking a swing at this issue (as spoll chack iz semthng I rleay naeed!). First is getting the spellchecker package to compile for me, see https://github.com/atom/node-spellchecker/pull/122

I'm slightly stumped as to why preload.js appears not to be called. Any clue what's up? https://termbin.com/sruw

I'm working on it. I've assigned myself using Gitcoin.

I'm at the middle of the task (imported and runned spell-checks on right-click), but I've got concern about dictionaries. I'm able to detect language using my Ubuntu 18.04 complaint KDE Neon, but by default user would not have the dictionary or we should bundle them, or somehow download from kind of dictionaries repository. In Rocket.Chat they've bundled 3 dictionaries (English, Spanisz and Portugal), so for example Polish or Russian are not supported at all.

Any additional ideas and feedback (how you want to access dictionaries and various languages) would be very helpful, by now i'll implement it like Rocket.Chat did.

UPDATE: https://github.com/LibreOffice/dictionaries - more dictionaries

UPDATE2:
Linux: works, builds but only for Linux
Windows: Python 2.x needs to be installed. Not builds with Node v10.16.0
Mac: Not tried yet

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


__Work for 0.5 ETH (147.44 USD @ $294.88/ETH) has been submitted by__:

  1. @thecyberd3m0n

@GriffGreen please take a look at the submitted work:

  • PR by @thecyberd3m0n

oh nice!!! Thank you Soooooooooo much @thecyberd3m0n!!! Thank you for finally taking this on! I have a Mac, so hopefully the mac version works! If so I'll release the bounty :-D

It should, but no guarantee for now. I don't have test environment for Mac yet :(

It seems like I failed to get my PR done. You can dismiss it. Sorry

Looks like Electron 8 will let you use the system spellcheck https://github.com/electron/electron/pull/20692

I'm very much interested in having spell checking in the Desktop version of Riot :D

This was resolved in 1.6. Can someone comment on exactly how? What library is used? Any online lookups for unrecognized words?

https://github.com/vector-im/riot-desktop/pull/30 is the PR which adds it - that would be the best place to start. Other than that, #riot-dev:matrix.org might have more details.

It uses the electron 8.x spellcheck feature which downloads a spellcheck dictionary and looks up the words locally from there

https://www.electronjs.org/docs/api/web-frame#webframesetspellcheckproviderlanguage-provider

It would be nice to be able to disable spellchecking...

Was this page helpful?
0 / 5 - 0 ratings