Nariman Jelveh
fb9e7d70c6
Open apps from the embedded app browser at their own URL ( #4510 )
...
* Open apps from the embedded app browser at their own URL
Selecting an app in the /embed/apps browser now opens it in a new tab at
its index_url, with the same launch params the dashboard's tab launch
uses, instead of the GUI's /app/<name> landing. The tab is opened inside
the click and without noopener; the app's SDK asks the embed for its
token through the opener, so the token stays out of the URL.
Apps that need the desktop (built-in and godmode apps, private apps the
user can't open, or a failed token request) still open /app/<name>, with
the tab's opener cleared. Website shortcuts are unchanged.
The app URL, the app token request and the /rao report move out of
launch_app into helpers without desktop globals (appLaunchUrl.js,
appLaunchApi.js), so launch_app and the embed build the same URL.
uuidv4 moves to a helper the embed can import.
* Tag app launches with utm_medium and a utm_campaign naming the launch surface
Apps now get utm_medium=referral and utm_campaign=desktop, dashboard, or
app_browser_embed alongside utm_source=puter.com, so their analytics can
tell where in Puter they were opened from.
2026-11-05 20:31:30 -07:00
..
2026-08-24 14:08:37 -07:00
2026-10-20 16:16:20 -07:00
2026-10-20 16:16:20 -07:00
2026-09-03 13:32:55 -07:00
2026-09-03 13:32:55 -07:00
2026-11-05 20:31:30 -07:00
2026-11-05 20:31:30 -07:00
2026-11-05 20:31:30 -07:00
2026-08-26 17:06:25 -04:00
2026-11-05 20:31:30 -07:00
2026-11-05 20:31:30 -07:00
2026-10-08 23:59:33 -07:00
2026-10-08 23:59:33 -07:00
2026-10-01 11:09:04 -04:00
2026-10-01 11:09:04 -04:00
2026-09-21 22:33:38 +07:00
2026-09-21 22:33:38 +07:00
2026-10-20 17:12:13 -07:00
2026-10-20 17:12:13 -07:00
2026-08-25 10:49:59 -04:00
2026-09-15 13:07:43 -07:00
2026-09-15 13:07:43 -07:00
2026-09-21 15:56:39 -04:00
2026-09-21 15:56:39 -04:00
2026-09-25 14:19:35 -07:00
2026-09-25 14:19:35 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-11-04 16:45:56 -07:00
2026-11-04 16:45:56 -07:00
2026-10-25 18:59:24 -07:00
2026-10-25 18:59:24 -07:00
2026-10-14 06:56:44 -07:00
2026-10-14 06:56:44 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-01 14:29:59 -07:00
2026-10-25 21:34:39 -07:00
2026-10-25 21:34:39 -07:00
2026-09-04 17:32:57 -07:00
2026-09-04 17:32:57 -07:00
2026-09-08 21:39:19 -04:00
2026-09-08 21:39:19 -04:00
2026-08-01 14:29:59 -07:00
2026-10-26 17:21:35 -07:00
2026-09-08 19:16:21 -07:00
2026-09-08 19:16:21 -07:00
2026-11-05 19:27:46 -07:00
2026-11-05 19:27:46 -07:00
2026-10-14 06:56:44 -07:00
2026-08-25 10:49:59 -04:00
2026-08-01 14:29:59 -07:00
2026-10-20 17:12:13 -07:00
2026-10-20 17:12:13 -07:00
2026-09-21 15:00:02 -04:00
2026-09-21 15:00:02 -04:00
2026-10-12 17:39:09 -04:00
2026-10-12 17:39:09 -04:00
2026-08-25 10:49:59 -04:00
2026-11-05 20:31:30 -07:00
2026-11-05 20:31:30 -07:00
2026-10-19 10:50:36 -07:00
2026-10-19 10:50:36 -07:00
2026-08-25 10:49:59 -04:00
2026-10-23 15:24:02 -07:00
2026-10-30 22:52:27 -07:00
2026-11-05 14:43:33 -07:00
2026-11-05 14:43:33 -07:00
2026-10-27 14:17:57 -04:00
2026-10-27 14:17:57 -04:00
2026-11-05 19:27:46 -07:00
2026-11-05 19:27:46 -07:00
2026-10-20 15:33:12 -07:00
2026-10-20 15:33:12 -07:00
2026-09-30 15:28:02 -04:00
2026-09-30 15:28:02 -04:00
2026-10-26 16:45:28 -04:00
2026-10-26 16:45:28 -04:00
2026-08-25 10:49:59 -04:00
2026-08-01 14:29:59 -07:00
2026-09-15 21:06:12 -07:00
2026-10-24 15:05:56 -07:00
2026-10-24 15:05:56 -07:00
2026-10-24 19:05:54 -07:00
2026-10-24 19:05:54 -07:00
2026-10-25 21:34:39 -07:00
2026-10-27 16:48:07 -04:00
2026-10-27 16:48:07 -04:00
2026-10-30 14:43:48 -07:00
2026-10-30 14:43:48 -07:00
2026-11-05 14:43:33 -07:00
2026-11-05 14:43:33 -07:00
2026-10-26 22:06:16 -07:00
2026-10-26 22:06:16 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-10-13 12:43:45 -04:00
2026-10-13 08:53:55 -07:00
2026-09-17 13:54:03 -07:00
2026-09-17 13:54:03 -07:00
2026-09-15 21:06:12 -07:00
2026-08-25 10:49:59 -04:00
2026-08-29 01:43:40 -07:00
2026-08-26 10:56:10 -04:00
2026-10-23 15:24:02 -07:00
2026-10-23 15:24:02 -07:00
2026-08-26 17:06:25 -04:00
2026-08-26 17:06:25 -04:00
2026-08-26 11:57:05 -04:00
2026-08-26 11:57:05 -04:00
2026-09-19 12:57:57 -07:00
2026-09-19 12:57:57 -07:00
2026-10-15 23:49:17 -07:00
2026-10-15 23:49:17 -07:00
2026-10-24 19:01:05 -07:00
2026-10-24 19:01:05 -07:00
2026-09-17 13:54:03 -07:00
2026-09-17 13:54:03 -07:00
2026-09-17 13:54:03 -07:00
2026-09-17 13:54:03 -07:00
2026-09-23 14:47:34 -07:00
2026-09-23 14:47:34 -07:00
2026-08-01 14:29:59 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-10-16 23:45:04 -07:00
2026-10-16 23:45:04 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-10-23 15:24:02 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00
2026-10-26 16:45:28 -04:00
2026-11-05 20:31:30 -07:00
2026-09-15 21:06:12 -07:00
2026-09-15 21:06:12 -07:00
2026-10-15 02:02:00 -04:00
2026-10-15 02:02:00 -04:00
2026-08-01 14:29:59 -07:00
2026-10-28 10:06:55 -04:00
2026-10-28 01:05:36 -07:00
2026-08-25 10:49:59 -04:00
2026-08-25 10:49:59 -04:00