Open nikitavoloboev opened 6 years ago
Oh and to add to this, it seems sVim alongside all other extensions will have to be rewritten with Cocoa instead of plain JavaScript. Hopefully that transition will not be too painful though.
Anyone wants to give a hand at porting sVim to Mojawe and new Safari?
I hit my tipping point a while ago with respect to Apple's treatment of software developers. Their changes to Safari plugins with Mojave is just more of the same, continuing past aggressive behavior like requiring us to pay $100 to release free plugins that benefit their ecosystem. Developing more software for their platforms is a mistake. But I do hope you find some folks who have less loathing toward Apple to help!
I agree with you @abrookins. But even knowing all this, Safari is still the best browser on macOS right now.
And I really need sVim to work there. I am going to try replicate this extension myself and hopefully it should be possible.
I'm not sure I'll ever be able to escape the Apple ecosystem. π Has anyone found an overview of the update we need to make? Am I correct that this needs to become an "App Extension"? https://developer.apple.com/documentation/safariservices/safari_app_extensions CC @nikitavoloboev
Yes it's correct.
It has to be rewritten as a whole basically.
I did a little experiment on this subject.
By exploring the official guide and the API, I found that we will lose some control to safari due to the lack of support from the API. For example, in the new API, I actually found nothing to control which tab to activate. It seems Apple made this new app extension more restricted.
The GUI for sVim setting and data storage may need to be redone in Swift.
The JS related functionalities can be migrated smoothly.
Interesting. Iβll study the guide again over the weekend.
After a cursory reading, it seems that we can still inject JS and CSS, so Iβm unclear how much would actually need to be rewritten.
On Sat, Sep 1, 2018 at 8:24 AM Chenyu Lu notifications@github.com wrote:
I did a little experiment on this subject.
By exploring the official guide and the API, I found that we will lose some control to safari due to the lack of support from the API. For example, in the new API, I actually found nothing to control which tab to activate. It seems Apple made this new app extension more restricted.
β You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/flipxfx/sVim/issues/94#issuecomment-417866765, or mute the thread https://github.com/notifications/unsubscribe-auth/AAF7nvT0TEslafBZ_0TODFn3QGEMl81Yks5uWqa_gaJpZM4U1Xfi .
@abrookins In my opinion, not so much. I have already a migrated version running on default settings and without control to safari tabs.
I have already a migrated version running on default settings and without control to safari tabs.
Can you make a fork or start a repo with it? I am planning to move to Mojawe when it gets released.
@nikitavoloboev I will commit it to a new branch on my fork.
If you push it up to a branch somewhere, Iβll test it with Mojave this weekend. Then maybe we can get an early Mojave beta out. Iβll probably renew my dev membership and we can use that to release (that is, if you wanted to contribute that code to sVim rather than fork the project). Also, awesome that you already jumped on the update @luchenyuxx!
On Sat, Sep 1, 2018 at 9:30 AM Chenyu Lu notifications@github.com wrote:
@nikitavoloboev https://github.com/nikitavoloboev I will commit it to a new branch on my fork.
β You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/flipxfx/sVim/issues/94#issuecomment-417870878, or mute the thread https://github.com/notifications/unsubscribe-auth/AAF7nicOEUi_bCdEHd8vxpftFOX1qentks5uWrYVgaJpZM4U1Xfi .
Iβll start looking at how to do the plugin settings.
Alright, I renewed, so now we have to release this thing. π
@abrookins @nikitavoloboev The migrated Xcode project: link. Use Xcode to open it. Follow the official guide to launch and use it in Safari.
Just to expand on this a bit, here are some of my thoughts:
I updated to Mojave and installed @luchenyuxx's branch. Great to see that hints and navigation work without too much rewriting.
We can adapt the JS portion of the app to send messages wherever it previously interacted directly with the JS Safari API. However, as @luchenyuxx noted already, the Swift/Obj-C Safari API exposed to the app code has less features than the JS API, so the app version of sVim will have less features, too.
Reading a bit closer on the Safari app extension timeline, it appears that Apple is deprecating support for side-loaded Safari extensions, but will still support versions of sVim released from the Safari Extensions Gallery, which sVim is currently. However, they will stop accepting gallery submissions at the end of 2018. So, for the immediate future and hopefully 2019, the plugin should continue to work in Mojave, if installed from the extensions gallery (and I've confirmed that it does in the Mojave beta).
Given all that, here's what I propose:
Before the end of the year, we make another release or two. That should get a couple of recent PRs merged and available in the build from the extensions gallery.
There will be a period of time, I suspect about 9 months (let's call it January 2019 - October 2019), while the extensions gallery is not accepting new submissions, and during which our last extensions gallery release should still be installable. During that time, we can work on releases of a new thing, "sVim2", in the app store.
Apple will eventually deprecate extensions gallery plugins completely, so our frozen version from 2018 will disappear. Whenever the happens, the new app version, sVim2, will already have been released and will become the only way to install sVim in Safari.
Is it possible to install @luchenyuxx fork officially somehow? I am not updating to Safari 12.0 until sVim is available there.
It's kinda buried in my wall of text, but the summary is that the current extension should work fine in Mojave. What's changing is that end of year, Apple will stop accepting updates to the extensions gallery. That is, we can't ship any updates to the extension. We'll then probably have the rest of 2019 to get the app version working, and I hope by then they have better Safari APIs available.
But the extension is not on Safari Extension List. It's downloaded from releases currently.
How can I install this extension on Safari 12.0?
Should be right here: https://safari-extensions.apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6
On Thu, Sep 20, 2018 at 12:30 AM Nikita Voloboev notifications@github.com wrote:
But the extension is not on Safari Extension List. It's downloaded from releases currently.
How can I install this extension on Safari 12.0?
β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flipxfx/sVim/issues/94#issuecomment-423072121, or mute the thread https://github.com/notifications/unsubscribe-auth/AAF7nuf9Ib8J1O3O_la30LsQpfHh7yIpks5uc0QugaJpZM4U1Xfi .
Is there any codebase I can look that has partial support of sVim features for new Safari?
Should be right here: https://safari-extensions.apple.com/details/?id=com.flipxfx.svim-6Q2K7JYUZ6 β¦
Can NOT find sVim...
Can NOT find sVim...
That's because that URL now redirects to the App Store and sVim hasn't been published there so far.
Can NOT find sVim...
That's because that URL now redirects to the App Store and sVim hasn't been published there so far.
Thanks. I spent some time to recover Safari 12 from TimeMachine for macOS 10.13.6, related files:
.
βββ Applications
β βββ Safari.app
βββ Library
β βββ Widgets
β βββ Web\ Clip.wdgt
βββ System
β βββ Library
β βββ Accounts
β β βββ Notification
β β βββ CloudBookmarksAccountsNotifier.bundle
β βββ CoreServices
β β βββ SafariSupport.bundle
β βββ Frameworks
β β βββ SafariServices.framework
β βββ LaunchAgents
β βββ Preferences
β β βββ Logging
β β βββ Subsystems
β β βββ com.apple.Safari.plist
β β βββ com.apple.SafariShared.plist
β βββ PrivateFrameworks
β β βββ SafariFoundation.framework
β βββ StagedFrameworks
β βββ Safari
β βββ JavaScriptCore.framework
β βββ Safari.framework
β βββ SafariShared.framework
β βββ WebCore.framework
β βββ WebDriver.framework
β βββ WebInspector.framework
β βββ WebInspectorUI.framework
β βββ WebKit.framework
β βββ WebKitLegacy.framework
β βββ libwebrtc.dylib
βββ usr
βββ share
βββ man
βββ man1
β βββ safaridriver.1
βββ man8
βββ SafariBookmarksSyncAgent.8
βββ SafariCloudHistoryPushAgent.8
βββ SafariHistoryServiceAgent.8
βββ SafariLaunchAgent.8
βββ SafariNotificationAgent.8
βββ SafariPlugInUpdateNotifier.8
βββ webinspectord.8
Hope it would be helpful. All related path comes from Safari12.1.2HighSierraAuto.pkg with tool Pacifist
Hey everyone!
Sorry I've neglected sVim so much these past years. It was something I was super excited about, life happened, I got busy, and didn't like the direction that Apple was going with their Safari extensions. I really do miss using sVim and I'm ready to get back at it, bite the bullet, and pay for an Apple developer license. This is my first time building an official Safari extension "the new way" so it'll take me a while to get it going, but I'm determined to get sVim up and running again. Also, from what I've seen with new extensions it might be better to just do a full rewrite, which will also add some time. While I can't give a timeline on when it'll be ready, I just wanted everyone to know I'll start back at it again soon π
@abrookins
While I can't give a timeline on when it'll be ready, I just wanted everyone to know I'll start back at it again soon π
Thank you π
Please do apply for GitHub Sponsors or create a Patreon. I am willing to donate to support this effort and pay off the license fee and development time. I am sure I am not alone. π
I'm ready to get back at it
Thanks so much. After sVim stopped working, I switch to Vimari, but it lacks my beloved gi
.
@flippidippi Iβve moved a lot of your extension into the new safari app extension in a branch of my fork. Youβre welcome to jump off of that!
@flippidippi Have you made any progress in making sVim available for Catalina? Would love to help you but not sure how. β₯οΈ
Someone mentioned there was a working fork of sVim with limited features. Anyone has a link?
@nikitavoloboev The only thing I've seen mentioned before in other issues is https://github.com/de-Blaxe/sVim, but the last commit is from around 10 months ago.
I would pay for sVim running on Safari 13 or can help covering the cost of the dev program, it's the only thing holding me back from upgrading to Catalina and running an old Safari version.
vimari has a Appstore version, but seems buggy to me, would be nice to have a Appstore version of sVim
Rossen K notifications@github.comδΊ2020εΉ΄1ζ25ζ₯ ε¨ε δΈε12:00ειοΌ
@nikitavoloboev https://github.com/nikitavoloboev The only thing I've seen mentioned before in other issues is https://github.com/de-Blaxe/sVim, but the last commit is from around 10 months ago.
I would pay for sVim running on Safari 13 or can help covering the cost of the dev program, it's the only thing holding me back from upgrading to Catalina and running an old Safari version.
β You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/flippidippi/sVim/issues/94?email_source=notifications&email_token=ADGMU4JAHFVAQP7ILTTQVZDQ7MGDHA5CNFSM4FGVO7RKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJ3H47Y#issuecomment-578190975, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADGMU4I7L7NZVB27QD44PEDQ7MGDHANCNFSM4FGVO7RA .
Vimari is not close to sVim at all. Can't even configure (rebind) keys.
I've just been busy with stuff, but maybe I can help around with the port until the creator comes back. The bulk of my port was just moving the old html/js into a Mac app extension and then fixing a few features that I had used frequently.
@de-Blaxe do you have telegram or somewhere I can message you?
I had some issues building your forked extension. And want to help you move the project forward with the migration.
Any update now? It seems many days passed...
Yes. I started working on it. But I got super annoyed with how development is in Xcode. Does anyone know if there's a way to update the Javascript/CSS without Cleaning/Rebuilding the app every time?
Have you seen Safari Web Extensions? https://developer.apple.com/videos/play/wwdc2020/10665/
That looks promising. Hopefully that will work better because the current developer experience is god awful. I gave up :/ I will look into this once I have the new OS.
Any update??
Unfortunately I no longer work on a Mac :/
After waiting so much time, I decide to switch to Chrome. Goodbye, Safari. Sad :(
I'm ready to get back at it
Thanks so much. After sVim stopped working, I switch to Vimari, but it lacks my beloved
gi
.
Vimari now support g i
as goToFirstInput
.
Sadly with new release of macOS Mojawe, non official Safari extensions will break.
I am planning to update my mac to Mojawe soon but I can't do it until I know that sVim is working in new Safari as I can't use the browser without this extension.
I know it'd dumb for developers having to pay 100 dollars just to release an extension in their store but perhaps if the community of users can donate to cover the costs of @flipxfx or someone else publishing the extension, it would be worth doing it.
What do you think?