Igor Loskutov
2a9993ceec
remove integration test with hardcoded external URL
2026-02-06 11:31:22 -05:00
Igor Loskutov
8773d9fbbd
test: add integration test for ICS dedup using Max's live calendar feed
2026-02-06 11:02:20 -05:00
Igor Loskutov
f4803c0d76
fix: use function mocks with correct signature in dedup tests
2026-02-05 19:51:27 -05:00
Igor Loskutov
d3161730ef
fix: use SDK DailyFatalErrorType, add meeting-full/not-allowed/exp-token cases, remove dead end_date fallback
2026-02-05 19:43:25 -05:00
Igor Loskutov
4fd88b2fc1
fix: review feedback — literal error types, extract FatalErrorScreen, type params, fix mock signature
2026-02-05 19:35:47 -05:00
Igor Loskutov
238d768499
fix: address review feedback - use ApiError type, move inline imports
2026-02-05 18:50:12 -05:00
Igor Loskutov
1da687fe13
fix: prevent duplicate meetings from aggregated ICS calendar feeds
...
When Cal.com events appear in an aggregated ICS feed, the same event
gets two different UIDs (one from Cal.com, one from Google Calendar).
This caused duplicate meetings to be created for the same time slot.
Add time-window dedup check in create_upcoming_meetings_for_event:
after verifying no meeting exists for the calendar_event_id, also check
if a meeting already exists for the same room + start_date + end_date.
2026-02-05 18:42:42 -05:00
1ce1c7a910
fix: websocket tests ( #825 )
...
* fix websocket tests
* fix: restore timeout and fix celery test infrastructure
- Re-add timeout=1.0 to ws_manager pubsub loop (prevents CPU spin?)
- Use Redis for Celery tests (memory:// broker doesn't support chords)
- Add timeout param to in-memory subscriber mock
- Remove duplicate celery_includes fixture from rtc_ws tests
* fix: remove redundant inline imports in test files
* fix: update gitleaks ignore for moved s3_key line
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-02-05 14:23:31 -05:00
8707c6694a
fix: use Daily API recording.duration as master source for transcript duration ( #844 )
...
Set duration early in get_participants from Daily API (seconds -> ms),
ensuring post_zulip has the value before mixdown_tracks completes.
Removes redundant duration update from mixdown_tracks.
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-02-03 17:15:03 -05:00
4acde4b7fd
fix: increase TIMEOUT_MEDIUM from 2m to 5m for LLM tasks ( #843 )
...
Topic detection was timing out on longer transcripts when LLM
responses are slow. This affects detect_chunk_topic and other
LLM-calling tasks that use TIMEOUT_MEDIUM.
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-02-03 16:05:16 -05:00
Igor Loskutov
c05d1f03cd
fix: match httpx pad with hatchet audio timeout
2026-01-30 15:56:18 -05:00
Igor Loskutov
23eb1371cb
fix: daily multitrack pipeline finalze dependency fix
2026-01-30 15:19:27 -05:00
7fde64e252
feat: modal padding ( #837 )
...
* Add Modal backend for audio padding
- Create reflector_padding.py Modal deployment (CPU-based)
- Add PaddingWorkflow with conditional Modal/local backend
- Update deploy-all.sh to include padding deployment
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-30 13:11:51 -05:00
fc3ef6c893
feat: mixdown optional ( #834 )
...
* optional mixdown
* optional mixdown
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-23 15:51:18 -05:00
6c175a11d8
feat: brady bunch ( #816 )
...
* brady bunch PRD/tasks
* clean dead daily.co code
* brady bunch prototype (no-mistakes)
* brady bunch prototype (no-mistakes) review
* self-review
* daily poll time match (no-mistakes)
* daily poll self-review (no-mistakes)
* daily poll self-review (no-mistakes)
* daily co doc
* cleanup
* cleanup
* self-review (no-mistakes)
* self-review (no-mistakes)
* self-review
* self-review
* ui typefix
* dupe calls error handling proper
* daily reflector data model doc
* logging style fix
* migration merge
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-23 12:33:06 -05:00
6e786b7631
hatchet processing resilence several fixes ( #831 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-22 19:03:33 -05:00
c723752b7e
feat: set hatchet as default for multitracks ( #822 )
...
* set hatchet as default for multitracks
* fix: pipeline routing tests for hatchet-default branch
- Create room with use_celery=True to force Celery backend in tests
- Link transcript to room to enable multitrack pipeline routing
- Fixes test failures caused by missing HATCHET_CLIENT_TOKEN in test env
* Update server/reflector/services/transcript_process.py
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
2026-01-21 17:05:03 -05:00
23d2bc283d
fix: ics non-sync bugfix ( #823 )
...
* ics non-sync bugfix
* fix tests
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-21 15:10:19 -05:00
c8743fdf1c
fix webhook tests ( #826 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-21 14:31:20 -05:00
8a293882ad
timeout to untighten ws python loop ( #821 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-20 16:29:09 -05:00
3b6540eae5
feat: worker affinity ( #819 )
...
* worker affinity
* worker affinity
* worker affinity
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-20 12:27:16 -05:00
Igor Loskutov
7ca9cad937
docs
2026-01-09 15:37:15 -05:00
Igor Loskutov
3be7fc0b9a
200ms webm daily doc
2026-01-09 10:54:12 -05:00
407c15299f
docs: docs website + installation ( #778 )
...
* feat: WIP doc (vibe started and iterated)
* install from scratch docs
* caddyfile.example
* gitignore
* authentik script
* authentik script
* authentik script
* llm doc
* authentik ongoing
* more daily setup logs
* doc website
* gpu self hosted setup guide (no-mistakes)
* doc review round
* doc review round
* doc review round
* update doc site sidebars
* feat(docs): add mermaid diagram support
* docs polishing
* live pipeline doc
* move pipeline dev docs to dev docs location
* doc pr review iteration
* dockerfile healthcheck
* docs/pr-comments
* remove jwt comment
* llm suggestion
* pr comments
* pr comments
* document auto migrations
* cleanup docs
---------
Co-authored-by: Mathieu Virbel <mat@meltingrocks.com >
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2026-01-06 17:25:02 -05:00
e644d6497b
correct workflow name for hatchet ( #815 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-29 20:36:36 -05:00
5f7b1ff1a6
fix: webhook parity, pipeline rename, waveform constant fix ( #806 )
...
* pipeline fixes: whereby Hatchet preparation
* send_webhook fixes
* cleanup
* self-review
* comment
* webhook util functions: less dependencies
* remove comment
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-26 18:00:32 -05:00
2d0df48767
feat: devex/hatchet log progress track ( #813 )
...
* progress track for some hatchet tasks
* remove inline imports / type fixes
* progress callback for mixdown - move to a function
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-26 14:10:21 -05:00
5baa6dd92e
pipeline type fixes ( #812 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-26 11:28:43 -05:00
bab1e2d537
dynamic mixdown hatchet ( #811 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-23 19:48:16 -05:00
e886153ae1
fix hatchet parallel syntax ( #810 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-23 18:45:06 -05:00
7b352f465e
dont always enable hatchet ( #809 )
...
* dont always enable hatchet
* fix hatchet worker params
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-23 18:15:33 -05:00
3cf9757ac2
diarization flow - pralellelize better ( #808 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-23 17:35:43 -05:00
d9d3938192
better hatchet concurrency limits ( #807 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-23 17:26:23 -05:00
594bcc09e0
feat: parallelize hatchet ( #804 )
...
* parallelize hatchet (no-mistakes)
* dry (no-mistakes) (minimal)
* comments
* self-review
* self-review
* self-review
* self-review
* pr comments
* pr comments
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-23 11:03:36 -05:00
1dac999b56
feat: durable ( #794 )
...
* durable (no-mistakes)
* hatchet no-mistake
* hatchet no-mistake
* hatchet no-mistake, better logging
* remove conductor and add hatchet tests (no-mistakes)
* self-review (no-mistakes)
* hatched logs
* remove shadow mode for hatchet
* and add hatchet processor setting to room
* .
* cleanup
* hatchet init db
* self-review (no-mistakes)
* self-review (no-mistakes)
* hatchet: restore zullip report
* self-review round
* self-review round
* self-review round
* dry hatchet with celery
* dry hatched with celery - 2
* self-review round
* more NES instead of str
* self-review wip
* self-review round
* self-review round
* self-review round
* can_replay cancelled
* add forgotten file
* pr autoreviewer fixes
* better log webhook events
* durable_started return
* migration sync
* latest changes feature parity
* migration merge
* pr review
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-22 12:09:20 -05:00
f580b996ee
feat: increase daily recording max duration ( #801 )
...
* increate daily recording max duration
* recording end time: 3h min
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-22 09:02:14 -05:00
225783496f
feat: consent disable feature ( #799 )
...
* consent disable feature (no-mistakes)
* sync migration
* consent disable refactor
* daily backend code refactor
* consent skip feature
* consent skip feature
* no forced whereby recording indicator
* active meetings type precision
* cleanup
* cleanup
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-22 08:47:07 -05:00
964cd78bb6
feat: identify action items ( #790 )
...
* Identify action items
* Add action items to mock summary
* Add action items validator
* Remove final prefix from action items
* Make on action items callback required
* Don't mutation action items response
* Assign action items to none on error
* Use timeout constant
* Exclude action items from transcript list
2025-12-18 21:13:47 +01:00
5f458aa4a7
fix: automatically reprocess daily recordings ( #797 )
...
* Automatically reprocess recordings
* Restore the comments
* Remove redundant check
* Fix indent
* Add comment about cyclic import
2025-12-18 21:10:04 +01:00
5f7dfadabd
fix: retry on workflow timeout ( #798 )
2025-12-18 20:49:06 +01:00
c62e3c0753
incorporate daily api undocumented feature ( #796 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-17 09:51:55 -05:00
0eba147018
fix: populate room_name in transcript GET endpoint ( #783 )
...
Fixes monadical/internalai#14
2025-12-11 12:37:59 +01:00
61f0e29d4c
feat: llm retries ( #739 )
...
* llm retries no-mistakes
* self-review (no-mistakes)
* self-review (no-mistakes)
* bigger retry intervals by default
* tests and dry
* restore to main state
* parse retries
* json retries (no-mistakes)
* json retries (no-mistakes)
* json retries (no-mistakes)
* json retries (no-mistakes) self-review
* additional network retry test
* more lindt
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-05 12:08:21 -05:00
ec17ed7b58
fix: celery inspect bug sidestep in restart script ( #766 )
...
* celery bug sidestep
* Update server/reflector/services/transcript_process.py
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
2025-12-04 09:22:51 -05:00
d3a5cd12d2
fix: return participant emails from transcript endpoint ( #769 )
...
* Return participant emails from transcript endpoint
* Fix broken test
2025-12-03 16:47:56 +01:00
bd5df1ce2e
fix: Multitrack mixdown optimisation 2 ( #764 )
...
* Revert "fix: Skip mixdown for multitrack (#760 )"
This reverts commit b51b7aa917 .
* multitrack mixdown optimisation
* return the "good" ui part of "skip mixdown"
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-02 17:10:06 -05:00
28f87c09dc
fix: align daily room settings ( #759 )
...
* Switch platform ui
* Update room settings based on platform
* Add local and none recording options to daily
* Don't create tokens for unauthentikated users
* Enable knocking for private rooms
* Create new meeting on room settings change
* Always use 2-200 option for daily
* Show recording start trigger for daily
* Fix broken test
2025-12-02 09:06:36 +01:00
b51b7aa917
fix: Skip mixdown for multitrack ( #760 )
...
* multitrack mixdown optimisation
* skip mixdown for multitrack
* skip mixdown for multitrack
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-12-01 23:35:12 -05:00
7f0b728991
fix: participants update from daily ( #749 )
...
* Fix participants update from daily
* Use track keys from params
2025-11-27 16:53:26 +01:00
d63040e2fd
feat: Multitrack segmentation ( #747 )
...
* segmentation multitrack (no-mistakes)
* segmentation multitrack (no-mistakes)
* self review
* self review
* recording poll daily doc
* filter cam_audio tracks to remove screensharing from daily processing
* pr review
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-11-26 16:21:32 -05:00