chrisero / vocab-forager Goto Github PK
View Code? Open in Web Editor NEWChrome Extension for highlighting words on foreign-language sites and learning their meanings through user-selected dictionaries
License: MIT License
Chrome Extension for highlighting words on foreign-language sites and learning their meanings through user-selected dictionaries
License: MIT License
Every time VocabForager defines a highlighted text, it opens a new tab using the selected dictionary site. This can result in a pore user experience when looking up several different highlights. It can also cause performance issues, as each tab spins up a new process by default.
To improve the dictionary search feature, we should implement (at least) one of 2 UI changes:
Right now, extension works by waiting for some time (e.g. 800 milliseconds) and the highlighting text in website. This works well for static websites whose content is finalized by that time, but not so well for dynamic pages (those whose DOM may change over time, or at least after the expected length). This would result in a lot of text getting placed in missing section unnecessarily.
To resolve this issue. I propose adding some listener to see if the DOM changes (for reasons other than highlighting) and if so, perform a search (at least on the changed DOM nodes) for text in missing and highlight if found.
Not sure if this is a real problem the at needs fixing.
Right now, all highlights are done with a yellow background and the text contents retain the original source styling, including color. This results in text being illegible in dark-themed sites. Please see here as an example.
This ticket is to resolve this issue, ideally with adding custom highlight styling Add functionality to change the styling of highlighted text at a page-level. These changes should persist across sessions (stored in non-volatile storage).
Sometimes, the extension spins up a new define tab even when one already exists. This behavior may even happen when on the same webpage or when moving across different webpages. This is bad since it makes the fix for this issue 27 incomplete
I suspect that the issue is that the service worker is restarted periodically as described here, it is listed as issue chromebug1152255
With last update, background-script/web-worker no longer deletes sites for which there are neither any missing words nor any highlighted words. This functionality ought to be reintroduced, as it was removed by mistake
Instead of using url of a webpage in sites-page, it may be better to display its title. This would reduce the amount of lines needed to display a web page link and would make the page more human readable.
Allowing textless highlights allows for accidental highlights that cannot be easily removed (without removing entire site data). This is a bad user experience.
As discussed in issue 31, we are having issues, likely, due to the way Chrome restarts the background-script web worker after 5-or-so minutes of inactivity. In addition to the aforementioned issue, there also appear to be hick-ups with simple usage of the extension: activating extension does not immediately show highlighted words and some highlight commands may be missed.
These last few issues are likely due to primitive error handling, which avoids the usage of locks. If the Chromium bug is not addressed in a timely manner, we may be forced to use such techniques, at least for setting up the db connection
Consider choosing alternative storage medium for SiteData:
Improve how highlighted sites are grouped. One idea is have 2 pages, one to select host+protocol and the second to select sites belonging to that host
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.