* feat(video-storage): added zstd library to the machine
* feat(video-storage): added new method to pack screenshots into compressed tar arch
* feat(video-storage): try to split command into 2
* feat(video-storage): try a new approad to avoid no file error
* feat(api): added support to a new pre-signed url for screenshots archive
* feat(video-storage): fixed an issue in extension check
* feat(video-storage): correct file name
* feat(backend): removed video-storage and splitted logic
* feat(backend): removed video-storage from helm charts
* feat(backend): split canvas and screenshot handlers
* feat(canvas): clean up canvas-handler
* feat(api): changed mobile replay url (screenshots instead of video)
* feat(backend): removed msg.SessID() call
* feat(backend): clean up code in imagestorage main
* feat(assist): removed cache for solo-node assist mode
* feat(assist): try to fetch from global io object
* feat(assist): small changes
* feat(assist): added cache per request instead of cache per room
* feat(assist): fixed await call in global scope
* feat(assist): try to fix circular structure issue
* feat(assist): use preprocessor for sockets list
* feat(assist): check the theory about fetchSockets data set
* feat(assist): try to keep everything inside handshake.query object
* feat(ui/tracker): start tag n watch
* fix(tracker): test coverage, fix some watcher api
* fix(tracker): add intersectionobserver, adjust tests
* feat(tracker): relay + apollo plugins
* feat(ui): tags search
* feat(ui): tags name edit
* feat(ui): tags search icon
* feat(ui): icons for tabs in player
* feat(ui): save and find button
* feat(tracker): save tags in session storage (just in case)
* feat(ui): improve loading
* feat(ui): fix icon names gen
* feat(ui): fix typo
* Added exception in pool
* Solved issue with message codec
* Changed pg pool to normal pg connection
* fix(redshift-connector): Fixed close connection when exception
* refactor(crons): upgraded dependencies (#1781)
refactor(alerts): upgraded dependencies
refactor(chalice): upgraded dependencies
* Api v1.17.0 (#1798)
* fix(chalice): support list of errors in response
* refactor(chalice): global support of missing filter attribute isEvent
* [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>