Skip to content

Transcription extension v2#173

Open
jspada200 wants to merge 8 commits into
AcademySoftwareFoundation:mainfrom
jspada200:transcription-extension-v2
Open

Transcription extension v2#173
jspada200 wants to merge 8 commits into
AcademySoftwareFoundation:mainfrom
jspada200:transcription-extension-v2

Conversation

@jspada200

Copy link
Copy Markdown
Collaborator

Summary

This change adds a DNA specific chrome extension for transcription. It is designed to work with whisperlive and DNA.

First from the DNA app, the user launches the transcription. This sends all the details needed to the chrome extension. Next the user give permission to the extension to transcribe the meet tab. Segments are then captured, transcribed with whisperlive, and sent to DNA backend.

Testing

  • I have tested these changes locally
  • I have run all relevant automated tests
  • I have verified this does not break existing workflows
  • For changes that can be tested in UI, I have included screenshots or gif animations of the changes.

How I Tested

Transcribed my own call

TODO

  • The speaker ID is wonky, need to tighten it up
  • whisper is a little slow but it may be becase I am running locally on my machine, want to deploy a whisperlive instence to google cloud for testing and include that as an option in the bootstrap script.
  • Need to send extension to app store and add pipeline to deploy it then direct users to it when they do not have the extension installed.
Screenshot 2026-07-04 at 3 29 48 PM 2026-07-04 14 59 48

jspada200 added 3 commits July 3, 2026 15:32
# Summary
This commit introduces a new transcription route for the DNA browser extension, allowing it to capture Google Meet audio and stream transcripts directly into the DNA system via a WebSocket. The implementation includes:

- A new `ExtensionTranscriptionProvider` to handle transcripts from the browser extension.
- WebSocket endpoints for health checks and transcript ingestion.
- Updates to the `bootstrap.sh` script to include instructions for setting up the extension.
- Documentation enhancements detailing the new transcription pipeline and configuration options.
- Frontend updates to integrate the extension's functionality, including UI components for managing the extension's connection status.

## Testing
- [x] Changes tested locally
- [x] All relevant automated tests run successfully
- [x] Verified no existing workflows are broken

## How I Tested
Tested the integration of the browser extension with the backend and verified the transcript ingestion process.

Signed-off-by: James Spadafora <spadjv@gmail.com>
Signed-off-by: James Spadafora <spadjv@gmail.com>
Signed-off-by: James Spadafora <spadjv@gmail.com>
Signed-off-by: James Spadafora <spadjv@gmail.com>
@jspada200 jspada200 changed the title Transcription extension v2 Draft: Transcription extension v2 Jul 4, 2026
@jspada200 jspada200 self-assigned this Jul 5, 2026
…r refactor.

Signed-off-by: James Spadafora <spadjv@gmail.com>
@jspada200 jspada200 changed the title Draft: Transcription extension v2 Transcription extension v2 Jul 5, 2026
jspada200 added 3 commits July 5, 2026 16:02
This commit introduces a shared key mechanism to enhance the security of the transcription feature in the DNA browser extension. Key changes include:

- Added environment variable `DNA_EXTENSION_KEY` to the backend for validating the key sent from the extension.
- Implemented key validation logic in the backend to ensure only authorized extensions can connect.
- Updated the frontend to allow users to input and save the DNA key, which is then used for activation.
- Enhanced WebSocket connection handling to close connections if the key is missing or invalid.
- Added tests to verify the key validation process and its integration with the transcription workflow.

This change aims to prevent unauthorized access to the transcription service and ensure a secure connection between the extension and the backend.

Signed-off-by: James Spadafora <spadjv@gmail.com>
This commit updates the DNA Chrome extension's manifest and frontend components to improve connectivity and user experience. Key changes include:

- Added support for `*://localhost/*` and `*://127.0.0.1/*` in the manifest to allow connections from any scheme.
- Updated the README to reflect the new match patterns for local development.
- Introduced a status message in the TranscriptionMenu component to inform users when the DNA extension is being searched for.
- Modified the useTranscriptionExtension hook to periodically check the installation state of the extension, improving responsiveness in the UI.

These changes aim to streamline the integration process and provide clearer feedback to users regarding the extension's status.

Signed-off-by: James Spadafora <spadjv@gmail.com>
Signed-off-by: James Spadafora <spadjv@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants