o script abaixo falha com o seguinte erro: Error: <strong i="5">@match</strong> could not parse pattern
// ==UserScript==
// <strong i="8">@name</strong> match test
// <strong i="9">@namespace</strong> https://github.com/an-electric-sheep/
// <strong i="10">@version</strong> 1
// <strong i="11">@match</strong> *://*.twitter.com/*
// <strong i="12">@grant</strong> none
// ==/UserScript==
Ele funciona no FF estável. Suspeito que isso quebraria muitos scripts em breve.
Última boa: Firefox 54.0a1 (09/02/2017)
Construído a partir de https://hg.mozilla.org/mozilla-central/rev/b772e0f4138540113e91a46c99bb0d14ecc8acca
Primeira má: Firefox 54.0a1 (10/02/2017)
Construído a partir de https://hg.mozilla.org/mozilla-central/rev/25a94c1047e793ef096d8556fa3c26dd72bd37d7
Bug # 1337629 é o suspeito.
__Passos para reproduzir:__
1) Abra o Scratchpad
2) Menu: "Ambiente-Navegador"
3) Insira o código:
var url = "http://*.twitter.com/*";
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
alert(ioService.newURI(url, null, null));
4) Corra
5) O resultado:
__Firefox 54.0a1 (09-02-2017) __
alerta: http://*.twitter.com/*
__Firefox 54.0a1 (10/02/2017) __
Exception: [Exception... "Component returned failure code: 0x804b000a
(NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]" nsresult: "0x804b000a
(NS_ERROR_MALFORMED_URI)"
location: "JS frame :: Scratchpad/1 :: <TOP_LEVEL> :: line 15" data: no]
Olá, parece que está abusando de URIs. Existe um motivo específico para a criação de um URI usando esse padrão? Como ele está combinando um URI real com um URI padrão.
Entender isso ajudaria na decisão de restaurar o bug 1337629 ou não.
@valenting está usando o URI para extrair com segurança as várias partes do URI (esquema, host, caminho) antes de aplicar expressões regulares às partes individuais. Presumo que a ideia era evitar a implementação de um analisador de URI customizado para padrões de correspondência.
Observe também que, para mim, isso teve o efeito de remover silenciosamente ou não carregar um script já instalado. Isso foi bastante surpreendente e não sei se ele teria sido capaz de se recuperar disso, ou seja, se o script não tivesse simplesmente ido embora até ser reinstalado.
O ramo de teste:
https://github.com/janekptacijarabaci/greasemonkey/tree/_testBranch_matchPattern
Eu não fiz uma solicitação de pull ainda (não foi bem testado) ...
Tive o mesmo problema ontem à noite com o desenvolvedor Firefox. GM removeu o script FBP devido às duas linhas @match em seu script com erros de análise. Removi as 2 linhas e consegui carregar o script do disco para reinstalá-lo.
GM também não tinha um script desativado ao reiniciar a partir da atualização do FF junto com o script de pureza. O removido desabilitou o recarregado da área de transferência sem erros. Nenhum dos scripts foi removido da pasta gm_scripts, felizmente, apenas não carregava. Espero que isso ajude, aqui se precisar de mim.
Erro de análise nestes dois;
// @match http: // .facebook.com /
// @match https: // .facebook.com /
Beta parece estar funcionando bem.
Beta ainda não foi atualizado. Será em breve.
Em 17 de fevereiro de 2017 às 04:24, Dana MW Chester [email protected]
escreveu:
Beta parece estar funcionando bem.
-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/greasemonkey/greasemonkey/issues/2480#issuecomment-280539445 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/ABYyOVjQCE0xIK_k-M2OecXJ6tXrpr0Vks5rdRL1gaJpZM4L-WHI
.
Acho que arantius / greasemonkey @ 9cb94670994ea326e81ad6df4ec083d56e595166 corrige isso. A confirmação seria bom.
Reescrevi isso para arantius / greasemonkey @ 1531f342d512e9a0981897194bf3bf7ced09a1c7 e estou
Não posso confirmar no perfil mencionado no # 2481 porque não tive escolha a não ser colocá-lo em funcionamento e tive que riscá-lo e reiniciá-lo, uma completa perda de horas.
Sem mencionar no processo que eu acho, que excluir / remover um script aparentemente não o remove / exclui, na unidade do perfil ele mantém tudo, o que não faz sentido porque está fazendo isso - já que eu excluí estes scripts por uma razão, por que você os está coletando?
Explica os erros que surgem quando um novo script tem o mesmo nome de um antigo (excluído, mas não foi realmente removido) que você não removeu e causa problemas. Isso realmente deve ser analisado, embora não esteja diretamente relacionado ao problema que está sendo tratado aqui.
Comentários muito úteis
Última boa: Firefox 54.0a1 (09/02/2017)
Construído a partir de https://hg.mozilla.org/mozilla-central/rev/b772e0f4138540113e91a46c99bb0d14ecc8acca
Primeira má: Firefox 54.0a1 (10/02/2017)
Construído a partir de https://hg.mozilla.org/mozilla-central/rev/25a94c1047e793ef096d8556fa3c26dd72bd37d7
Pushlog
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b772e0f4138540113e91a46c99bb0d14ecc8acca&tochange=25a94c1047e793ef096d8556fa3c26dd72bd37d7
Bug # 1337629 é o suspeito.
__Passos para reproduzir:__
1) Abra o Scratchpad
2) Menu: "Ambiente-Navegador"
3) Insira o código:
4) Corra
5) O resultado:
__Firefox 54.0a1 (09-02-2017) __
alerta:
http://*.twitter.com/*
__Firefox 54.0a1 (10/02/2017) __