openreplay/tracker
Delirium 2ed4bba33e
feat(tracker/ui): support for multi tab sessions (#1236)
* feat(tracker): add support for multi tab sessions

* feat(backend): added support of multitabs

* fix(backend): added support of deprecated batch meta message to pre-decoder

* fix(backend): fixed nil meta issue for TabData messages in sink

* feat(player): add tabmanager

* feat(player): basic tabchange event support

* feat(player): pick tabstate for console panel and timeline

* fix(player): only display tabs that are created

* feat(player): connect performance, xray and events to tab state

* feat(player): merge all tabs data for overview

* feat(backend/tracker): extract tabdata into separate message from batchmeta

* fix(tracker): fix new session check

* fix(backend): remove batchmetadeprecated

* fix(backend): fix switch case

* fix(player): fix for tab message size

* feat(tracker): check for active tabs with broadcast channel

* feat(tracker): prevent multiple messages

* fix(tracker): ignore beacons from same tab, only ask if token isnt present yet, add small delay before start to wait for answer

* feat(player): support new msg struct in assist player

* fix(player): fix some livepl components for multi tab states

* feat(tracker): add option to disable multitab

* feat(tracker): add multitab to assist plugin

* feat(player): back compat for tab id

* fix(ui): fix missing list in controls

* fix(ui): optional list update

* feat(ui): fix visuals for multitab; use window focus event for tabs

* fix(tracker): fix for dying tests (added tabid to writer, refactored other tests)

* feat(ui): update LivePlayerSubHeader.tsx to support tabs

* feat(backend): added tabs support to devtools mob files

* feat(ui): connect state to current tab properly

* feat(backend): added multitab support to assits

* feat(backend): removed data check in agent message

* feat(backend): debug on

* fix(backend): fixed typo in message broadcast

* feat(backend): fixed issue in connect method

* fix(assist): fixed typo

* feat(assist): added more debug logs

* feat(assist): removed one log

* feat(assist): more logs

* feat(assist): use query.peerId

* feat(assist): more logs

* feat(assist): fixed session update

* fix(assist): fixed getSessions

* fix(assist): fixed request_control broadcast

* fix(assist): fixed typo

* fix(assist): added missed line

* fix(assist): fix typo

* feat(tracker): multitab support for assist sessions

* fix(tracker): fix dead tests (tabid prop)

* fix(tracker): fix yaml

* fix(tracker): timers issue

* fix(ui): fix ui E2E tests with magic?

* feat(assist): multitabs support for ee version

* fix(assist): added missed method import

* fix(tracker): fix fix events in assist

* feat(assist): added back compatibility for sessions without tabId

* fix(assist): apply message's top layer structure before broadcast call

* fix(assist): added random tabID for prev version

* fix(assist): added random tabID for prev version (ee)

* feat(assist): added debug logs

* fix(assist): fix typo in sessions_agents_count method

* fix(assist): fixed more typos in copy-pastes

* fix(tracker): fix restart timings

* feat(backend): added tabIDs for some events

* feat(ui): add tab change event to the user steps bar

* Revert "feat(backend): added tabIDs for some events"

This reverts commit 1467ad7f9f.

* feat(ui): revert timeline and xray to grab events from all tabs

* fix(ui): fix typo

---------

Co-authored-by: Alexander Zavorotynskiy <zavorotynskiy@pm.me>
2023-06-07 10:40:32 +02:00
..
.husky feat(tracker): linting hook for tracker 2022-07-25 12:21:06 +02:00
tracker feat(tracker/ui): support for multi tab sessions (#1236) 2023-06-07 10:40:32 +02:00
tracker-assist feat(tracker/ui): support for multi tab sessions (#1236) 2023-06-07 10:40:32 +02:00
tracker-axios fix(tracker-fetch;tracker-axios):prevent multiple plugin use on the same app/axios instance 2022-12-16 12:10:14 +01:00
tracker-fetch fix(tracker): fix typo 2023-02-17 13:04:00 +01:00
tracker-graphql change(tracker): update tracker peerdep for plugins; versions: assist v4.0.1, axios v3.6.1, fetch v3.6.1, graphql v3.0.1, mobx v3.0.1, ngrx v3.4.9, profiler v3.0.1, redux v3.5.1, vuex v4.0.2 2022-09-13 12:32:35 +02:00
tracker-mobx fix(tracker): drop functions and methods from state in mobx 2023-05-24 17:09:20 +02:00
tracker-ngrx change(tracker): update tracker peerdep for plugins; versions: assist v4.0.1, axios v3.6.1, fetch v3.6.1, graphql v3.0.1, mobx v3.0.1, ngrx v3.4.9, profiler v3.0.1, redux v3.5.1, vuex v4.0.2 2022-09-13 12:32:35 +02:00
tracker-profiler change(tracker): update tracker peerdep for plugins; versions: assist v4.0.1, axios v3.6.1, fetch v3.6.1, graphql v3.0.1, mobx v3.0.1, ngrx v3.4.9, profiler v3.0.1, redux v3.5.1, vuex v4.0.2 2022-09-13 12:32:35 +02:00
tracker-redux change(tracker): update tracker peerdep for plugins; versions: assist v4.0.1, axios v3.6.1, fetch v3.6.1, graphql v3.0.1, mobx v3.0.1, ngrx v3.4.9, profiler v3.0.1, redux v3.5.1, vuex v4.0.2 2022-09-13 12:32:35 +02:00
tracker-testing-playground fix(tracker): fix thrashing detection, remove unused files from testing playground 2023-04-07 16:08:07 +02:00
tracker-vuex change(tracker): tracker-vuex 4.0.3 2022-09-27 16:45:11 +02:00
tracker-zustand change(tracker): restart worker if its dead; fix zustand peer d version 2023-03-13 10:36:39 +01:00
.gitignore Chore(release): v1.7.0 (#578) 2022-07-07 18:44:43 +02:00
README.md change(ui): add small note to readme 2022-10-20 11:32:35 +02:00

Local build

In order to build locally any of the javascript packages located under this directory, go to the corresponding folder first:

cd tracker	# or any tracker-* plugin

Then run

yarn
yarn build

OR

npm i
npm run build

You can then use it as a local javascript package by executing the folowing line under your local project location:

yarn add file:../path/to/openreplay/monorepo/tracker/tracker

OR

npm install --save ../path/to/openreplay/monorepo/tracker/tracker

Contributing notes

Please use dev branch as base and target branch.