Vimium: demande de fonctionnalité : prise en charge de Safari sur macOS Big Sur avec la nouvelle API d'extension Web

Créé le 28 juin 2020  ·  16Commentaires  ·  Source: philc/vimium

avec Safari Web Extensions API, nous devrions être en mesure de prendre en charge Safari en utilisant la même base de code.

Ce serait très bien car les alternatives actuelles sur Safari n'ont pas la parité des fonctionnalités avec Vimium.

Liens:

https://developer.apple.com/documentation/safariservices/safari_web_extensions
https://developer.apple.com/videos/play/wwdc2020/10665/
https://hacks.mozilla.org/2020/06/welcoming-safari-to-the-webextensions-community/

Commentaire le plus utile

Salut les gens! Je suis le mainteneur (parfois absent) de Vimari , un portage Safari de Vimium. Vimari a été dérivé de la base de code Vimium il y a de nombreuses années et a principalement pris du retard sur les nouvelles fonctionnalités de Vimium. Je suis très enthousiasmé par la nouvelle prise en charge de Safari Web Extension, en théorie, cela nous permettrait d'unifier la base de code Vimari avec celle de Vimium (si vous le souhaitez). Je vois quelques opportunités de collaboration ici, en fonction de ce que les mainteneurs de Vimium aimeraient :

  • Ajoutez la prise en charge des extensions Web Safari à Vimium et demandez aux développeurs de Vimium de gérer les versions en dehors de l'App Store (les mises à jour ici seront plus difficiles)
  • Ajoutez la prise en charge des extensions Web Safari à Vimium et demandez aux développeurs de Vimium de gérer les versions sur l'App Store
  • Ajoutez la prise en charge des extensions Web Safari à Vimium et demandez aux développeurs de Vimari (actuellement moi) de gérer les versions sur l'App Store. Cela pourrait être renommé en Vimium si vous le souhaitez.
  • Si vous n'êtes pas intéressé par la prise en charge de Safari ou si vous souhaitez adopter une approche attentiste, Vimari crée un nouveau fork de la base de code Vimium pour créer un port compatible Safari, en apportant des correctifs en amont si possible et en exécutant nos propres versions via l'App Store
  • Vimari branche un nouveau fork de Vimium et crée simplement notre propre nouvelle base de code. C'est essentiellement ce qui a été fait il y a de nombreuses années et serait mon option la moins préférée.

Tous les 16 commentaires

Il nécessite un compte développeur Apple, ce qui signifie 99 dollars américains chaque année...

Y a-t-il de toute façon un don à l'effort de Vimium pour aider à couvrir le coût de quelque chose comme ça ? L'API Safari Web Extensions est probablement l'annonce de la WWDC qui m'a le plus excité, notamment à cause du potentiel de voir Vimium fonctionner.

Nous avons quelques options ici :

  1. Nous pouvons avoir des dons pour couvrir les frais. (Sponsor GitHub, etc.)
  2. Nous pouvons vendre l'application dans l'AppStore pour couvrir les coûts. Comme (lecteur sombre)
  3. Déployez avec le compte personnel de quelqu'un (je suis heureux de contribuer au mien car nous avons de toute façon besoin de nous inscrire au programme Apple Developer)
  4. Ne pas distribuer sur AppStore, et l'utilisateur peut soit le créer avec Xcode, soit créer sa propre méthode de distribution.

Ma seule préoccupation est que la prise en charge de l'API WebExtension de Safari n'est pas assez bonne pour vimium

Cela m'intéresse aussi. Actuellement, je travaille un peu sur Vimari, l'une des alternatives à Safari sur mon propre fork . Pendant que j'exécute la version bêta de macOS Big Sur, j'ai pu exécuter avec succès le convertisseur d'extension Web Safari sur le projet Vimium avec le résultat suivant :

$ xcrun safari-web-extension-converter ./vimium --project-location ./vimium-xcode
Xcode Project Location: ./vimium-xcode
App Name: Vimium
App Bundle Identifier: com.yourCompany.Vimium
Language: Swift
Is this correct? [yes]: yes
Warning: The following keys in your manifest.json are not supported by your current version of Safari. If these are critical to your extension, you should review your code to see if you need to make changes to support Safari:
        history
        clipboardRead
        match_about_blank
        bookmarks
        sessions
        notifications

Initialement, l'extension n'a pas pu être exécutée car il y avait une erreur dans le manifeste content_scripts sur la ligne 78 où la clé matches est définie pour content_scripts/file_urls.css .

"matches": ["file:///", "file:///*/"],

Je ne connais pas la base de code de Vimium, mais j'ai pensé que la suppression d'un fichier css du manifeste n'allait pas casser l'application, même si cela fonctionnait du tout, j'ai donc supprimé cette section du manifeste. Après cela, j'ai pu créer et activer l'extension dans Safari 14.

J'ai rencontré un problème où, lors de l'activation, Safari se bloque car il ne peut pas convertir quelque chose en niveaux de gris (probablement le logo, car tous les logos d'extension sont en niveaux de gris). L'icône de Vimium n'apparaît pas non plus dans Safari après un redémarrage.

Screenshot 2020-07-11 at 19 10 32

Screenshot 2020-07-11 at 19 30 26

Cependant, l'extension semble être activée et dans cette image suivante, vous pouvez voir tous les fichiers chargés par l'extension dans la page (comme cela se produirait pour Vimari) après avoir donné à l'outil les autorisations pour accéder au contenu du site Web.

Screenshot 2020-07-11 at 19 18 31

Cependant, malheureusement, aucune des fonctionnalités de Vimium ne semble fonctionner, je ne vois aucune erreur dans la console (Xcode ou Safari), il se peut donc qu'un appel initial ne soit pas effectué. S'il y a un intérêt à continuer sur cette voie pour obtenir une version fonctionnelle (peut-être pas avec toutes les fonctionnalités) de Vimium dans Safari, je serais prêt à passer un après-midi avec quelqu'un de plus familier avec la base de code Vimium pour essayer de l'obtenir travail.

Vimium doit posséder une page d'arrière-plan, donc les messages d'erreur peuvent être dans la console de la page bg, au lieu de la page d'options.

Tu avais raison, j'ai trouvé une erreur dans la page d'arrière-plan :

Screenshot 2020-07-11 at 20 50 17

Salut les gens! Je suis le mainteneur (parfois absent) de Vimari , un portage Safari de Vimium. Vimari a été dérivé de la base de code Vimium il y a de nombreuses années et a principalement pris du retard sur les nouvelles fonctionnalités de Vimium. Je suis très enthousiasmé par la nouvelle prise en charge de Safari Web Extension, en théorie, cela nous permettrait d'unifier la base de code Vimari avec celle de Vimium (si vous le souhaitez). Je vois quelques opportunités de collaboration ici, en fonction de ce que les mainteneurs de Vimium aimeraient :

  • Ajoutez la prise en charge des extensions Web Safari à Vimium et demandez aux développeurs de Vimium de gérer les versions en dehors de l'App Store (les mises à jour ici seront plus difficiles)
  • Ajoutez la prise en charge des extensions Web Safari à Vimium et demandez aux développeurs de Vimium de gérer les versions sur l'App Store
  • Ajoutez la prise en charge des extensions Web Safari à Vimium et demandez aux développeurs de Vimari (actuellement moi) de gérer les versions sur l'App Store. Cela pourrait être renommé en Vimium si vous le souhaitez.
  • Si vous n'êtes pas intéressé par la prise en charge de Safari ou si vous souhaitez adopter une approche attentiste, Vimari crée un nouveau fork de la base de code Vimium pour créer un port compatible Safari, en apportant des correctifs en amont si possible et en exécutant nos propres versions via l'App Store
  • Vimari branche un nouveau fork de Vimium et crée simplement notre propre nouvelle base de code. C'est essentiellement ce qui a été fait il y a de nombreuses années et serait mon option la moins préférée.

@danielcompton Je suis curieux de savoir si la 1ère idée est possible ou non - les développeurs sont-ils autorisés à charger une version de développement de Vimium sur Safari sans compte Apple ?

@danielcompton ravi de vous avoir ! Je suis très intéressé par le support de Safari. Parmi les options que vous avez présentées, la seconde est l'objectif. Je gère les versions sur le magasin Chrome et Firefox et je peux le faire sur l'App Store (j'ai un compte développeur actif).

Où commençons nous?

Safari 14 a été expédié publiquement. Quelqu'un a-t-il des problèmes ouverts pour lesquels il a besoin d'aide pour poursuivre cet effort ?

Salut. Je me demande s'il y a des progrès sur ce front.

J'utilise Vimium sur Chrome et j'aimerais également l'avoir dans Safari.

J'adorerais voir ça, Vimium est l'une des très rares raisons pour lesquelles j'utilise encore Chrome. J'adorerais passer à Safari et retrouver l'autonomie de ma batterie.

Salut. Je me demande s'il y a des progrès à ce sujet.

J'attendais d'utiliser vimium sur Safari.

J'utilise très bien Vimari dans Safari sur macOS Big Sur.

@philc @danielcompton y a-t-il des progrès/feuille de route ? pouvons-nous aider d'une manière ou d'une autre ?
J'adore que vimium veut embrasser la fusion de vimari ❤️
J'aimerais vraiment passer à safari pour la vitesse pure là-bas, mais sans la commande T (Rechercher dans vos onglets ouverts) je suis perdu xD

@philc @danielcompton y a-t-il des progrès/feuille de route ? pouvons-nous aider d'une manière ou d'une autre ?
J'adore que vimium veut embrasser la fusion de vimari ❤️
J'aimerais vraiment passer à safari pour la vitesse pure là-bas, mais sans la commande T (Rechercher dans vos onglets ouverts) je suis perdu xD

J'attends aussi le vimium pour Safari. Pour changer d'onglet ouvert, ce workflow Alfred peut peut-être vous aider : https://github.com/mandrigin/AlfredSwitchWindows

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Semro picture Semro  ·  3Commentaires

nick-s-b picture nick-s-b  ·  4Commentaires

devanshuDesai picture devanshuDesai  ·  4Commentaires

peter099 picture peter099  ·  3Commentaires

Poseiden picture Poseiden  ·  3Commentaires