fc38345d65
fix: separate browsing page into different components, limit to 10 by default ( #498 )
...
* feat: limit the amount of transcripts to 10 by default
* feat: separate page into different component, greatly improving the
loading and reactivity
* fix: current implementation immediately invokes the onDelete and
onReprocess
From pr-agent-monadical: Suggestion: The current implementation
immediately invokes the onDelete and onReprocess functions when the
component renders, rather than when the menu items are clicked. This can
cause unexpected behavior and potential memory leaks. Use callback
functions that only execute when the menu items are actually clicked.
[possible issue, importance: 9]
2025-07-17 20:18:00 -06:00
033bd4bc48
feat: improve transcript listing with room_id ( #496 )
...
Added a new field in transcript for room_id, and set room_id/meeting_id
in a transcript now. Use this field to list the transcripts. URL is now
very fast.
2025-07-17 15:43:36 -06:00
c1e10f4dab
fix: process meetings with utc ( #493 )
2025-07-16 21:39:16 -06:00
2516d4085f
fix: postgres database not connecting in worker ( #492 )
...
stacks-reflector-worker-1 | [2025-07-17 02:18:21,234:
ERROR/ForkPoolWorker-2] Task
reflector.worker.process.process_meetings[8e763caf-be8a-4272-8793-7b918e4e3922]
raised unexpected: AssertionError('DatabaseBackend is not running')
stacks-reflector-worker-1 | Traceback (most recent call last):
stacks-reflector-worker-1 | File
"/app/.venv/lib/python3.12/site-packages/celery/app/trace.py", line 453,
in trace_task
stacks-reflector-worker-1 | R = retval = fun(*args, **kwargs)
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/app/.venv/lib/python3.12/site-packages/celery/app/trace.py", line 736,
in __protected_call__
stacks-reflector-worker-1 | return self.run(*args, **kwargs)
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/app/reflector/pipelines/main_live_pipeline.py", line 81, in wrapper
stacks-reflector-worker-1 | return asyncio.run(coro)
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run
stacks-reflector-worker-1 | return runner.run(main)
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
stacks-reflector-worker-1 | return
self._loop.run_until_complete(task)
stacks-reflector-worker-1 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/usr/local/lib/python3.12/asyncio/base_events.py", line 691, in
run_until_complete
stacks-reflector-worker-1 | return future.result()
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File "/app/reflector/worker/process.py",
line 139, in process_meetings
stacks-reflector-worker-1 | meetings = await
meetings_controller.get_all_active()
stacks-reflector-worker-1 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File "/app/reflector/db/meetings.py",
line 121, in get_all_active
stacks-reflector-worker-1 | return await database.fetch_all(query)
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/app/.venv/lib/python3.12/site-packages/databases/core.py", line 173,
in fetch_all
stacks-reflector-worker-1 | async with self.connection() as
connection:
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | File
"/app/.venv/lib/python3.12/site-packages/databases/core.py", line 267,
in __aenter__
stacks-reflector-worker-1 | raise e
stacks-reflector-worker-1 | File
"/app/.venv/lib/python3.12/site-packages/databases/core.py", line 264,
in __aenter__
stacks-reflector-worker-1 | await self._connection.acquire()
stacks-reflector-worker-1 | File
"/app/.venv/lib/python3.12/site-packages/databases/backends/postgres.py",
line 169, in acquire
stacks-reflector-worker-1 | assert self._database._pool is not
None, "DatabaseBackend is not running"
stacks-reflector-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stacks-reflector-worker-1 | AssertionError: DatabaseBackend is not
running
2025-07-16 21:09:51 -06:00
4d21fd1754
refactor: migration from sqlite to postgres with migration script ( #483 )
2025-07-16 19:38:33 -06:00
b05fc9c36a
fix: rename averaged_perceptron_tagger to averaged_perceptron_tagger_eng ( #491 )
2025-07-16 19:13:20 -06:00
0e2ae5fca8
fix: punkt -> punkt_tab + pre-download nltk packages to prevent runtime not working ( #489 )
2025-07-16 18:58:57 -06:00
86ce68651f
build: move to uv ( #488 )
...
* build: move to uv
* build: add packages declaration
* build: move to python 3.12, as sentencespiece does not work on 3.13
* ci: remove pre-commit check, will be done in another branch.
* ci: fix name checkout
* ci: update lock and dockerfile
* test: remove event_loop, not needed in python 3.12
* test: updated test due to av returning AudioFrame with 4096 samples instead of 1024
* build: prevent using fastapi cli, because there is no way to set default port
I don't want to pass --port 1250 every time, so back on previous
approach. I deactivated auto-reload for production.
* ci: remove main.py
* test: fix quirck with httpx
2025-07-16 18:10:11 -06:00
aea8773057
chore: remove old non-working code ( #484 )
2025-07-16 13:47:42 +00:00
baf2822b81
fix: browse page timestamps show UTC instead of user local time ( #482 )
...
* fix: browse page timestamps show UTC instead of user local time
Closes #474
* fix: tests
2025-07-15 21:17:53 -06:00
f3ae187274
fix: waveform can generate NaN in json database ( #481 )
...
* refactor: fixes transcript duration type, NaN in waveform, and prepare for postgres migration
* fix: ensure we don't have NaN in waveform
* fix: missing assertionerror
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
* fix: potential empty array
---------
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
2025-07-15 20:46:19 -06:00
9deb717e5b
refactor: improve transcript list performance ( #480 )
...
* refactor: improve transcript list performance
* fix: sync openapi
* fix: frontend types
* fix: remove drop table _alembic_tmp_meeting
* fix: remove create table too
* fix: remove uq_recording_object_key
2025-07-15 15:10:05 -06:00
3d370336cc
fix: alembic migrations ( #470 )
...
* fix: alembic migrations
This commit fixes all the migrations that was half-backed, due to auto
creation in the db init before. The process was to checkout at the
commit where the migration was created, and use --autogenerate to
regenerate at the state of the migration. 4 migrations was fixed.
It also includes a workflow to ensure migration can applies correctly.
* fix: db migration check
* fix: nullable on meeting_consent
* fix: try fixing tests
2025-06-27 12:03:10 -06:00
9f70f76557
fix: prevent auto creation of database ( #469 )
2025-06-26 11:52:20 -06:00
542a277001
fix: re-add missing migration ( #468 )
2025-06-26 11:09:58 -06:00
Igor Loskutov
8f0bd31c75
format
2025-06-19 13:00:05 -04:00
Igor Loskutov
da901dc566
ai review partial fix
2025-06-19 12:51:23 -04:00
Igor Loskutov
351fb54f25
ai review partial fix
2025-06-19 12:49:23 -04:00
Igor Loskutov
92a08653aa
only recordings that are *recorded* require consent
2025-06-19 10:54:27 -04:00
Igor Loskutov
6cb46dc64f
format
2025-06-19 10:13:57 -04:00
Igor Loskutov
49f4b65f47
lint
2025-06-18 19:47:08 -04:00
Igor Loskutov
9c20e8b9f6
self-review
2025-06-18 17:32:13 -04:00
Igor Loskutov
c23e0e07ef
update audio-deleted flow
2025-06-18 15:43:50 -04:00
Igor Loskutov
fdf42cf60b
slop removal
2025-06-17 19:48:46 -04:00
Igor Loskutov
0c91f5dd59
slop review WIP
2025-06-17 19:26:11 -04:00
Igor Loskutov
91c7c8b83a
meeting consent vibe
2025-06-17 16:30:23 -04:00
Igor Loskutov
7bb2962f94
consent preparation
2025-06-17 12:18:41 -04:00
cfb1b2f9bc
Upgrade modal apps
2025-03-25 11:09:01 +01:00
e6ac972d1e
Fix reprocessing
2025-03-11 15:32:53 +01:00
f43045b41c
Add recordings
2025-03-11 15:12:25 +01:00
a82cb4695e
Process recordings without transcript
2025-03-03 15:48:42 +01:00
ac81617090
Allow shared transcripts deletion
2025-03-03 15:25:00 +01:00
78a522ac7c
Fix reprocessing
2025-03-03 15:15:17 +01:00
2b5f1275a9
Reprocess failed recordings
2025-02-28 14:41:43 +01:00
7f53398926
Mount server dir
2025-02-28 13:00:22 +01:00
670852a8b2
Replace requests with httpx
2025-02-10 17:29:53 +01:00
f832d4a038
Fix room not found error
2025-02-10 16:38:00 +01:00
326a4688d8
Shared rooms and transcripts
2025-02-10 14:59:18 +01:00
8b60c56f41
Remove is active check
2025-02-05 13:00:30 +01:00
4fd043ecfb
Upload logo
2025-02-03 16:11:01 +01:00
0477c8ec44
Fix linting
2025-01-28 13:02:49 +01:00
dd021e9e71
Deactivate meeting when session ends
2025-01-28 12:41:23 +01:00
43562391b7
Fix duration
2025-01-24 14:47:43 +01:00
983c444e35
Remove unused var
2025-01-23 17:40:32 +01:00
87bcf9eb8d
Post new message if previous was deleted
2025-01-23 17:37:47 +01:00
4d1a22043d
Update zulip message on reprocess
2025-01-23 17:25:07 +01:00
14d028e8c4
Remove waveform and topics on reprocessing
2025-01-23 16:25:35 +01:00
8d9aaeab36
Update compose to run reflector locally
2025-01-23 15:30:56 +01:00
b601f18d2d
Fix summary generation
2025-01-21 16:53:09 +01:00
753a2615db
Fix transcript reprocessing
2025-01-21 16:52:51 +01:00