webcatalog / chromeless

Official Chromeless app
https://webcatalog.io/chromeless/
Mozilla Public License 2.0
96 stars 20 forks source link

Bug: Chromeless app either duplicated in dock, or launches window in the underlying browser engine's default browser. #79

Open torma616 opened 2 years ago

torma616 commented 2 years ago

Bug Report

Specifications:

Description: Pinning a Chromeless SSB to the dock (from /Applications/Chromeless Apps/, or "AppApp") works as expected, but clicking that icon in the dock to launch the SSB causes a dupe to appear (because the "AppApp" launches the .app in "AppApp"/Contents/Resources/, or "ResourceApp"). Once the app is open, the "AppApp" icon no longer has any function - clicking it does nothing. Pinning the "ResourceApp" to the dock instead and clicking it (when the Chromeless SSB isn't already running) launches a window in the default browser associated with the selected browser engine instead of the Chromeless SSB (when the Chromeless SSB is already running, it brings it to the front).

Expected Behavior: Chromeless SSB icon in Dock either brings to the front or directly launches the associated Chromeless SSB, depending on whether the app is already running or not. Launching an SSB from the dock should not launch a secondary app.

Steps to Reproduce:

  1. Drag a non-WebKit-engine Chromeless app (example: /Applications/Chromeless Apps/[App Name].app) to the dock.
  2. Click to launch (A second dock icon appears! Expected: Application launches from the icon you clicked.)
  3. Click any other open app in the dock to focus or click your desktop to focus Finder.
  4. Click the original icon you launched Chromeless SSB with (nothing happens. Expected: Window comes to front/focuses)
  5. Click the dupe SSB icon Chromeless added to the dock (window comes to front/focuses As Expected)
  6. Right-click the dupe SSB icon Chromeless added to the dock, and select Options > Keep In Dock
  7. Close the window Chromeless opened (but don't quit)
  8. Click the dupe SSB icon again (new window open using the Chromeless SSB name and comes to front As Expected).
  9. Quit the Chromeless SSB app.
  10. Click the dupe SSB icon that you "Kept in Dock" (Window opens in whatever underlying browser provided the engine for the chromeless SSB, chromeless SSB doesn't launch Expected: SSB launches)

Additional Context This just seems bad all around. Users have to decide to either A) pin the "AppApp" and "ResourceApp" to their docks so they can launch from one icon and interact with the other (half of which won't work as expected at any given point, and users will have to remember which one does which), B) pin only the "AppApp" and accept that Chromeless SSBs cannot be organized among other Dock icons (as when the "AppApp" is clicked, it will open a "ResourceApp" at the end of the dock) or C) pin only the "ResourceApp" and accept that Chromeless SSBs cannot be launched from the dock (I'm personally going with C, and I use Spotlight to actually launch the app.)

My Chromeless Install folder is set to something different from the default, if this might be affecting anything. Instead of /Applications/Chromeless Apps I have mine installed to ~/MyApps/

It's worth mentioning that this doesn't seem to happen with the Webkit engine (though the lack of WebExtension support and notifications there makes it rather incomparable with other Chromeless browser engines).

This might be related to what was documented in #20, #44, #59 and #64

jeannnemelanie commented 2 years ago

Same behaviour here with a Browser Instance (Google Chrome) created today with Chromeless v4.1.0. In my case, the Chromeless install folder is set to /Applications/Chromeless Apps.