-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Disable WebView's cache #747
Conversation
Fix MacDownApp#746 image cache issue
Created PR #748 with commit implementing what I mentioned in the side note above |
Oooooh this is nice. How did you even find this API? |
@uranusjr googling. Lots of googling 😊 I found it mentioned somewhere. |
Man, why would this API be private at all?! |
@FranklinYu there are public APIs for managing the cache of |
If that's the case, this gets convoluted only because we try to support Mountain Lion and Mavericks? |
Yes. |
For issue MacDownApp#747, a change was introduced that uses private API to disable caching on the preview pane's web view. This was ostensibly to make it so that if images referenced in the markdown document are changed on disk, their changes are reflected in the preview pane. Unfortunately, perhaps due to some underlying changes to WebKit/WebView, disabling caching will also disable caching for all sorts of other things like stylesheets and the base html document loaded from disk. This results in a momentary flash of empty content if one is typing quickly. Reverting the changes for MacDownApp#747 resolves the flashing issue, but does regress the issue regarding images being persistently cached. However, the flashing issue appears to be bothering more people than the image issue, so I believe it would be appropriate to temporarily regress the image caching bug to resolve the flashing bug. Supposedly, a plan exists to migrate to WKWebView, which would hopefully resolve both of these issues simultaneously.
For issue MacDownApp#747, a change was introduced that uses private API to disable caching on the preview pane's web view. This was ostensibly to make it so that if images referenced in the markdown document are changed on disk, their changes are reflected in the preview pane. Unfortunately, perhaps due to some underlying changes to WebKit/WebView, disabling caching will also disable caching for all sorts of other things like stylesheets and the base html document loaded from disk. This results in a momentary flash of empty content if one is typing quickly. Reverting the changes for MacDownApp#747 resolves the flashing issue, but does regress the issue regarding images being persistently cached. However, the flashing issue appears to be bothering more people than the image issue, so I believe it would be appropriate to temporarily regress the image caching bug to resolve the flashing bug. Supposedly, a plan exists to migrate to WKWebView, which would hopefully resolve both of these issues simultaneously.
For issue MacDownApp#747, a change was introduced that uses private API to disable caching on the preview pane's web view. This was ostensibly to make it so that if images referenced in the markdown document are changed on disk, their changes are reflected in the preview pane. Unfortunately, perhaps due to some underlying changes to WebKit/WebView, disabling caching will also disable caching for all sorts of other things like stylesheets and the base html document loaded from disk. This results in a momentary flash of empty content if one is typing quickly. Reverting the changes for MacDownApp#747 resolves the flashing issue, but does regress the issue regarding images being persistently cached. However, the flashing issue appears to be bothering more people than the image issue, so I believe it would be appropriate to temporarily regress the image caching bug to resolve the flashing bug. Supposedly, a plan exists to migrate to WKWebView, which would hopefully resolve both of these issues simultaneously.
Fix #746 image cache issue. Using private API
[WebCache setDisabled:YES]
to disabled the cache ofWebView
. The cache should be disabled, right? Or is there any reason for keeping it enabled?Feel so so about using private API. Kinda okay since MacDown isn't in the app store. A long term solution is probably what @uranusjr suggested in the #746 comments - migrating to using
WKWebView
instead ofWebView
. That might solve this issue as well.With this fix image will be reloaded when reloading preview or removing and re-adding the image markdown.
Side note: Another small nice feature might be to trigger a reload of the preview when MacDown enters foreground? Then changes made to images in another application would automatically be updated when returning to MacDown.