Closed YousufSSyed closed 1 month ago
Hi there! Multi-instance launching is quite buggy on all platforms due to the way it works. I've tried making it bug-proof but as I can see it doesn't work.
I've just pushed a new build, which should hopefully fix it. If it doesn't could you launch the app with this command:
/Applications/AppleBlox.app/Contents/MacOS/bootstrap --window-enable-inspector=true
Then, right click the window and click "Inspect". From there you can access the logs and send me a screenshot of what happens when you press the MultiInstance button.
You want the console output? This is what I got after clicking "Enable multi instances" then "open instance twice"
Selected Element
• <div class="flex items-center">..</div> = $1
Terminating Roblox Process (PID: 38902)
{exitCode: 0, pid: 38916, stdErr: "'', stdOut: "''3
Terminating Roblox Process (PID: 38906)
{exitCode: 0, pid: 38917, stdErr: "", stdOut: "'''}
And this is the command line output:
/Applications/AppleBlox.app/Contents/MacOS/bootstrap --window-enable-inspector=true
INFO 2024-07-02 03:59:44,441 Attached window closer api/debug/debug.cpp:17 yousuf@unknown-host
RemoteLayerTreeDrawingAreaProxyMac::scheduleDisplayLink(): page has no displayID
2024-07-02 03:59:56.440 main[38849:1419969] NSWindow warning: adding an unknown subview: <WKInspectorWKWebView: 0x141013ad0>. Break on NSLog to debug.
2024-07-02 03:59:56.447 main[38849:1419969] Call stack:
(
0 AppKit 0x0000000191100ca8 -[NSThemeFrame addSubview:] + 116
1 AppKit 0x0000000191100808 -[NSView addSubview:positioned:relativeTo:] + 360
2 AppKit 0x000000019110061c -[NSThemeFrame addSubview:positioned:relativeTo:] + 52
3 WebKit 0x00000001b37e133c _ZN6WebKit19WebInspectorUIProxy14platformAttachEv + 392
4 WebKit 0x00000001b3a3a468 _ZN6WebKit19WebInspectorUIProxy4openEv + 384
5 WebKit 0x00000001b3e422e4 _ZN6WebKit19WebInspectorUIProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE + 588
6 WebKit 0x00000001b3f6a9d8 _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_7DecoderE + 272
7 WebKit 0x00000001b39a8c40 _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE + 44
8 WebKit 0x00000001b3f65104 _ZN3IPC10Connection15dispatchMessageEN3WTF9UniqueRefINS_7DecoderEEE + 332
9 WebKit 0x00000001b3f655c0 _ZN3IPC10Connection24dispatchIncomingMessagesEv + 568
10 JavaScriptCore 0x00000001abc29e6c _ZN3WTF7RunLoop11performWorkEv + 204
11 JavaScriptCore 0x00000001abc2ad94 _ZN3WTF7RunLoop11performWorkEPv + 36
12 CoreFoundation 0x000000018d5b86b8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
13 CoreFoundation 0x000000018d5b864c __CFRunLoopDoSource0 + 176
14 CoreFoundation 0x000000018d5b83b0 __CFRunLoopDoSources0 + 244
15 CoreFoundation 0x000000018d5b6fa4 __CFRunLoopRun + 856
16 CoreFoundation 0x000000018d5b65dc CFRunLoopRunSpecific + 608
17 HIToolbox 0x0000000198e9e8b8 RunCurrentEventLoopInMode + 292
18 HIToolbox 0x0000000198ea46a8 ReceiveNextEventCommon + 636
19 HIToolbox 0x0000000198ea480c _BlockUntilNextEventMatchingListInModeWithFilter + 76
20 AppKit 0x00000001910df6f0 _DPSNextEvent + 660
21 AppKit 0x00000001919e3530 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
22 AppKit 0x00000001910d27fc -[NSApplication run] + 480
23 main 0x0000000102ec21a0 _ZN7webview22cocoa_wkwebview_engine3runEv + 188
24 main 0x0000000102ec1b5c _ZN6window11controllers14__createWindowEv + 732
25 main 0x0000000102ec428c _ZN6window11controllers4initERKN8nlohmann16json_abi_v3_11_210basic_jsonINSt3__13mapENS4_6vectorENS4_12basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEbxydSA_NS2_14adl_serializerENS6_IhNSA_IhEEEEEE + 1832
26 main 0x0000000102e64cf8 _Z10__startAppv + 184
27 main 0x0000000102e65a28 main + 156
28 dyld 0x000000018d14f274 start + 2840
)
@OrigamingWasTaken How is multiple instances supposed to work? I think ideally it should keep a list of instance and what accounts are signed into them, and you could choose which one to launch. The functionality of it as is, is very unclear.
If you have any further instructions for me to troubleshoot or debug, I would them to be clear just so we are on the same page.
Multi-Instance is supposed to let you launch roblox multiple times, and then you can logout and choose a different account in an instance. I would gladly an option for launching with an account but I'm not sure of the security risks behind that.
Could you give me a bit more details? Like what Mac are you using, what OS version?
I've tested this feature on my Macbook Air M1, and another Macbook Air M2 that had never had AppleBlox installed on.
Could you try to install the nightly release (if you haven't already)?
Would it be possible to have copies of whatever configuration folders and files roblox has and have each instance point to different ones so you could launch instances without having to log out and log into other accounts?
I'm on an M1 Pro MBP with the 2nd macOS 15 Beta installed.
Yeah that's how I think it will work. Really my only concern is the safety behind this so I'll do some research.
Could you try the latest build, enable Multi-Instance and launch Roblox, then open the logs file from the Misc tab, and send the content of it here?
Appleblox.log
Terminating Roblox Process (PID: 38902)
{"exitCode":0,"pid":38916,"stdErr":"","stdOut":""}
Terminating Roblox Process (PID: 38906)
{"exitCode":0,"pid":38917,"stdErr":"","stdOut":""}
Terminating Roblox Process (PID: 43752)
{"exitCode":0,"pid":43769,"stdErr":"","stdOut":""}
Terminating Roblox Process (PID: 43760)
{"exitCode":1,"pid":43770,"stdErr":"/bin/sh: line 0: kill: (43760) - No such process\n","stdOut":""}
Terminating Roblox Process (PID: 43812)
{"exitCode":0,"pid":43823,"stdErr":"","stdOut":""}
Terminating Roblox Process (PID: 43814)
{"exitCode":0,"pid":43824,"stdErr":"","stdOut":""}
For the record, When I open a new instance it opens a new window with the same account.
What happens when you press the button? Does roblox open and close?
It just opens a new window, for example if I hit open instance twice, it opens two windows under the Roblox app icon
For the record, When I open a new instance it opens a new window with the same account.
Oh well currently that's the intended way. If you want to switch accounts, log out in the new window.
In a future (close) update, I'll implement multiple account handling. For now this is how it works 😅
oh lol
I'll label this trade as "enhancement". Also thanks for your input, that's very useful to me!
After a lot of consideration, I really don't want to handle the credentials of the users. If I leak or vulnerability would be found in AppleBlox, it would be a massive problem. For now I cannot implement multi-account as I'm not familiar with cybersecurity enough to be sure that my users are safe.
What if you added a disclaimer that there's a small risk of credentials getting leaked and show a popup letting users opt in if they want to?
What if you added a disclaimer that there's a small risk of credentials getting leaked and show a popup letting users opt in if they want to?
No sorry, I don't want this project to have a bad reputation and for the users to risk their accounts. If I find a contributor that has knowledge in security, I will implement this feature in the future.
Sounds good
It just launches the same instance. And will there be ways to manage instances, like what accounts each instance is logged in to?