AppleBlox / appleblox

Lightweight Roblox launcher for MacOS
https://appleblox.com/
GNU General Public License v3.0
41 stars 6 forks source link

Does launching multiple instances work? It doesn't work for me #1

Closed YousufSSyed closed 1 month ago

YousufSSyed commented 4 months ago

It just launches the same instance. And will there be ways to manage instances, like what accounts each instance is logged in to?

OrigamingWasTaken commented 4 months 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.

YousufSSyed commented 4 months ago

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
)
YousufSSyed commented 4 months ago

@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.

OrigamingWasTaken commented 4 months ago

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)?

YousufSSyed commented 4 months ago

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.

OrigamingWasTaken commented 4 months ago

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?

YousufSSyed commented 4 months ago

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":""}
YousufSSyed commented 4 months ago

For the record, When I open a new instance it opens a new window with the same account.

OrigamingWasTaken commented 4 months ago

What happens when you press the button? Does roblox open and close?

YousufSSyed commented 4 months ago

It just opens a new window, for example if I hit open instance twice, it opens two windows under the Roblox app icon

OrigamingWasTaken commented 4 months ago

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 😅

YousufSSyed commented 4 months ago

oh lol

OrigamingWasTaken commented 4 months ago

I'll label this trade as "enhancement". Also thanks for your input, that's very useful to me!

OrigamingWasTaken commented 1 month ago

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.

YousufSSyed commented 1 month ago

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?

OrigamingWasTaken commented 1 month ago

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.

YousufSSyed commented 1 month ago

Sounds good