Carl-Gerhard Lindesvärd
aa81bbfe77
feat: session replay
...
* wip
* wip
* wip
* wip
* final fixes
* comments
* fix
2026-02-26 14:09:53 +01:00
Carl-Gerhard Lindesvärd
ee27568824
feat: backfill profile id on events
2026-02-18 17:42:17 +01:00
Carl-Gerhard Lindesvärd
ed8b5c667e
fix: how we fetch profiles in the buffer
2026-02-06 13:14:12 +00:00
Carl-Gerhard Lindesvärd
d7c6e88adc
fix: change order keys for clickhouse tables
...
* wip
* rename
* fix: minor things before merging new order keys
* fix: add maintenance mode
* fix: update order by for session and events
* fix: remove properties from sessions and final migration test
* fix: set end date on migrations
* fix: comments
2025-12-16 12:48:51 +01:00
Carl-Gerhard Lindesvärd
329f76b7ce
fix: avoid overwrite profile properties (geo etc) when profile is from server
2025-12-15 22:11:07 +01:00
Carl-Gerhard Lindesvärd
4bdbb31180
fix: ability to paus buffer based on cron queue
2025-12-10 21:51:49 +01:00
Carl-Gerhard Lindesvärd
790801b728
feat: revenue tracking
...
* wip
* wip
* wip
* wip
* show revenue better on overview
* align realtime and overview counters
* update revenue docs
* always return device id
* add project settings, improve projects charts,
* fix: comments
* fixes
* fix migration
* ignore sql files
* fix comments
2025-11-19 14:27:34 +01:00
Carl-Gerhard Lindesvärd
da59622dce
fix: overall perf improvements
...
* fix: ignore private ips
* fix: performance related fixes
* fix: simply event buffer
* fix: default to 1 events queue shard
* add: cleanup scripts
* fix: comments
* fix comments
* fix
* fix: groupmq
* wip
* fix: sync cachable
* remove cluster names and add it behind env flag (if someone want to scale)
* fix
* wip
* better logger
* remove reqid and user agent
* fix lock
* remove wait_for_async_insert
2025-11-15 22:13:59 +01:00
Carl-Gerhard Lindesvärd
70682c218f
remove async insert
2025-11-05 11:30:26 +01:00
Carl-Gerhard Lindesvärd
212254d31a
feat: new importer ( #214 )
2025-11-05 09:49:36 +01:00
Carl-Gerhard Lindesvärd
e7c21bc92c
fix: remove old event queue, cleaned up session handling, remove hacks
2025-10-09 09:25:52 +02:00
Carl-Gerhard Lindesvärd
af580333b4
fix: bump groupmq, fix stalled sessions in buffers, improve heavy event count
2025-10-06 22:20:14 +02:00
Carl-Gerhard Lindesvärd
0b4fcbad69
feat: use groupmq instead of bullmq for incoming events ( #206 )
...
* wip
* wip working group queue
* wip
* wip
* wip
* fix: groupmq package (tests failed)
* minor fixes
* fix: zero is fine for duration
* add logger
* fix: make buffers more lightweight
* bump groupmq
* new buffers and bump groupmq
* fix: buffers based on comments
* fix: use profileId as groupId if exists
* bump groupmq
* add concurrency env for only events
2025-10-04 21:07:55 +02:00
Carl-Gerhard Lindesvärd
92d62c3e5c
improve: prepare for coolify and general self-hosting improvements ( #175 )
...
* fix(self-hosting): improve docker compose, add healthchecks, rename env SELF_HOSTED
* improve(db): improve initial migration when no data exists
* fix(db): misstakes were made
* improve(dashboard): better curl preview depending on project type
* fix(db): fix migrations
* fix(onboarding): ensure we publish event correctly
* wip
* fix: curl preview
* add coolify template
* fix(dashboard): page -> route
* fix
* fix env
2025-06-23 22:21:11 +02:00
Carl-Gerhard Lindesvärd
0d58a5bf0c
improve(queue): how we handle incoming events and session ends
2025-06-03 21:19:01 +02:00
Carl-Gerhard Lindesvärd
584c787799
fix(buffer): ensure we only set path and origin if its set and no previous value was set
2025-03-23 21:16:08 +01:00
Carl-Gerhard Lindesvärd
b59216fb7d
fix(session): use correct batch size
2025-03-20 10:55:03 +01:00
Carl-Gerhard Lindesvärd
8d50213ed9
fix(session): negative duration #2
2025-03-20 10:38:41 +01:00
Carl-Gerhard Lindesvärd
cf01d7a545
fix(session): negative duration
2025-03-20 10:31:19 +01:00
Carl-Gerhard Lindesvärd
a1eb4a296f
feature(dashboard): refactor overview
...
fix(lint)
2025-03-20 09:40:01 +01:00
Carl-Gerhard Lindesvärd
08b07e42fb
fix(buffer): do not update created_at for profiles since its our partition key
2025-03-06 11:07:09 +01:00
Carl-Gerhard Lindesvärd
cd519405d1
improve(buffer): remove check in buffer
2025-02-28 10:06:32 +01:00
Carl-Gerhard Lindesvärd
44721f84da
fix(buffer): ensure we don't have duplicate events
2025-02-27 12:48:43 +01:00
Carl-Gerhard Lindesvärd
5abf7b988d
fix(buffer): check if key exists
2025-02-26 12:59:41 +01:00
Carl-Gerhard Lindesvärd
168ebc3430
feat(subscriptions): added polar as payment provider for subscriptions
...
* feature(dashboard): add polar / subscription
* wip(payments): manage subscription
* wip(payments): add free product, faq and some other improvements
* fix(root): change node to bundler in tsconfig
* wip(payments): display current subscription
* feat(dashboard): schedule project for deletion
* wip(payments): support custom products/subscriptions
* wip(payments): fix polar scripts
* wip(payments): add json package to dockerfiles
2025-02-26 11:24:00 +01:00
Carl-Gerhard Lindesvärd
5863dd8c2b
improve(buffer): don't add profile if its from an event and already created
2025-02-24 22:55:30 +01:00
Carl-Gerhard Lindesvärd
b96af6c21b
improve(buffer): consistent loggic
2025-02-22 10:00:16 +01:00
Carl-Gerhard Lindesvärd
2022a82f03
fix(buffer): better merging profiles in buffer
2025-02-22 07:46:06 +01:00
Carl-Gerhard Lindesvärd
c4258bbccd
fix(buffer): delete last screen view again on completed session
2025-02-19 09:54:20 +01:00
Carl-Gerhard Lindesvärd
8e94ce5877
fix(buffer): merge events in queue and get last screen view from buffer instead of cache
2025-02-18 23:08:38 +01:00
Carl-Gerhard Lindesvärd
3fd4382c76
debug(buffer): log more and disable deletion of cache
2025-02-18 21:17:02 +01:00
Carl-Gerhard Lindesvärd
344bfd1687
fix(buffer): debug stalled events
2025-02-18 10:32:27 +01:00
Carl-Gerhard Lindesvärd
329c0885d4
improve(self-hosting): remove goose, custom migration, docs, remove zookeeper
2025-02-17 20:54:54 +01:00
Carl-Gerhard Lindesvärd
14468a1004
fix(buffer): avoid stalled session events
2025-02-17 06:01:56 +01:00
Carl-Gerhard Lindesvärd
3205ea0a31
fix(buffer): live counter
2025-02-11 21:39:10 +01:00
Carl-Gerhard Lindesvärd
848f475412
improve(db): do not use keys in redis
2025-02-11 21:39:10 +01:00
Carl-Gerhard Lindesvärd
0cf73e299a
chore(root): clean up unused stuff
2025-02-11 12:07:57 +01:00
Carl-Gerhard Lindesvärd
af0f9717a8
improve(worker): handle sessions with unknown state
2025-02-09 20:39:52 +01:00
Carl-Gerhard Lindesvärd
b9d071dbbb
fix(buffer): on session_end make sure we only add it to sessions if more events exists
2025-02-09 07:43:12 +01:00
Carl-Gerhard Lindesvärd
b1a66199a3
fix(buffer): unpack error
2025-02-09 07:21:17 +01:00
Carl-Gerhard Lindesvärd
0dfa77957c
tmp(buffer): get all sessions instead
2025-02-09 07:06:45 +01:00
Carl-Gerhard Lindesvärd
ec8aaf24fb
fix(buffer): move to redis again 😅 but better
2025-02-08 21:38:27 +01:00
Carl-Gerhard Lindesvärd
6fae06770c
wip
2025-02-04 17:02:10 +01:00
Carl-Gerhard Lindesvärd
c2d2f64fc3
use primary for reading eventbuffer
2025-02-04 16:51:18 +01:00
Carl-Gerhard Lindesvärd
cc1f4aa625
improve(buffer): do not create profile for each event
2025-02-04 15:36:04 +01:00
Carl-Gerhard Lindesvärd
4b3a7222f8
improve(buffer): exclude common properties before checking!
2025-02-04 15:03:49 +01:00
Carl-Gerhard Lindesvärd
b0a41f7911
improve(buffer): stringify all properties since they can be different types (unsure why now)
2025-02-04 14:46:58 +01:00
Carl-Gerhard Lindesvärd
3a61276859
fix(buffer): better checksum for profile buffer
2025-02-04 14:10:38 +01:00
Carl-Gerhard Lindesvärd
77365391c2
improve(buffer): understand better if checksum is broken or not
2025-02-04 13:39:28 +01:00
Carl-Gerhard Lindesvärd
272ea7fa7c
fix(buffer): add correct envs
2025-02-04 12:07:21 +01:00