I'm developing a ScreenSaverView which uses WKWebview internally.
This screensaver responsds to mouse events, and I'm using a helper app which is granted Accessibility permissions to watch mouseEvents and then serializes them to the Screen Saver, where they are recreated and send to the WKWebView.
This all works fine - the WKWebView can respond to mouseDown, mouseUp, MouseDrag, scrollWheel (etc.) events.
The one exception is that mouseMoved events are ignored.
I see a similar issue posted here: https://stackoverflow.com/questions/17057254/when-webview-is-added-to-a-specific-view-in-nswindow-hover-stops-working-how?rq=2 but that's from 2016 so not sure if it's relevant.
Things I've tried:
adding a NSTrackingArea to the WKWebView
setting the parent NSWindow.acceptsMouseEvents = true
Post
Replies
Boosts
Views
Activity
I updated my project (a Swift-based Screen Saver) from Xcode 14 to 15, and while the project works fine, I'm seeing a bunch of warnings during the link phase like this:
ld: warning: reexported library with install name
'/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis'
found at
'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis.tbd'
couldn't be matched with any parent library and will be linked directly
Am I doing something wrong?
Can I safely suppress these warnings?
Is there a Description key for an app to explain why it's requesting Accessibility permissions?
Hey @eskimo or anybody who can help, we are on 14.0 beta 7 and screensaver bugs with Sonoma are still happening. In this case the bug shows up one or more monitors, for screensavers that use WKWebView internally.
The WKWebView will render HTML and JavaScript, but only partially:
video tags don't play unless you goose them with a hack
JavaScript SetAnimationFrame() fails
JavaScript SetInterval() only fires about once per second
These issues affect many third-party screensavers which internally use a HTML/CSS/Javascipt engine.
reported as FB13094564
There are a bunch of other legacyScreenSaver issues with Sonoma that aren't WebKit-related as well, but most of those we have been able to find workarounds for.
Thanks!
Hey @eskmio or anybody who can help, we are on 13.3 RC and this multimonitor screensaver bug is still happening. It's affecting most (but not all) screensavers when run on a 2+ monitor system.
Relevant discussions:
https://forums.macrumors.com/threads/macos-13-3-rc-bug-fixes-changes-and-more.2384357/post-32056536
https://forums.macrumors.com/threads/multimonitor-screensaver-bug-in-ventura-13-3.2384444/
https://iscreensaver.com/forum/discussion/568/ventura-13-3-beta-bug-with-multimonitor-screensavers
https://github.com/JohnCoates/Aerial/issues/1286
Ventura 13.3 beta 2 seems to have a big problem with screensavers on multimonitor system. This affects some first-party Apple screensavers, and several third-party screensavers.
Reported as FB12023530
To reproduce:
on a M1 MacBook Air with a second monitor connected
open System Preferences / Screen Saver and select the Message Screen Saver
click the Preview button
Expected behavior: screen saver should run on both monitors
Actual behavior: screen saver runs on 2nd monitor only.
Actual behavior: the screen’s rectangle seems to be offset by about 100 pixels (as if the NSView is not set to the actual screen coordinates)
Regression:
this worked fine in 13.2
this also affects third party screensavers such as iScreensaver and Aerial
this doesn’t affect all first party Apple screensavers, e.g. “Hello” and “Flurry” work fine, but “Message” does not
In Beta 2 of Ventura 13.1 (22C5044e) I'm seeing consistent WebKit crashes:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGKILL)
Exception Codes: 0x0000000000000001, 0x00000001aebfe8d0
Termination Reason: Namespace PAC_EXCEPTION, Code 1
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 JavaScriptCore 0x1aebfe8d0 WTFCrashWithInfoImpl(int, char const*, char const*, int, unsigned long long) + 4
1 WebKit 0x1b53971dc WebKit::AuxiliaryProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::MessageName) + 612
2 WebKit 0x1b55b4b74 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 1424
3 WebKit 0x1b55b750c WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_13, void>::call() + 188
4 JavaScriptCore 0x1aec3fb90 WTF::RunLoop::performWork() + 200
5 JavaScriptCore 0x1aec408c8 WTF::RunLoop::performWork(void*) + 36
6 CoreFoundation 0x195493a18 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
7 CoreFoundation 0x1954939ac __CFRunLoopDoSource0 + 176
8 CoreFoundation 0x19549371c __CFRunLoopDoSources0 + 244
9 CoreFoundation 0x195492320 __CFRunLoopRun + 836
10 CoreFoundation 0x195491888 CFRunLoopRunSpecific + 612
11 Foundation 0x196399e58 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
12 Foundation 0x196412cf0 -[NSRunLoop(NSRunLoop) run] + 64
13 libxpc.dylib 0x19512f380 _xpc_objc_main + 860
14 libxpc.dylib 0x19512eca0 xpc_main + 108
15 WebKit 0x1b53c69ec WebKit::XPCServiceMain(int, char const**) + 256
16 dyld 0x19508be50 start + 2544
This is happening in an x64 app which is using WKWebView, running on a M1 mac. I'm not sure what is causing this, but I suspect it may have something to do with using the JavaScript function:
webkit.messageHandlers.javascriptToHost.postMessage();
Submitted as FB11786440
Anyone else seeing this?
Starting in Monterey 12.1 (Intel), our custom 3rd party screen saver is occasionally failing to work properly when in the Preview mode (e.g. the small sample window inside the Desktop & Screen Saver system preferences window).
If I turn on detailed logging, I see the following calls being made:
ScreenSaverView.Init ScreenSaverView.hasConfigureSheet ScreenSaverView.draw
However,
ScreenSaverView.StartAnimation ScreenSaverView.AnimateOneFrame
are never called
Oddly, this only happens when first opening the Desktop & Screen Saver window.
Because, if you:
start the screensaver (using the Preview button or a Hot Corner) then exit the screensaver
open the Screen Saver Options panel for this screensver then close it
switch to another screensaver then back...
Any of these actions will cause the screensaver preview to start working.
This sounds a little bit like what's beeing seen in https://github.com/JohnCoates/Aerial/issues/1190 which is a different 3rd party screensaver.
Warning: It appears that Security Update 2020-005 is causing trouble with Screen Savers which are built using the Swift Runtime.
Symptoms: after updating to Security Update 2020-005 on macOS 10.14 Mojave: Swift-built screensavers no longer funcion
You will get a blank screen when the screensaver activates the first time.
After the first time, the screensaver will revert to the default macOS screensaver
Attempts to view the screensaver in System Preferences / Desktop & Screen Saver will give a blank page
Crash logs indicate that the com.apple.preference.desktopscreeneffect.screeneffects.remoteservice process is crashing (see typical crash log below)
Regression Testing: This happens on macOS 10.14.6 with Security Update 2020-005. We do not know if it affects other versions of macOS
This affects personal or commercial screensavers built using iScreensaver ( iScreensaver.com ) but also seems to affect other screensavers such as the swift Clock.Saver found here: https://github.com/soffes/Clock.saver
Typical Crash Log:
Process:							 com.apple.preference.desktopscreeneffect.screeneffects.remoteservice [962]
Path:									/System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane/Contents/Resources/ScreenEffects.prefPane/Contents/XPCServices/com.apple.preference.desktopscreeneffect.screeneffects.remoteservice.xpc/Contents/MacOS/com.apple.preference.desktopscreeneffect.screeneffects.remoteservice
Identifier:						com.apple.preference.desktopscreeneffect.screeneffects.remoteservice
Version:							 1.0 (1)
Build Info:						DesktopScreenEffectsPref-229003000000000~20
Code Type:						 X86-64 (Native)
Parent Process:				??? [1]
Responsible:					 System Preferences [955]
User ID:							 507
Date/Time:						 2020-09-26 08:19:16.779 -0700
OS Version:						Mac OS X 10.14.6 (18G6032)
Report Version:				12
Anonymous UUID:				DA9B5F71-78EB-7DD2-F219-AF6A3A811FC1
Time Awake Since Boot: 1300 seconds
System Integrity Protection: enabled
Crashed Thread:				0	Dispatch queue: com.apple.main-thread
Exception Type:				EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:			 KERN_PROTECTION_FAILURE at 0x00007ffeef184ff8
Exception Note:				EXC_CORPSE_NOTIFY
Termination Signal:		Segmentation fault: 11
Termination Reason:		Namespace SIGNAL, Code 0xb
Terminating Process:	 exc handler [962]
VM Regions Near 0x7ffeef184ff8:
		MALLOC_SMALL					 00007fc640000000-00007fc640800000 [ 8192K] rw-/rwx SM=PRV	-> STACK GUARD						00007ffeeb985000-00007ffeef185000 [ 56.0M] ---/rwx SM=NUL	stack guard for thread 0
		Stack									00007ffeef185000-00007ffeef985000 [ 8192K] rw-/rwx SM=SHM	thread 0
Application Specific Signatures:
Clock
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0	 libsystem_malloc.dylib				 0x00007fff79a0fc95 malloc_zone_malloc + 99
1	 libsystem_malloc.dylib				 0x00007fff79a0fc99 malloc_zone_malloc + 103
2	 libsystem_malloc.dylib				 0x00007fff79a0fc99 malloc_zone_malloc + 103
3	 libsystem_malloc.dylib				 0x00007fff79a0fc99 malloc_zone_malloc + 103
4	 libsystem_malloc.dylib				 0x00007fff79a0fc99 malloc_zone_malloc + 103
[... this stack trace repeats for 511 entries ...]
This fails for me in Big Sur:
open System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane
The pane opens, but the list of screensavers is blank.
Has anyone found a way to work around this?
I've submitted this issue as FB8044776
My Mid 2013 MacBook Air should be compatible with Big Sur, I believe.
I've loaded the Developer Beta Access utility, after which I see "macOS Beta" on the Software Update panel. I click Upgrade Now. It downloads 9.56GB of files, and then afterwards shows a generic error message. I've tried this 3 times now.
Possible issues with my macbook air? it has an external USB ethernet dongle.
it has an external monitor
it's set up with BootCamp running Windows 10
It has 33.25GB of free drive space.
It was already running 10.15.6 beta 2.
Any ideas?
According to https://www.macrumors.com/2020/02/05/apple-seeds-macos-catalina-10-15-4-beta-1/we should be seeing the first beta of 10.15.4, but when I check Software Update I'm stuck on 10.15.3 (and it says "This mac is enrolled in the Apple Beta Software Program..."Anyone else seeing it?
Starting with Catalina Developer Beta 5, third-party screensavers are no longer able to receive and respond to keyboard and mouse events. Many third-party screensavers make use of this feature. The new behavior is clearly wrong - documentation for ScreenSaverView says that it is a NSView subclass, and thus we should be able to override keyboard and mouse events.Submitted as FB6916019
What's the best way to submit 10.13 bugs? Anyone had better luck using bugreport.apple.com vs. Feedback Assistant?
I'm trying to submit a bug report using Feedback on 10.13 beta 9. Each time I try, it fails with these sorts of errors in the log:error
06:59:18.740551 -0700
Feedback Assistant
dataForURLRequest: HTTP error [422] info {
data = <7b22646f 6d61696e 223a2263 6f6d2e61 70706c65 2e617070 6c657365 65642e73 65656470 6f727461 6c32222c 22657272 6f725f63 6f646522 3a313032 312c2264 65736372 69707469 6f6e223a 22596f75 7220616e 73776572 20697320 746f6f20 6c6f6e67 20666f72 20612074 65787420 61726561 2e222c22 7265636f 76657279 5f737567 67657374 696f6e22 3a22506c 65617365 206d616b 6520796f 75722061 6e737765 72732073 686f7274 65722e22 7d>;
response = "<NSHTTPURLResponse: 0x604000225a40> { URL: https://fba.apple.com/sp/feedback/form_responses/9313628/answers.json } { status code: 422, headers {\n ASRS = \"-bz-1, -proxy-1,apps2\";\n Cneonction = close;\n \"Content-Type\" = \"application/json; charset=utf-8\";\n Date = \"Fri, 15 Sep 2017 13:59:17 GMT\";\n Server = \"Apache/2.2.15 (Oracle)\";\n Status = \"422 Unprocessable Entity\";\n \"Strict-Transport-Security\" = \"max-age=31536000\";\n \"Transfer-Encoding\" = Identity;\n \"X-Frame-Options\" = SAMEORIGIN;\n \"X-Powered-By\" = \"Phusion
error
06:59:18.740836 -0700
Feedback Assistant
Remote FR save failed with error <private>
error
06:59:18.741073 -0700
Feedback Assistant
Error saving form response [9313628]: The operation couldn’t be completed. (HTTPErrorDomain error 422.)Is Feedback Assistant workfing for anyone else?