ldenoue / yawas Goto Github PK
View Code? Open in Web Editor NEWYawas Web and PDF Highlighter browser extension for Chrome and Firefox
License: MIT License
Yawas Web and PDF Highlighter browser extension for Chrome and Firefox
License: MIT License
Hi Laurent,
In case you have a Firefox version that could import from G. Bookmarks, could you publish it, please? https://addons.mozilla.org/en-US/firefox/addon/yawas-web-and-pdf-highlighter and https://addons.mozilla.org/en-US/firefox/addon/yawas-web-and-pdf-highlighter/versions only show the old one.
Thank you for considering.
Thank you for new version for Firefox.
FYI Import from G. Bookmarks fails for special URLs. Good that the rest of bookmarks do get imported.
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope options.js:55
<anonymous> moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/options.js:55
Unchecked lastError value: Error: Invalid bookmark: {"title":"data:text/plain,Hello%20World","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
importAllBookmarks moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"java.base (Java SE 11 & JDK 11 [build 24])","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"Selenium IDE in a tab","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file://///sydfps02/Group/Information Technology/Information Systems/QA/07 Applications/Moodle/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file://///syd2k8888/Backup/IT Staff/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file:///I:/EDU EDRE/eLDD/Basic Training/Portal/MESO overview/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file:///I:/Information Technology/Information Systems/Project Management/Projects/PREP/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file:///I:/EDU PREP AT/Program Documentation/2Projects/PE1/3Design/Func Spec/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file://///lmsdev/moodledata - dev/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file:///C:/Documents and Settings/pkehl/Application Data/Mozilla/Firefox/Profiles/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
Unchecked lastError value: Error: Invalid bookmark: {"title":"file://///syd2k8888/software/","type":1,"url":"","parentGuid":"gDP-aV1gyZY4"} yawas-background.js:134
I'll remove them from my bookmarks and I'll try to import again.
High risk of data loss
EDITED
After the replies, I went and test it again and the behavior changed, I have no clue what is happening. Now the data loss seems to happen randomly. Here is an example: video
Randomly after highlighting or placing a comment, Yawas data gets overwritten and only the last highlight/comment is shown.
Yawas version: 7.4.0 (Chrome version from the Chrome Store)
Chrome version: 106.0.5249.119 (Build oficial) (x86_64)
Selecting a text and clicking (ctrl+shift+y) does work, but this probably should be mentioned on the addon page. I only found it on the website and chrome's page, although I only use firefox
Hovering over a highlighted text and clicking "N" doesn't seem to work on firefox. Maybe you can implement it (and then add it to the addon page). This would really save me a lot of time!
Thanks for the gread addon.
Edit: Adding more shortcuts for other colours would also be nice (for example ctrl+shift+g for green, etc..)
I fell rgb(255, 255, 102) to be softer than yellow color, the result nice to read, you can try it, please use this color.
check this for comparison
https://drive.google.com/drive/folders/1_CNC05Q9HdM64_SuJng6QrjHjlkrErhG?usp=sharing
Hi Laurent.
Related to #4 and its first example: Let's say you have existing Yawas highlights for a page, but the page changes subsequently and the text doesn't match the highlight in Yawas (whether full text, or "compressed"). Then you don't have a way of knowing that some of the existing/previous highlights are not visible on the page anymore.
Could Yawas somehow at least indicate that fact? And, if feasible, could it even show a list of those orphaned highlights, please? (For example, the "XYZ/PQR highlights" button at the bottom right could have a sub-buton, which would show those orphaned highlights in a popup, or in a separate tab.)
FYI There is a new(ish) "CSS Custom Highlight API". It's stable on Chrome, but not on Firefox yet (for now Firefox has it on Nightly only).
For more: searchmarkers/mark-my-search#144. (For my reference: sapjax/word-hunter#39)
I've subscribed to Firefox updates on that API. Once stable, I'll update here.
Hi there, big fan of yawas - just a quick query:
As Google Bookmarks will "no longer be supported" after September 30th, 2021 [source] - are there any plans to migrate to an alternative bookmarking service? If so, might I suggest pinboard - which, despite being a paid service, has many blessings, including; descriptions of unlimited length, a privacy focus and a plethora of community creators and resources.
Thank you for providing and maintaining this excellent utility
Hi Laurent,
PDF highlighting doesn't work in Firefox (at least for a few months). Neither in Chrome. Both browsers show the default preview plugin (I guess). Yawas context menu is there, but it doesn't highlight. Neither it writes to G. Bookmarks.
Thank you for considering.
Hi Laurent.
Deleting a highlight removes it from "XYZ/PQR highlishts" counter, and it removes the highlight color on the page. However, it keeps it in G. Bookmarks.
Hi Laurent,
YAWAS in Firefox is showing "Signed out", even though I'm logged on to G. Bookmarks. It started at least a week ago. Both in Firefox 69 and 70.0a1 (2019-08-23) x64 on Linux.
This may be a Firefox problem (I think it started with an upgrade to 69.0.2), or an interaction with another extension (though I haven't installed any new ones). I'll follow up with you.
Successfully imported to Chrome bookmarks (Yawas settings: chrome.storage.sync (max 512 entries); chrome://settings/syncSetup/advanced > Customise sync > turned off sync of Bookmarks): "Import completed: 3620 Google Bookmarks are now in your Chrome Bookmarks!". Bookmarks (whether with highlights or not) seem to show up in chrome://bookmarks/?id=1020 (which shows Other bookmarks > Yawas) - I can't easily confirm if it's all of them. Imported highlights seem to be in the title field - right of #_#
.
However, when I open those (bookmarked/target) URLs in same Chrome, Yawas doesn't seem to highlight the text that is right of #_#
and between <<..>>
. The same highlights continue to work with the existing (May 2021) version 7.3.3 of Yawas for Firefox.
Personally, I'm only interested in Firefox version - and I believe that Firefox is gaining more momentum than Chrome, so this is only an FYI.
I'd be happy to send you my GoogleBookmarks.html export file, or assist in any other way.
Hi Laurent,
With Firefox 72.0.1 or 72.0.2 and G. Bookmarks: When mouse-over an existing highlight. Then right-click or context menu key > Yawas > choose a color different to the existing highlight. The highlight color on the screen changes successfully.
However, the change is not pushed to G. Bookmarks. And in Firefox menu > Tools> Developer > Browser Toolbox > Console you get the below two errors.
Side note: Do not use Tools > Developer > Browser Console, because it shows only one of those two errors (or those two locations).
If you're going to do an update this would be handy if not too difficult! Not a deal breaker
Hi Laurent,
Thank you on working on import from G. Bookmarks. What a hope for users of Yawas.
I'm going to create a few issues - all related to G. Bookmarks, but I'm separating them to minimize the noise here. This issue is only an FYI, and it may not even apply (since I don't know what G. Bookmarks API endpoint you use, or whether Google has fixed the below issue - which would be unlikely...).
https://www.google.com/bookmarks/lookup?output=rss doesn't include some labels (and their respective bookmarks - regardless of Yawas << ... >>). For my full report see https://support.google.com/chrome/thread/95429735/incomplete-data-with-api-for-www-google-com-bookmarks.
That started only once I reached a high number of G. Bookmarks. (I don't know how many of all G. Bookmarks I have, but my current export from G. Bookmarks - GoogleBookmarks.html - is 3.1MB big. Out of all of them 3620 contain Yawas highlights.) So it may not bother most users. Of course, feel free to close it if it doesn't apply (and even \if it applies, there's not much Yawas could do, other than going through all G. Bookmarks one by one).
When a (previously valid) Yawas note(s) can't match any text (since the page changed), the "XYZ missing" link does expand the Yawas float on Chrome. However, it doesn't expand the float on Firefox (84.0.2 - and previous or at least recent versions, too).
webpage: https://doc.rust-lang.org/nightly/book/ch03-02-data-types.html
The whole G. Bookmarks note (as copied from www.google.com/bookmarks) is:
<<In cases when many types are possible#green>> <<let guess: u32 = "42".parse().expect("Not a number!");#green>> <<scalar types: integers, floating-point numbers, Booleans, and characters#green>> <<i128#green>> <<u128#green>> <<isize#green>> <<usize#green>> <<Byte (u8 only)#green>> <<b'A'#green>> <<i32: this type is generally the fastest, even on 64-bit systems#green>> <<isize or usize is when indexing some sort of collection#green>> <<in debug mode, Rust includes checks for integer overflow#green>> <<panic at runtime#green>> <<in release mode with the --release#green>> <<not include checks for integer overflow#red>> <<u8, 256 becomes 0#red>> <<Relying on integer overflow’s wrapping behavior is considered an error#red>> <<to wrap explicitly, you can use the standard library type Wrapping#green>> <<default type is f64 because on modern CPUs it’s roughly the same speed as f32#green>> <<remainder = 43 % 5#green>> <<Booleans are one byte in size#red>> <<let f: bool#green>> <<char type is four bytes#red>> <<types of the different values in the tuple don’t have to be the same#green>> <<let tup: (i32, f64, u8) = (500, 6.4, 1);#green>> <<access a tuple element directly by using a period (.) followed by the index#green>> <<first index in a tuple is 0#green>> <<Arrays are useful when you want your data allocated on the stack#green>> <<rather than the heap#red>> <<let a: [i32; 5] = [1, 2, 3, 4, 5];#green>> <<to create an array that contains the same value for each element#green>> <<specify the initial#green>> <<followed by a semicolon#green>> <<then the length#green>> <<let a = [3; 5];#green>> <<array is@1#green>> <<allocated on the stack@1#green>>
Firefox - Not working: the "1 missing" link doesn't do anything. (Ignore white-on-black, that comes from another extension which doesn't interfere here):
No relevant error in Browser Console (from what I see - there are other errors/warnings but from unrelated Firefox core or extensions). The rest of Yawas on Firefox works marvels.
Hi Laurent,
It seems that for highlighted sections longer than around 18 characters, Yawas is storing them like <<numeric-length~~first-7-or-8-characters last-7-or-8-characters>>. Is that a workaround for Google's limit of 2K per bookmark note? If so, thank you, as many people will appreciate it.
On the other hand, some people may prefer to store all highlighted text - even though it means a limit for the highlights. Why? For example, they
Could we have an option/checkbox to keep the whole text, please?
In Firefox 92.0.1, new Yawas 7.3.4, under normal user pattern (after G. Bookmarks import; with using some privileged tabs - as I was disabling other extensions; the tabs I was switching among did not have any Yawas higlights, and I was not creating any new highlights):
Promise rejected after context unloaded: Actor 'Conduits' destroyed before query 'RuntimeMessage' was resolved
yawas-content-script.js:543
sendMessage moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-content-script.js:543
res is undefined yawas-content-script.js:239
askForAnnotations moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-content-script.js:239
response moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-content-script.js:545
apply self-hosted:2736
applySafeWithoutClone resource://gre/modules/ExtensionCommon.jsm:626
wrapPromise resource://gre/modules/ExtensionCommon.jsm:855
withLastError resource://gre/modules/ExtensionCommon.jsm:774
wrapPromise resource://gre/modules/ExtensionCommon.jsm:843
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope yawas-content-script.js:543
res is undefined yawas-content-script.js:239
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope yawas-content-script.js:543
res is undefined yawas-content-script.js:239
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope yawas-content-script.js:543
res is undefined yawas-content-script.js:239
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope yawas-content-script.js:543
res is undefined 2 yawas-content-script.js:239
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope 2 yawas-content-script.js:543
sendRemoveListener on closed conduit {7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}.1236950581248 ConduitsChild.jsm:108
_send resource://gre/modules/ConduitsChild.jsm:108
_send self-hosted:1279
removeListener resource://gre/modules/ExtensionChild.jsm:663
removeListener resource://gre/modules/ExtensionChild.jsm:891
onChanged chrome://extensions/content/child/ext-storage.js:332
removeListener resource://gre/modules/ExtensionCommon.jsm:2534
revoke resource://gre/modules/ExtensionCommon.jsm:2556
close resource://gre/modules/ExtensionCommon.jsm:2561
unload resource://gre/modules/ExtensionCommon.jsm:922
close resource://gre/modules/ExtensionContent.jsm:936
destroyed resource://gre/modules/ExtensionContent.jsm:1014
observe resource://gre/modules/ExtensionContent.jsm:1032
sendRemoveListener on closed conduit [email protected] ConduitsChild.jsm:108
sendRemoveListener on closed conduit {7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}.1236950581329 ConduitsChild.jsm:108
sendRemoveListener on closed conduit [email protected] ConduitsChild.jsm:108
Promise rejected after context unloaded: Actor 'Conduits' destroyed before query 'RuntimeMessage' was resolved
2 yawas-content-script.js:543
sendMessage moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-content-script.js:543
sendRemoveListener on closed conduit {7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}.1236950581410 ConduitsChild.jsm:108
sendRemoveListener on closed conduit [email protected] ConduitsChild.jsm:108
Promise rejected after context unloaded: Actor 'Conduits' destroyed before query 'RuntimeMessage' was resolved
yawas-content-script.js:543
res is undefined yawas-content-script.js:239
askForAnnotations moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-content-script.js:239
response moz-extension://e12bf03a-4cfd-4ae8-841d-3a08e00d7382/yawas-content-script.js:545
apply self-hosted:2736
applySafeWithoutClone resource://gre/modules/ExtensionCommon.jsm:626
wrapPromise resource://gre/modules/ExtensionCommon.jsm:855
withLastError resource://gre/modules/ExtensionCommon.jsm:774
wrapPromise resource://gre/modules/ExtensionCommon.jsm:843
Unchecked lastError value: Error: Promised response from onMessage listener went out of scope yawas-content-script.js:543
I'm following your GitHub repo. So if you commit anything, I'll install the extension locally and I'll test (hence not waiting for Mozilla's approval...).
Hey @ldenoue, loving the update, it looks like the Firefox title field limit is 4096 characters - to extend the number of highlights that can be taken (and stored) on any given webpage, could an option to use truncated text excerpts be included, e.g. <<Identifier~~End of excerpt>>
?
Thanks again!
Highlighting any context at https://stuff.mit.edu/afs/sipb/project/android/docs/google/backup/
fails with:
Unchecked lastError value: Error: Could not establish connection. Receiving end does not exist. yawas-background.js:246
sendMessageActiveTab moz-extension://778d06eb-f55c-4ded-a7b2-0206a5f0d806/yawas-background.js:246
Dev Tools > Browser Toolbox > Console:
Nothing comes to G. Bookmarks. At the same time (before and after this highlight), saving highlights on other webpages works fine. The error keeps happening even after restarting Firefox.
This is the best add-on, so easy to use, with Tab Retitle you can add the bookmark text into the actual tab title, and from there with another addon export a list of tabs with their essential points; or with Copy Page Title URL and paste the highlighted text with the page title and URL into Word.
I've assigned Alt_R for red etc.
Only problem is not enough colours?
In Textmarker there are about 13 customisable colour settings (more would be good)
Believe it or not I use them all, with a unique letter to apply them:
pink (to do)
lilac (query)
orange (watch)
grey (irrelevant)
aqua (info)
etc
Visit https://cloud.google.com/apis/design/design_patterns, find "Operation defines a standard interface to work with long running operations" (the word "Operation" is a link):
Select that text "Operation defines a standard interface to work with long running operations", store as a YAWAS highlight. Minor issue: That extends the underlining to the end of that selected text, until you click somewhere else on the page.
However, then (and after page refresh, too), the highlighter and the link's underline don't like each other, and the link is not underlined anymore:
I recently discovered a strange behaviour caused by the Yawas extension (on Firefox).
On the page https://www.corbettreport.com/members/, there is an area with the title "Subscription via PayPal". When I visit this page with Yawas enabled, this is displayed:
When I disable Yawas, this content is presented correctly:
Hi Laurent,
INTRO
When visiting an anchor link (https://server/path/to/page#anchor), YAWAS reads and records the highlights and comments for the unanchored URL. That way the highlights stay even as you follow other anchor links on the same page.
A side effect: If you also use another Google bookmarks-based extension, like Fess GBE for Firefox, then YAWAS will show highlights for any anchors on the page. However, those other extensions may not indicate the page as bookmarked, unless you remove the #anchor part from the URL.
Thank you for this. Could you keep that behavior, please. Optionally, would you consider adding a simple note, like above, about that behavior to either the extensions' webpage on Mozilla/Chrome, or to README.md?
THE ISSUE
The problem is, that YAWAS matches a page being visited with a stored set of highlights, even if the current page (one being visited) has a URL that is longer than the stored URL, but it's not longer due to an #anchor. Example:
I highlighted on https://developers.google.com/protocol-buffers/docs/proto3
Later I noticed that there's an old version of the same page: https://developers.google.com/protocol-buffers/docs/proto. To help me notice in the future that it's obsolete, I highlighted its header in red and added a comment.
However, now that comment applies to https://developers.google.com/protocol-buffers/docs/proto3, and it doesn't show my original highlights (which are still stored). I know that to undo that, I can remove the G. Bookmarks record for https://developers.google.com/protocol-buffers/docs/proto, but I don't want to, as it has its purpose.
Could it remove any anchors, but not match on substrings, please?
I confirm that Yawas highlights in G. Bookmarks do get imported to Firefox (to the URL hash part), and they do get highlighted. (I haven't tried many of my Yawas-generated bookmarks yet, but if Google omits some of my bookmarks, that is a lower priority.)
Any chance to import G. Bookmarks' label(s) as Firefox bookmark 'tag(s)', please?
When using with Google Bookmarks, and visiting https://gregoryszorc.com/blog/2021/05/12/why-you-shouldn't-use-git-lfs - in either Firefox or Chrome, Yawas float says "Signed out". However, I'm definitely signed on to Google - I refreshed https://www.google.com/bookmarks several times, restarted the browser...
Yawas keeps saving highlights (to G. Bookmarks) for other websites, but fails for this one.
I looked at Browser Console (Ctrl+Shift+J), but there was no error/warning related to Yawas.
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.