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
5a1d662dc4
chore(main): release 0.2.0 ( #497 )
v0.2.0
2025-07-17 15:55:19 -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
0eb670ca19
fix: don't attempt to load waveform/mp3 if audio was deleted ( #495 )
2025-07-17 10:04:59 -06:00
4a340c797b
chore(main): release 0.1.1 ( #494 )
0.1.1
2025-07-16 21:43:53 -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
4895160181
docs: update readme with screenshots
2025-07-16 08:44:30 -06:00
d3498ae669
docs: add AGPL-v3 license and update README ( #487 )
2025-07-16 08:31:55 -06:00
4764dfc219
ci: add conventional commits checks to the repo ( #486 )
2025-07-16 08:31:31 -06:00
9b67deb9fe
ci: add release-please workflow ( #485 )
2025-07-16 08:09:57 -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
0.1.0
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
Igor Loskutov
30d88786b3
Merge pull request #467 from Monadical-SAS/igor/feat/consent-burger
...
consent burger button
2025-06-26 13:11:50 -04:00
542a277001
fix: re-add missing migration ( #468 )
2025-06-26 11:09:58 -06:00
Igor Loskutov
e4990b3b57
consent burger button
2025-06-25 18:00:53 -04:00
Igor Loskutov
8b0f02aa6b
Merge pull request #466 from Monadical-SAS/igor/feat/consents
...
Igor/feat/consents
2025-06-25 11:46:15 -04:00
Igor Loskutov
f781461019
meeting is being recorded button - grammar
2025-06-25 11:34:37 -04:00
Igor Loskutov
1c60c809eb
consent dialog button
2025-06-20 10:57:38 -04: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
106c332774
Merge branch 'igor/feat/consents' of github.com:Monadical-SAS/reflector into igor/feat/consents
2025-06-19 12:46:53 -04:00
Igor Loskutov
dc2924cafa
ai review partial fix
2025-06-19 12:46:38 -04:00
Igor Loskutov
a8d3f5fcf5
Update www/app/(app)/transcripts/new/page.tsx
...
Co-authored-by: pr-agent-monadical[bot] <198624643+pr-agent-monadical[bot]@users.noreply.github.com>
2025-06-19 12:46:07 -04:00
Igor Loskutov
ebcb0fcc7e
fix leaving the room redirect afte whereby client-side fix
2025-06-19 12:23:41 -04:00
Igor Loskutov
ff291a3ec8
ssr errors mitigation
2025-06-19 12:10:08 -04:00
Igor Loskutov
66baf51ccb
whereby <-> consent accessibility
2025-06-19 11:36:05 -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
98acf298d6
better mp3 absense handling on transcription page
2025-06-18 23:40:22 -04:00
Igor Loskutov
49f4b65f47
lint
2025-06-18 19:47:08 -04:00
Igor Loskutov
20d1d9fc0d
isClient hack removal and type adjustment for "older" lib
2025-06-18 17:34:48 -04:00
Igor Loskutov
9c20e8b9f6
self-review
2025-06-18 17:32:13 -04:00
Igor Loskutov
3acbcd9952
fix compose
2025-06-18 16:26:06 -04:00
Igor Loskutov
58f51697b0
consent dialog api cleanup
2025-06-18 15:55:16 -04:00
Igor Loskutov
c23e0e07ef
update audio-deleted flow
2025-06-18 15:43:50 -04:00
Igor Loskutov
6cb6d90b9a
remove TODO doc
2025-06-18 09:15:23 -04:00
Igor Loskutov
f4fbafbd07
yarn lock compat
2025-06-18 09:14:26 -04:00
Igor Loskutov
1876ed7579
remove some slop
2025-06-17 19:59:44 -04:00
Igor Loskutov
fdf42cf60b
slop removal
2025-06-17 19:48:46 -04:00
Igor Loskutov
782171d7be
slop review
2025-06-17 19:42:32 -04:00