diff --git a/frontend/app/components/Client/Sites/NewSiteForm.tsx b/frontend/app/components/Client/Sites/NewSiteForm.tsx
index 3291f3218..66a31948e 100644
--- a/frontend/app/components/Client/Sites/NewSiteForm.tsx
+++ b/frontend/app/components/Client/Sites/NewSiteForm.tsx
@@ -141,7 +141,7 @@ const NewSiteForm = ({
},
{
value: 'ios',
- label: 'iOS',
+ label: 'Mobile',
},
]}
value={site.platform}
diff --git a/frontend/app/components/Dashboard/components/WidgetPreview/WidgetPreview.tsx b/frontend/app/components/Dashboard/components/WidgetPreview/WidgetPreview.tsx
index 0f235bb62..78f735502 100644
--- a/frontend/app/components/Dashboard/components/WidgetPreview/WidgetPreview.tsx
+++ b/frontend/app/components/Dashboard/components/WidgetPreview/WidgetPreview.tsx
@@ -53,7 +53,7 @@ function WidgetPreview(props: Props) {
diff --git a/frontend/app/components/Session/Player/ReplayPlayer/useShortcuts.ts b/frontend/app/components/Session/Player/ReplayPlayer/useShortcuts.ts
index f68c78be2..1b08c19a3 100644
--- a/frontend/app/components/Session/Player/ReplayPlayer/useShortcuts.ts
+++ b/frontend/app/components/Session/Player/ReplayPlayer/useShortcuts.ts
@@ -1,4 +1,6 @@
+import copy from 'copy-to-clipboard';
import { useContext, useEffect } from 'react';
+import { toast } from 'react-toastify';
import { PlayerContext } from 'Components/Session/playerContext';
import { SKIP_INTERVALS } from 'Components/Session_/Player/Controls/Controls';
@@ -23,8 +25,18 @@ function useShortcuts({
setActiveTab: (tab: string) => void;
disableDevtools?: boolean;
}) {
- const { player } = useContext(PlayerContext);
+ const { player, store } = useContext(PlayerContext);
+ const copySessionUrl = (withTs?: boolean) => {
+ if (withTs) {
+ const time = store.get().time;
+ const sessUrl = `${window.location.href}?jumpto=${time}`;
+ copy(sessUrl);
+ } else {
+ copy(window.location.href);
+ }
+ toast.success('Copied session url to clipboard');
+ };
const forthTenSeconds = () => {
player.jumpInterval(SKIP_INTERVALS[skipInterval]);
};
@@ -41,6 +53,7 @@ function useShortcuts({
) {
return false;
} else {
+ console.log(e);
// shift + f = fullscreenOn
if (e.shiftKey) {
e.preventDefault();
@@ -49,9 +62,13 @@ function useShortcuts({
case 'F':
return fullScreenOn();
case 'X':
- return disableDevtools ? null : toggleBottomBlock(blocks.overview);
+ return disableDevtools
+ ? null
+ : toggleBottomBlock(blocks.overview);
case 'P':
- return disableDevtools ? null : toggleBottomBlock(blocks.performance);
+ return disableDevtools
+ ? null
+ : toggleBottomBlock(blocks.performance);
case 'N':
return disableDevtools ? null : toggleBottomBlock(blocks.network);
case 'C':
@@ -59,11 +76,15 @@ function useShortcuts({
case 'R':
return disableDevtools ? null : toggleBottomBlock(blocks.storage);
case 'E':
- return disableDevtools ? null : toggleBottomBlock(blocks.stackEvents);
+ return disableDevtools
+ ? null
+ : toggleBottomBlock(blocks.stackEvents);
case '>':
return openNextSession();
case '<':
return openPrevSession();
+ case 'U':
+ return copySessionUrl(true);
case 'A':
player.pause();
return setActiveTab('EVENTS');
@@ -100,4 +121,4 @@ function useShortcuts({
}, [forthTenSeconds, backTenSeconds, player, fullScreenOn, fullScreenOff]);
}
-export default useShortcuts
+export default useShortcuts;
diff --git a/frontend/app/components/Session_/Player/Controls/components/KeyboardHelp.tsx b/frontend/app/components/Session_/Player/Controls/components/KeyboardHelp.tsx
index 0d15d581e..bf77e4ca4 100644
--- a/frontend/app/components/Session_/Player/Controls/components/KeyboardHelp.tsx
+++ b/frontend/app/components/Session_/Player/Controls/components/KeyboardHelp.tsx
@@ -36,6 +36,7 @@ function ShortcutGrid() {
Keyboard Shortcuts
+
|
|
|
|
diff --git a/frontend/app/components/shared/DevTools/NetworkPanel/WSModal.tsx b/frontend/app/components/shared/DevTools/NetworkPanel/WSModal.tsx
index 037af2d36..4a2e34c29 100644
--- a/frontend/app/components/shared/DevTools/NetworkPanel/WSModal.tsx
+++ b/frontend/app/components/shared/DevTools/NetworkPanel/WSModal.tsx
@@ -25,7 +25,7 @@ function WSModal({ socketMsgList }: Props) {
Length
Time
-
+
{socketMsgList.map((msg) => (
))}
diff --git a/tracker/tracker-assist/bun.lockb b/tracker/tracker-assist/bun.lockb
index c1bf88d0d..a0f9a9c42 100755
Binary files a/tracker/tracker-assist/bun.lockb and b/tracker/tracker-assist/bun.lockb differ
diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json
index dede59288..e6defdd0a 100644
--- a/tracker/tracker/package.json
+++ b/tracker/tracker/package.json
@@ -1,7 +1,7 @@
{
"name": "@openreplay/tracker",
"description": "The OpenReplay tracker main package",
- "version": "14.0.1-6",
+ "version": "14.0.0",
"keywords": [
"logging",
"replay"