diff --git a/server/reflector/db/transcripts.py b/server/reflector/db/transcripts.py index 9157a742..c865a409 100644 --- a/server/reflector/db/transcripts.py +++ b/server/reflector/db/transcripts.py @@ -70,6 +70,9 @@ transcripts = sqlalchemy.Table( Enum(SourceKind, values_callable=lambda obj: [e.value for e in obj]), nullable=False, ), + # indicative field: whether associated audio is deleted + # the main "audio deleted" is the presence of the audio itself / consents not-given + # same field could've been in recording/meeting, and it's maybe even ok to dupe it at need sqlalchemy.Column("audio_deleted", sqlalchemy.Boolean, nullable=True), ) diff --git a/server/reflector/pipelines/main_live_pipeline.py b/server/reflector/pipelines/main_live_pipeline.py index 1896e199..62ea7a33 100644 --- a/server/reflector/pipelines/main_live_pipeline.py +++ b/server/reflector/pipelines/main_live_pipeline.py @@ -529,7 +529,7 @@ async def pipeline_upload_mp3(transcript: Transcript, logger: Logger): return if transcript.audio_deleted: - logger.info("Skipping MP3 upload - audio marked as deleted") + logger.info("Skipping mp3 upload - audio marked as deleted") return logger.info("Starting upload mp3") @@ -593,8 +593,7 @@ async def cleanup_consent(transcript: Transcript, logger: Logger): logger.info("Consent denied, cleaning up all related audio files") - # 1. Delete original Whereby recording from S3 - if recording and recording.s3_bucket and recording.s3_key: + if recording and recording.bucket_name and recording.object_key: s3_whereby = boto3.client( "s3", @@ -602,8 +601,8 @@ async def cleanup_consent(transcript: Transcript, logger: Logger): aws_secret_access_key=settings.AWS_WHEREBY_ACCESS_KEY_SECRET, ) try: - s3_whereby.delete_object(Bucket=recording.s3_bucket, Key=recording.s3_key) - logger.info(f"Deleted original Whereby recording: {recording.s3_bucket}/{recording.s3_key}") + s3_whereby.delete_object(Bucket=recording.bucket_name, Key=recording.object_key) + logger.info(f"Deleted original Whereby recording: {recording.bucket_name}/{recording.object_key}") except Exception as e: logger.error(f"Failed to delete Whereby recording: {e}") diff --git a/www/app/(app)/transcripts/useMp3.ts b/www/app/(app)/transcripts/useMp3.ts index 2a6a8faa..e41e9362 100644 --- a/www/app/(app)/transcripts/useMp3.ts +++ b/www/app/(app)/transcripts/useMp3.ts @@ -95,7 +95,6 @@ const useMp3 = (transcriptId: string, waiting?: boolean): Mp3Response => { setTranscriptMetadataLoading(false); }) - // Cleanup return () => { stopped = true; audioElement.removeEventListener('canplay', handleCanPlay);