From e2d06471854f4287146b6f9e48fa287852fb4f0a Mon Sep 17 00:00:00 2001 From: David Tejada Date: Mon, 17 Jun 2024 12:22:56 +0200 Subject: [PATCH] V0.7.0 (#303) * Update Changelog * Update "What's New" page * Update Readme * Update version in manifest * Update Safari project --- CHANGELOG.md | 45 +++-- .../project.pbxproj | 8 +- readme.md | 67 +++++++- src/mv2-safari/manifest.json | 2 +- src/mv2/manifest.json | 2 +- src/mv3/manifest.json | 2 +- src/pages/whatsNew/index.html | 154 +++++------------- 7 files changed, 136 insertions(+), 144 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a4f813e..86b093c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,33 @@ All notable changes to the Rango extension will be documented in this file. +## [0.7.0](https://github.com/david-tejada/rango/releases/tag/v0.7.0) - 2024-06-17 + +### Added + +- Add setting to always compute hintables. +- Add command for performing action on an element fuzzy searching its text. +- Add ability to customize custom selectors from the settings page. +- Add setting for notifying or not when toggling hints. +- Add command for hiding a specific hint. +- Add command to save a reference to the active element. + +### Fixed + +- Fix issue with elements not triggering intersection when within + `positioned: fixed` element. +- Fix hints being read out when using Microsoft Edge Read Aloud function. +- Make hints and keys to exclude settings case insensitive. +- Fix crown not taking account sticky headers with smooth scrolling. +- Fix Discord's internal links opening in a new tab. +- Fix "go input" not working when the hints are off. +- Fix slowness on startup caused by having to reload discarded tabs for + refreshing tab marker. + +### Changed + +- Allow smaller hint font size. + ## [0.6.3](https://github.com/david-tejada/rango/releases/tag/v0.6.3) - 2024-2-2 ### Added @@ -488,21 +515,3 @@ All notable changes to the Rango extension will be documented in this file. If you update to this version remember to update [rango-talon](https://github.com/david-tejada/rango-talon) - -### Added - -- Rango now supports iframes! -- Added commands for changing hints size: `hint bigger` and `hint smaller` -- More ways to toggle hints on and off: - - With the shortcut `ctrl-shift-space` - - Clicking the extension button in the browser toolbar - -### Changed - -- Reduced displayHints timeout for added snappiness - -### Fixed - -- Fix hints position not being calculated properly on some pages - [#8](https://github.com/david-tejada/rango/issues/8) -- Fix hints not returning to its original size after clicking diff --git a/Rango/Rango for Safari.xcodeproj/project.pbxproj b/Rango/Rango for Safari.xcodeproj/project.pbxproj index 0ae0c688..f2230f10 100644 --- a/Rango/Rango for Safari.xcodeproj/project.pbxproj +++ b/Rango/Rango for Safari.xcodeproj/project.pbxproj @@ -518,7 +518,7 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "macOS (Extension)/Rango.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; GENERATE_INFOPLIST_FILE = YES; @@ -549,7 +549,7 @@ CODE_SIGN_ENTITLEMENTS = "macOS (Extension)/Rango.entitlements"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; GENERATE_INFOPLIST_FILE = YES; @@ -583,7 +583,7 @@ CODE_SIGN_ENTITLEMENTS = "macOS (App)/Rango.entitlements"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; GENERATE_INFOPLIST_FILE = YES; @@ -619,7 +619,7 @@ CODE_SIGN_ENTITLEMENTS = "macOS (App)/Rango.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 12; DEAD_CODE_STRIPPING = YES; ENABLE_HARDENED_RUNTIME = YES; GENERATE_INFOPLIST_FILE = YES; diff --git a/readme.md b/readme.md index 57cdd8c8..a9a7746e 100644 --- a/readme.md +++ b/readme.md @@ -384,7 +384,9 @@ will work even when the hints are off. #### Save References - `mark as `: Saves a reference to the element with the specified - hint and assign it to the specified word. + hint and assigns it to the specified word. +- `mark this as `: Saves a reference to the focused element and assigns it + to the specified word. - `mark show`: Shows the visible saved references current in the page. - `mark clear `: Remove the reference corresponding to the specified word. @@ -400,7 +402,7 @@ In order to use the saved references in scripting you need to use the talon action `user.rango_run_action_on_reference`. This action accept two arguments: the name of the action and the name of the reference. -Following is a simple example of command that clicks the element with the +Following is a simple example of a command that clicks the element with the reference `edit`: ```talon @@ -414,6 +416,47 @@ use references. These will be active when editing `.talon` files. - `focus rango mark ` - `hover rango mark ` +### Fuzzy Search Elements + +Similar to custom references you can also target elements by their text content +using fuzzy search. This can also be used for scripting purposes with the +advantage that there is no need to previously save a reference to the element. + +#### Using Fuzzy Search Directly to Run Actions on Elements + +- `follow `: Click the element that better matches the provided text. It + prioritizes elements within the viewport. Any element within the viewport will + have priority over other elements outside of the viewport with better + fuzziness score. +- `button `: Click the element that better matches the provided text. It + doesn't take into account if the element is within or outside the viewport. It + will simply click the element in the document with the best fuzziness score. +- `focus text `: Focus the element that better matches the provided text. + It prioritizes elements within the viewport. +- `hover text `: Hover the element that better matches the provided text. + It prioritizes elements within the viewport. + +#### Scripting Using Fuzzy Search + +In order to use fuzzy search in scripting you need to use the talon action +`user.rango_run_action_on_text_matched_element`. This action accepts three +arguments: the name of the action, the text searched and whether to prioritize +elements within the viewport or not (optional, defaults to false). + +Following is a simple example of a command that clicks the element that better +matches the text "edit" anywhere in the document. + +```talon +edit this: user.rango_run_action_on_text_matched_element("clickElement", "edit", false) +``` + +There are also a few talon helpers that will make easier to create commands +using fuzzy search. These will be active when editing `.talon` files. + +- `click rango text ` +- `focus rango text ` +- `hover rango text ` + ### Modify Hints Size - `hint bigger`: Increase the size of the hints. @@ -532,13 +575,13 @@ In [this page](https://forvo.com/word/define/#en) we have this section which unfortunately doesn't show any hints.

- +

Now we use the command `hint extra` to greedily display hints.

- +

If we wanted to show hints for the gray links we can issue the command @@ -546,21 +589,21 @@ If we wanted to show hints for the gray links we can issue the command included.

- +

Since the result is not exactly what we want and there are still hints missing we use the command `some more`.

- +

Now there are more hints showing but they're not the ones we want. We issue the command `some more` again to see if that helps.

- +

The hints marked for inclusion now are exactly the ones we want. We could @@ -568,7 +611,7 @@ continue including more custom hints using the `include` command again but for the moment we leave it like that and save with `custom hints save`.

- +

Now the extra hints disappear and we are left with the custom hints that we just @@ -600,6 +643,14 @@ Here is a summary of all the commands for customizing hints: inclusion/exclusion so that they render by default. - `custom hints reset`: Remove any previously included/excluded custom hints. +Custom hints can also be edited, added or removed from the settings page. + +#### Hiding a Particular Hint + +On occasions a hint might be obscured by another hint that is stacked on top of +the first one. For those occasions you can use the command `hide ` to +hide the hint on top. + ## Known Issues and Limitations There is currently no way to open a pure CSS dropdown menu like the "hover" menu diff --git a/src/mv2-safari/manifest.json b/src/mv2-safari/manifest.json index b2f65ebd..704c7e21 100644 --- a/src/mv2-safari/manifest.json +++ b/src/mv2-safari/manifest.json @@ -1,6 +1,6 @@ { "name": "Rango", - "version": "0.6.3", + "version": "0.7.0", "description": "Extension that allows you to interact with webpages using only your keyboard or your voice and talon", "homepage_url": "https://github.com/david-tejada/rango", "manifest_version": 2, diff --git a/src/mv2/manifest.json b/src/mv2/manifest.json index 35ae65e3..70b00874 100644 --- a/src/mv2/manifest.json +++ b/src/mv2/manifest.json @@ -1,6 +1,6 @@ { "name": "Rango", - "version": "0.6.3", + "version": "0.7.0", "description": "Extension that allows you to interact with webpages and the browser using your voice and talon or your keyboard", "homepage_url": "https://github.com/david-tejada/rango", "manifest_version": 2, diff --git a/src/mv3/manifest.json b/src/mv3/manifest.json index 34b15c8b..a50bfe29 100644 --- a/src/mv3/manifest.json +++ b/src/mv3/manifest.json @@ -1,6 +1,6 @@ { "name": "Rango", - "version": "0.6.3", + "version": "0.7.0", "description": "Extension that allows you to interact with webpages and the browser using your voice and talon or your keyboard", "homepage_url": "https://github.com/david-tejada/rango", "manifest_version": 3, diff --git a/src/pages/whatsNew/index.html b/src/pages/whatsNew/index.html index 43dadb28..dd771606 100644 --- a/src/pages/whatsNew/index.html +++ b/src/pages/whatsNew/index.html @@ -19,59 +19,26 @@
-

Rango has been updated to version 0.6.3

+

Rango has been updated to version 0.7.0

What's new?

- Hello, my dear friends! Here I am again with some more good stuff to - make your web browsing life a bit easier. I hope you appreciate it. - This release brings us references. References allow - us to mark hints/elements to be able to use them in talon scripts. It - also brings us the ability to save and scroll to custom position. - Besides that this release brings more improvements and bug fixes. + Hello! I hope you are doing well. Here I bring you a new Rango update + to make your web browsing life a bit easier. I hope you appreciate it. + This release brings us the ability to target elements by their text + content using fuzzy search. This functionality can also be used for + scripting. We now also have the ability to edit custom selectors from + the settings page. Besides that this release brings more improvements + and bug fixes.

- -

Here is a video highlighting what's new in this update:

- -

Update rango-talon

You need to update rango-talon to be able to use the new commands.

-

- Important: I have made significant changes to - rango-talon. If you have made modifications outside of - rango.talon you might encounter merge conflicts. If you have - any issue reach out to me in the Talon Slack channel. Be aware that now tags - are used instead of settings to customize certain aspects. Here are - the tags you need to be aware of: -

-
    -
  • - user.rango_direct_clicking: Enabled by default. Remove - it if you want to use explicit clicking. -
  • -
  • - user.rango_exclude_singles: Disabled by default. Add it - if you have disabled Include single letter hints in the - extension. -
  • -
  • - user.rango_number_hints: Disabled by default. Add it if - you have enabled Use number for hints in the extension. -
  • -
+

Become a sponsor

@@ -91,86 +58,51 @@

Become a sponsor

>
-
-

Changelog for v0.6.3

- -

Added

-
    -
  • Log to the console the selectors used when showing references.
  • -
- -

Fixed

-
    -
  • Fix some reference not working when the unique selector uses `href`.
  • -
  • Fix some instances of hints within tables breaking layout.
  • -
  • Fix weird behavior displaying hints in contenteditable in https://pad.cogneon.io/.
  • -
-
-
-

Changelog for v0.6.2

- +

Changelog for v0.7.0

+

Added

    -
  • Add setting to hide tab markers when the hints global toggle is off (#253)
  • +
  • Add setting to always compute hintables.
  • +
  • + Add command for performing action on an element fuzzy searching its + text. +
  • +
  • + Add ability to customize custom selectors from the settings page. +
  • +
  • Add setting for notifying or not when toggling hints.
  • +
  • Add command for hiding a specific hint.
  • +
  • Add command to save a reference to the active element.
- +

Fixed

    -
  • Fix includeTabMarkers being altered by clicking the browser action button
  • -
  • Fix buggy behavior when changing the title of a bookmark manually (#254)
  • -
  • Handle focus change and update shouldBeHinted for all hintables. Fixes some instances of hints not displaying on menus that open when certain element is focused. (#256)
  • -
  • Fix hints not being shown with new color spaces in CSS Colors v4 (#257)
  • -
  • Improve include or exclude custom hints highlighting for better accessibility (#258)
  • -
  • Fix focus not being called for all HTMLElements (#255)
  • +
  • + Fix issue with elements not triggering intersection when within + positioned: fixed element. +
  • +
  • + Fix hints being read out when using Microsoft Edge Read Aloud + function. +
  • +
  • Make hints and keys to exclude settings case insensitive.
  • +
  • + Fix crown not taking account sticky headers with smooth scrolling. +
  • +
  • Fix Discord's internal links opening in a new tab.
  • +
  • Fix go input not working when the hints are off.
  • +
  • + Fix slowness on startup caused by having to reload discarded tabs + for refreshing tab markers. +
-
- -
-

Changelog for v0.6.0

-

Changed

    -
  • Clicking the action button also toggles the tab markers keeping them in sync with global hints toggle.
  • -
  • Change the way preferences are declared in rango-talon. Now tags are used instead of settings.
  • -
- -

Added

-
    -
  • Add commands for saving references to hints/elements for scripting.
  • -
  • Add command exclude all to exclude all hints for the current host.
  • -
  • Add command to toggle tab markers.
  • -
  • Add commands to store custom scroll positions and scroll to them.
  • -
  • Add command visit {user.website} to focus a given tab by URL or create a new one.
  • -
  • Add command tab hunt <user.text>, to focus a tab matching a text in the title or URL using fuzzy search. Add commands tab ahead and tab behind to cycle through the results.
  • -
  • Add setting to use numbers instead of letters for hints.
  • -
  • Add setting to change the viewport margin that determines where hints are drawn.
  • -
  • Add setting to exclude certain strings from being used for hints.
  • -
  • Add setting for excluding keys for certain URL patterns when using keyboard clicking.
  • -
  • Add browser action context menu Add Keys to Exclude. This adds the host pattern of the current URL to the keys to exclude setting and opens the settings page.
  • -
  • Add cursor: text to the elements to show when using hint extra.
  • +
  • Allow smaller hint font size.
- -

Fixed

-
    -
  • Fix toggle buttons in settings being invisible in high contrast mode.
  • -
  • Fix invalid tab markers when restoring previous tabs on startup in Firefox.
  • -
  • Fix some issues where hints for button elements failed to hide when those did.
  • -
  • Fix an issue where reattaching hints would cause the tab to crash.
  • -
  • Check if there is an offscreen document before creating one. This tries to fix a rare and difficult to reproduce issue where reading from the clipboard would fail.
  • -
  • Remove the decorations added by Rango when saving bookmarks (except in Safari as it doesn't support the bookmarks API).
  • -
  • Avoid the hints being included when printing.
  • -
  • Fix some discord links opening in a new tab when they shouldn't.
  • -
  • Fix some instances where direct clicking would be triggered when editing text and keyboard clicking on.
  • -
- -

Removed

-
    -
  • Remove commands rango direct and rango explicit. You can still specify which mode you prefer with the tag user.rango_direct_clicking.
  • -
-
- +