338 Commits

Author SHA1 Message Date
Carl-Gerhard Lindesvärd
34769a5d58 feat(ai): add ai chat to dashboard 2025-04-15 14:30:21 +02:00
Carl-Gerhard Lindesvärd
c3199e12e3 fix(api): use left join on sessions when doing funnels 2025-04-07 23:03:54 +02:00
Carl-Gerhard Lindesvärd
c5d25779c6 fix(dashboard): broken funnels on profile_id 2025-04-02 11:21:51 +02:00
Carl-Gerhard Lindesvärd
d38ccb4717 fix(worker): better deletion of project 2025-04-01 10:40:59 +02:00
Carl-Gerhard Lindesvärd
e58e898683 fix(db): read invites from primary instead of replica (avoid race condition) #134 2025-03-31 19:55:14 +02:00
Carl-Gerhard Lindesvärd
0f0bb13107 fix(dashboard): restrict data if trial ended 2025-03-30 19:53:08 +02:00
Carl-Gerhard Lindesvärd
d4fcc82fc3 fix(ts) 2025-03-28 09:35:39 +01:00
Carl-Gerhard Lindesvärd
8a21fadc0d feature(dashboard): add conversion rate graph 2025-03-28 09:21:10 +01:00
Carl-Gerhard Lindesvärd
f313356096 fix(funnel): fallback to 0 if nan for funnel 2025-03-23 22:25:05 +01: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
1257381bf2 feature(dashboard): improved funnels 2025-03-23 21:13:32 +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
9d43cc49c4 fix(db): clickhouse dates (unsure what have happen) 2025-02-26 15:10:08 +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
80fa34469e fix(db): count rows broken 2025-02-26 12:18:58 +01:00
Carl-Gerhard Lindesvärd
98d945c108 fix(worker): escape more things 2025-02-26 12:02:40 +01:00
Carl-Gerhard Lindesvärd
27a945b567 fix(worker): escape string 2025-02-26 11:39:52 +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
86bf9dd064 remove(api): profile alias are no gone since not used 2025-02-24 23:24:25 +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
bc3b9ae7bf chore(db): add logger to mutations (forgot model) 2025-02-22 14:36:10 +01:00
Carl-Gerhard Lindesvärd
93944fe85f chore(db): add logger to mutations 2025-02-22 14:27:07 +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
59012526e2 fix(worker): add reqId to logger for better traceability 2025-02-19 10:33:42 +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
6318dc4175 fix(db): use correct env.. 2025-02-17 21:58:18 +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
cfd7fd9c5e chore: more clean up + ts issues 2025-02-11 21:50:51 +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