Commit graph

662 commits

Author SHA1 Message Date
Delirium
9e1add4ad9
feat(tracker/ui): add websocket support (#1733)
* feat(tracker/ui): add websocket support

* feat(tracker): expose ws tracker method

* fix(ui): add docs, fix types for ws methods

* fix(ui): some style fixes, rename field in mob

* fix(ui): change ws modal

* fix(ui): change ws modal

* fix(ui): rm mock data
2024-01-03 15:54:18 +01:00
Alexander
7284818af9 feat(backend): added isOffline parameter to startRequest 2023-12-20 17:29:45 +01:00
Alexander
f8a8dfa459
[Integrations] small refactoring (#1752)
* feat(backend): small refactoring in integrations

* feat(backend): ignore context timeout error
2023-12-14 11:28:05 +01:00
Alexander
1c6290a312
Small http fixes (#1767)
* fix(backend): removed issue with beta versions of tracker

* feat(backend): added filter for getUxTest request
2023-12-11 15:19:25 +01:00
Alexander
7e8de3cb1d feat(backend): added new arg to start request for condrecs 2023-12-08 16:56:35 +01:00
Alexander
68ead7292e feat(backend): removed ua insert from session module 2023-12-07 11:12:00 +01:00
Kraiem Taha Yassine
7368072db2
Revert "chore(api): asyncify GET /projects, and propagate (#1701)" (#1747)
This reverts commit 23015f5567.

Co-authored-by: ⵄⵎⵉⵔⵓⵛ <amirouche.boubekki@gmail.com>
2023-12-06 16:15:50 +01:00
ⵄⵎⵉⵔⵓⵛ
23015f5567
chore(api): asyncify GET /projects, and propagate (#1701)
* [Backend] Canvas support (#1705)

* feat(http): added new parameters to start response and new endpoint for canvas screenshorts

* fix(http): added new topic to dockerfile

* feat(http): try different multipart parser

* feat(image-storage): reused the same workflow for canvas topic handler

* feat(video-storage): new canvas parser and ffmpeg script

* feat(video-storage): use correct replay name for canvas

* feat(backend): added new message (CanvasNode)

* feat(backend): add canvas record events to db

* Async chalice.core.tenants:tenants_exists, and propagate

* rework after review

* chore(api): asyncify `/projects` and propagate.

Impact on the following routes:

  /projects
  /v1/projects
  /passowrd/reset
  /metadata/session_search

* fix(api): there is no cnx.mogrify method.

In psycopg v3, the mogrify method is only available on cursor objects.

In other words, just use cnx.execute(query, kwargs), except when
opening an "explicit cursor session".

ref: https://www.psycopg.org/psycopg3/docs/api/cursors.html#psycopg.ClientCursor.mogrify

---------

Co-authored-by: Alexander <zavorotynskiy@pm.me>
2023-12-06 16:09:55 +01:00
Alexander
552c7e77e1 feat(backend): removed debug logs from videostorage 2023-12-06 12:22:29 +01:00
Alexander
746222d729 feat(backend): insert null comment to ux_test_signal is string is empty 2023-12-04 17:28:03 +01:00
Alexander
a68351d509
[Backend] Zstd support for mob files (#1732)
* feat(backend): added zstd compression support to storage service

* feat(backend): try to ignore content-encoding for zstd compression
2023-12-04 16:00:59 +01:00
Alexander
d2eda3a54e feat(backend/uxtesting): insert NULL when duration <= 0 2023-12-01 17:38:11 +01:00
Alexander
ea782e76a7 feat(backend): added projectID check for getUXTest endpoint (add missing file) 2023-12-01 14:36:22 +01:00
Alexander
3de478650e feat(backend): added projectID check for getUXTest endpoint 2023-12-01 14:30:10 +01:00
rjshrjndrn
00b144da00 fix(build): muti-arch build
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-11-30 15:52:24 +01:00
rjshrjndrn
bca4b25e64 refactor(build): support multi-arch
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-11-30 15:46:28 +01:00
Alexander
ee6ddbb6cb feat(backend): tune go build command to use prebuilt kafka lib 2023-11-30 10:37:13 +01:00
Alexander
53a681e132 feat(backend): added missing pkgconfig to Dockerfile 2023-11-30 10:19:08 +01:00
Alexander
5a66a6b5c3 feat(backend): added env variables for canvas configuration 2023-11-29 13:29:21 +01:00
Alexander
d49a377110 feat(backend): returned ua to sessions table because of sql constraints 2023-11-28 12:31:20 +01:00
Alexander
6379f053ec feat(backend): removed unused UA field from session insert 2023-11-28 11:49:08 +01:00
Alexander
636df78a20 feat(backend): removed duplicate code in sink message iterator 2023-11-28 11:23:36 +01:00
ⵄⵎⵉⵔⵓⵛ
6ae3ee1927
Canvas support (#1711)
* feat(http): added new parameters to start response and new endpoint for canvas screenshorts

* fix(http): added new topic to dockerfile

* feat(http): try different multipart parser

* feat(image-storage): reused the same workflow for canvas topic handler

* feat(video-storage): new canvas parser and ffmpeg script

* feat(video-storage): use correct replay name for canvas

* feat(backend): added new message (CanvasNode)

* feat(backend): add canvas record events to db

* feat(backend): implemented missing new method for azure

---------

Co-authored-by: Alexander <zavorotynskiy@pm.me>
2023-11-27 16:22:03 +01:00
ⵄⵎⵉⵔⵓⵛ
f321fccc11
Ux testing backend (#1709)
* feat(backend): added ux-testing support

* feat(backend): added ux-testing module

* feat(http): added bucket name for http service

* feat(backend): fixed small typos in http router

---------

Co-authored-by: Alexander <zavorotynskiy@pm.me>
2023-11-27 15:58:36 +01:00
Alexander
5040bf9480 feat(backend): removed userAgent from sessions and unstarted-sessions tables 2023-11-24 10:25:17 +01:00
Alexander
b3edc88ed3 feat(backend): added ARM arch support to backend services [Dockerfile] 2023-11-24 10:09:06 +01:00
Delirium
07046cc2fb
feat: canvas support [assist] (#1641)
* feat(tracker/ui): start canvas support

* feat(tracker): slpeer -> peerjs for canvas streams

* fix(ui): fix agent canvas peer id

* fix(ui): fix agent canvas peer id

* fix(ui): fix peer removal

* feat(tracker): canvas recorder

* feat(tracker): canvas recorder

* feat(tracker): canvas recorder

* feat(tracker): canvas recorder

* feat(ui): canvas support for ui

* fix(tracker): fix falling tests

* feat(ui): replay canvas in video

* feat(ui): refactor video streaming to draw on canvas

* feat(ui): 10hz check for canvas replay

* feat(ui): fix for tests

* feat(ui): fix for tests

* feat(ui): fix for tests

* feat(ui): fix for tests cov

* feat(ui): mroe test coverage

* fix(ui): styling

* fix(tracker): support backend settings for canvas
2023-11-21 11:22:54 +01:00
Alexander
d573d5ad97 feat(backend): removed commented code from mobile imageHandler 2023-11-09 16:00:42 +01:00
Alexander
55b6e650f9 fix(backend): upgraded go.mod file to fix security issue in golang/net 2023-11-08 17:51:13 +01:00
Alexander
21180be3a6 fix(backend): added missing UpdateReferrer method call 2023-11-08 15:36:12 +01:00
Alexander
fd9e493038 fix(backend): fixed online sessions metric issue in ender service 2023-11-08 12:49:23 +01:00
Alexander
bd434ae7a9 fix(backend): added missing Timezone to getSession method 2023-11-08 10:00:39 +01:00
Alexander
a93848a40a fix(backend): removed debug log from heuristics 2023-11-06 11:12:17 +01:00
Alexander
dd8050aaa2 feat(backend): fixed possible panic in ender 2023-10-30 17:40:41 +01:00
Alexander
f569ed3a54 feat(backend): downgrade pg library version to fix feature flags 500 error 2023-10-30 14:00:46 +01:00
Delirium
35461acaf3
[WIP] Mobile replayer (#1452)
* fix(ui): fix up mobile recordings display

* fix(ui): some messages

* fix(ui): some messages

* fix(player): fix msg generation for ios messages

* feat(player): add generic mmanager interface for ios player impl

* feat(player): mobile player and message manager; touch manager; videoplayer

* feat(player): add iphone shells, add log panel,

* feat(player): detect ios sessions and inject correct player

* feat(player): move screen mapper to utils

* feat(player): events panel for mobile, map shell sizes to device type data,

* feat(player): added network tab to mobile player; unify network message (ios and web)

* feat(player): resize canvas up to phone screen size, fix capitalize util

* feat(player): some general changes to support mobile events and network entries

* feat(player): remove swipes from timeline

* feat(player): more stuff for list walker

* fix(ui): performance tab, mobile project typings and form

* fix(ui):some ui touches for ios replayer shell

* fix(ui): more fixes for ui, new onboarding screen for mobile projects

* feat(ui): mobile overview panel (xray)

* feat(ui): fixes for phone shell and tap events

* fix(tracker): change phone shells and sizes

* fix(tracker): fix border on replay screen

* feat(ui): use crashes from db to show in session

* feat(ui): use event name for xray

* feat(ui): some overall ui fixes

* feat(ui): IOS -> iOS

* feat(ui): change tags to ant d

* fix(ui): fast fix

* fix(ui): fix for capitalizer

* fix(ui): fix for browser display

* fix(ui): fix for note popup

* fix(ui): change exceptions display

* fix(ui): add click rage to ios xray

* fix(ui): some icons and resizing

* fix(ui): fix ios context menu overlay, fix console logs creation for ios

* feat(ui): added icons

* feat(ui): performance warnings

* feat(ui): performance warnings

* feat(ui): different styles

* feat(ui): rm debug true

* feat(ui): fix warnings display

* feat(ui): some styles for animation

* feat(ui): add some animations to warnings

* feat(ui): move perf warnings to performance graph

* feat(ui): hide/show warns dynamically

* feat(ui): new mobile touch animation

* fix(tracker): update msg for ios

* fix(ui): taprage fixes

* fix(ui): regenerate icons and messages

* fix(ui): fix msgs

* fix(backend): fix events gen

* fix(backend): fix userid msg
2023-10-27 12:12:09 +02:00
Alexander
402cf8f631 feat(backend): added more transparent way to use different compression algorithms in storage 2023-10-27 10:56:35 +02:00
Alexander
1cd8d311e4 feat(backend): updated go.mod file 2023-10-27 09:58:31 +02:00
rjshrjndrn
de797f614b refactor(build): clear tmp build directory
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-10-26 18:06:16 +02:00
Alexander
14694876dd fix(backend): added missing ConnectorType field to connector config 2023-10-26 17:53:29 +02:00
Alexander
7ed2967361 feat(backend): added mobile event handlers for CH db 2023-10-26 17:11:19 +02:00
Alexander
aa2e84a674 fix(backend): added missing Database field to CH connector config 2023-10-26 15:24:23 +02:00
Alexander
f65f5e1b47 fix(backend): added missing ch config to connector service 2023-10-26 15:18:34 +02:00
Alexander
3a2ed49385 feat(backend): removed unused ObjectStorage method from interface definition 2023-10-26 14:37:23 +02:00
Delirium
c7e5145282
feat(tracker): add beacon proxy and request body size (#1389)
* feat(tracker): add beacon proxy and body size

* feat(ui): remove unused components

* feat(ui): generate new messages, add body size to resource parser

* feat(ui): fix tooltip text, fix size detection (ts safe)

* feat(ui): cover resource with tests

* feat(ui): enable test coverage for player, utils and mstore

* fix(tracker): adjust test to support new message

* fix(tracker): fix tracker version for back compat

* feat(backend): added new column to network requests

* fix(tracker): fix unit tests

* fix(backend): fix msg gen

* fix(tracker): ci fun

* fix(tracker): changelog

* fix(tracker): fix some test

---------

Co-authored-by: Alexander Zavorotynskiy <zavorotynskiy@pm.me>
2023-10-17 12:25:20 +02:00
Alexander
7d4bbf733e
Added CH connector (#1476)
* feat(backend): added CH connector

* feat(backend): added fixed clickhouse connector
2023-10-16 14:50:51 +02:00
Alexander Zavorotynskiy
cdfa53ba6e feat(backend): added empty template for new mobile event 2023-10-09 17:19:53 +02:00
Alexander Zavorotynskiy
e88bd5a3bf fix(backend): removed unused mobile events 2023-10-09 15:24:37 +02:00
Alexander Zavorotynskiy
d06192907c fix(backend): removed unused message types from iterator filter 2023-10-09 15:05:14 +02:00
Alexander
d22e4e138e
Backend for mobile tracker support (#1456)
* feat(backend): handlers for mobile messages

* feat(backend): new service template

* feat(backend): save mobile session start and send batches to kafka

* feat(backend): added mobile support to sink, ender and storage

* helm(videostorage): added helm chart for a new service videostorage

* fix(backend): added pointer to streing for userBrowser (because it's null for mobile sessions)

* feat(backend): added MsgIOSBatchMeta handler to message iterator's logic

* feat(backend): added ios ts parser to ender

* feat(backend): enabled producing batch of messages to queue

* feat(backend): removed iosstart from mob files

* feat(backend): added new ios message types

* feat(backend): added iosStart and iosEnd

* fix(backend): fixed log issue

* feat(backend): send tar.gz archives to special queue topic

* feat(backend): read raw archives from kafka

* fix(backend): added missing file

* fix(backend): removed the second file reading

* fix(backend): fixed wrong queue topic name

* fix(backend): fixed mobile trigger topic name

* feat(backend): added tar.gz extractor and iOSSessionEnd handler

* feat(backend): debug logs on message uploading

* fix(backend): added raw-images topic consumption

* feat(backend): now sink send iosSessionEnd to video-storage

* feat(backend): added dir creator for new sessions

* feat(backend): added correct command to execute

* feat(backend): added overwrite option

* feat(backend): added s3 uploader for video session replays

* feat(backend): new consumer group for mobile sessions

* feat(backend): debug logs for uploader

* feat(backend): removed unused log

* feat(backend): fixed s3 key for video replays

* feat(backend): removed debug code

* feat(backend): fixed video-storage message filter

* fix(backend): added mobileSessionEnd to SessionEnd converter

* feat(backend): added first version if db support for mobile events

* fix(backend): added swipe events to mob file

* feat(backend): added swipe event to pg

* feat(backend): split logic into 2 services: image-storage and video-storage

* feat(backend): added helm chart for image-storage service

* fix(backend): fixed table name for mobile taps

* feat(backend): added metadata handler for mobile message parser + fix message filters

* feat(backend): added iosRawTopic to DB message consumer

* fix(backend): removed value from mobile inputs

* feat(backend): removed debug log from iterator

* feat(backend): added new apple devices to iOS device parser

* fix(backend): added real projectID instead of 0

* feat(backend): extended a list of simulators for device detector

* feat(backend): updated networkCall mobile message

* fix(backend): added new way to define is network call successed or not

* feat(backend): added timezone support for mobile start request

* feat(backend): added 2 mobile events Input and Click to mob file

* feat(backend): refactored image storage

* feat(backend): video storage with 2 workers

* feat(backend): added project's platform support

* feat(backend): added memory size field for mobile start request

* feat(backend): changed video preset for ultrafast

* feat(backend): added debug log to http /late handler

* feat(backend): added debug log to db service for iosCrash messages

* feat(backend): added tapRage event handler to heuristics

* feat(backend): changed table and field names for ios crashes

* feat(backend): added payload for tapRage events

* feat(backend): added TapRage events insert to DB

* feat(backend): added fps value to /mobile/start response

* feat(backend): added image quality parameter to /mobile/start response

* feat(backend): added ScreenLeave handler

* feat(backend): removed screenEnter and screenLeave events, added new viewComponent event

---------

Co-authored-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-10-09 15:02:20 +02:00