Skip to content

RivetMSP 26.10.23: the Remote button opens the remote screen in a new tab

Choose a tag to compare

@TheTractorHacker TheTractorHacker released this 14 Oct 17:42
· 2 commits to master since this release

Deploy notes: back up the database, pull this tag, run the database update (Administration > Updates or php scripts/update_cli.php --update_db). RivetCore is now 1.0.0-rc.17 (the tracked vendor/rivet/rivet-core is the tag's git archive, so no composer install is needed). DB 2.6.94: Core migration 0026_rmm_mesh_hide adds two columns to endpoint_agent_mesh_settings (mesh_hide default 31, mesh_hide_tools empty); nothing else is touched. No cron change.

  • No MeshCentral screens around the session. The Remote button used to land on MeshCentral's own interface (header, device list, tabs). The URL now carries MeshCentral's hide parameter, as Tactical RMM's "Take control" does: the default hide=31 hides the masthead, top bar, footer, tab titles and the left bar with the device list, so only the device view is left. From MeshCentral's page source: bit 1 masthead, 2 top bar, 4 footer, 8 titles, 16 left bar, 32 back button.
  • It opens in a NEW tab, reliably. Browsers block a tab opened after an asynchronous request, so the tab could silently fail to open. The click now opens a blank tab immediately and sends it to the session when the launch call answers. If the launch fails the blank tab is closed and the reason is shown; if the browser refuses the tab an Open remote session link appears instead. A tab from an earlier launch is never reused (each launch has its own login token). Same for the Remote tab (Desktop, Terminal, Files), the legacy device page and the Tactical asset page.
  • Settings. Administration > Endpoint agent > MeshCentral: Hide MeshCentral interface elements (0 to 255, default 31; 31 = only the remote screen, 0 = the full MeshCentral and the old URL) and an optional value for Terminal and Files (empty = same; 0 allowed). Only shown once the database update has run.
  • MeshCentral does not connect by itself. From its source, nothing in the URL starts the connection: the new tab shows the Desktop view with MeshCentral's Connect button; click it once. The card says so.
  • Not verified on a live MeshCentral. The hide bits come from MeshCentral's page source (default.handlebars); the smoke runs against a mock Mesh server. See RivetCore's docs/rmm/REMOTE_AND_LOGS.md, "The Remote button", for the test to run on yours.
  • Tests: tests/rmm_ui_p68_remote.php (default hide on every view, the form, per-view values, 0 equals the old URL, refusals, a technician cannot change it, the helper is linked before the page scripts and nothing opens a tab after the async answer), new browser smoke tests/browser/rmm_rc17_remote_smoke.mjs (10 checks: a tab exists before the launch answers, the final URL has login, gotonode, viewmode=11 and hide=31, the tab cannot reach its opener, every click opens its own tab, the popup-blocked link, a failed launch closes the tab, hide 0, Terminal and Files, the admin card).