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

Breaking changes of manifest v3(version 1.17.0) #2159

Closed
brookhong opened this issue Sep 18, 2024 · 21 comments
Closed

Breaking changes of manifest v3(version 1.17.0) #2159

brookhong opened this issue Sep 18, 2024 · 21 comments

Comments

@brookhong
Copy link
Owner

brookhong commented Sep 18, 2024

Hi All,

On September 16, 2024, 1.17.0 was released(only for Chrome now, from branch mv3) to address manifest v3 upgrade, otherwise the extension would be taken down from chrome web store.

For now, please turn on Developer mode from chrome://extensions/ after you installed/upgraded to 1.17.0, due to following reason

The 'userScripts' API is only available for users in developer mode.

See offical docs from Google.

Then restart your browser, most features should work. And here are some known issues

  • api.vmapkey is missing.
  • api.Hints.setCharacter is missing.
  • settings.blocklistPattern is not working.
  • chrome.storage is not allowed in setting snippets.
@lost22git
Copy link

please turn on Developer mode

It's working fine for me, thanks.

@lcaturelli
Copy link

Enabling developer mode, manages to load and save settings from URL successfully.

However, settings fails to apply (extension works with the default configuration). In console it shows the following errors:

image

I confirm that, if enabled/disable "developer options", it is necessary to restart the Browser to apply the change.

Vivaldi 6.9.3447.37 (Stable channel) (32 bits).

I am available if I can help with tests.

@joshuali925
Copy link
Contributor

seems api.Normal is also missing

@nekowasabi
Copy link

Same error by saving advanced mode setting.

CleanShot 2024-09-19 at 09 30 46@2x

@kings2u
Copy link

kings2u commented Sep 19, 2024

Thank you for addressing this so quickly. FYI, this line in my config also causes an error:

chrome.storage.local.set({"noPdfViewer": 1})

@daanzu
Copy link

daanzu commented Sep 20, 2024

[SurfingKeys] Error found in settings: TypeError: Hints.setNumeric is not a function

@agguser
Copy link

agguser commented Sep 20, 2024

Uncaught TypeError: api.Front.showBanner is not a function

@voidpainter
Copy link

settings.prevLinkRegex, settings.nextLinkRegex not working

@wthueb
Copy link

wthueb commented Sep 20, 2024

For those of you with the know how, checkout commit f821819 (1.16.1) and build it from source yourself, and load the unpacked extension. The APIs still work, the new update just had to remove them to not get removed from the Chrome Web Store.

This won't work forever as Manifest v2 will eventually be unsupported entirely, but for now it allows Surfingkeys to be usable on Chrome for me.

@Kiraalla
Copy link

When will it be updated to [version 1.17.1]

@desgua
Copy link

desgua commented Sep 21, 2024

Can someone guide me on how to build from source?
I have done (in Linux terminal):

git clone https://github.com/brookhong/Surfingkeys.git
cd Surfingkeys
git checkout f82181963

Then I go to chrome://extensions/ but when I try to load unpacked I get an error "Failed to load extension
File
~/Downloads/surfingkeys/Surfingkeys/src
Error
Required value 'version' is missing or invalid. It must be between 1-4 dot-separated integers each between 0 and 65536"

@psych3r
Copy link

psych3r commented Sep 21, 2024

@desgua You have to build the extension first.
Run the following commands in the extension directory:

npm install
browser=chrome npm run build:prod

Then load unpacked dist/production/chrome

@desgua
Copy link

desgua commented Sep 22, 2024

@psych3r Thank you so much! <3

@snowman
Copy link

snowman commented Sep 24, 2024

For those of you with the know how, checkout commit f821819 (1.16.1)

why there is not git tag for this...

@clarkwang
Copy link

As a workaround for settings.blocklistPattern, I use api.unmapAllExcept([], url_pattern) to unmap all keybindings for specific sites. For example:

api.unmapAllExcept([], /^https:\/\/(calendar|contacts|docs|drive|keep).google.com/);

@lpanebr
Copy link

lpanebr commented Sep 27, 2024

As a workaround for settings.blocklistPattern, I use api.unmapAllExcept([], url_pattern) to unmap all keybindings for specific sites. For example:

api.unmapAllExcept([], /^https:\/\/(calendar|contacts|docs|drive|keep).google.com/);

unfortunately this workaround is not working for me (developer mode enabled).

This is so sad...

@brookhong
Copy link
Owner Author

1.17.1 has been released, above mentioned issue should have been resolved.

@lpanebr
Copy link

lpanebr commented Oct 3, 2024 via email

@brookhong
Copy link
Owner Author

Closing this since all known issues from MV3 upgrade have been fixed now.

@brookhong brookhong unpinned this issue Oct 14, 2024
@agguser
Copy link

agguser commented Oct 20, 2024

Uncaught TypeError: api.insertJS is not a function

@rosshadden
Copy link
Contributor

rosshadden commented Oct 24, 2024

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'addListener')

    chrome.runtime.onMessage.addListener((function(e, t, n) {
        i[e.subject] && i[e.subject](e, t, n)
    }

I even get this with an empty config. On version 1.17.3.

Edit: This seems to be fixed as of today :).

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

No branches or pull requests