Repository navigation
Conversation
…ation#92) Move the default AI note prompt out of Python source into dna/config/default_note_prompt.yaml, with optional override via DNA_DEFAULT_NOTE_PROMPT_PATH. User settings GET/PUT now return default_note_prompt alongside note_prompt; empty note_prompt means use the deployment default. Settings UI shows the default when the user has no custom prompt and avoids persisting an unchanged default. Tests: wrap App tests with ThemeModeProvider; align useDraftNote expectations with attachmentIds. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: James Spadafora <spadjv@gmail.com>
…or (#2) TipTap prose used font-weight 600 for strong (same as headings) with no em styles. Use 700 + explicit primary color for bold, secondary color for italic, and combined rules for bold+italic so emphasis reads clearly in light and dark themes. Fixes AcademySoftwareFoundation#128 Co-authored-by: Cursor Agent <cursoragent@cursor.com> Signed-off-by: James Spadafora <spadjv@gmail.com> Made-with: Cursor
Signed-off-by: James Spadafora <spadjv@gmail.com> Made-with: Cursor
…rating while saving the prompt Signed-off-by: James Spadafora <spadjv@gmail.com>
Signed-off-by: James Spadafora <spadjv@gmail.com>
feat: configurable default note prompt and settings display (AcademySoftwareFoundation#92)
# 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>
…r refactor. Signed-off-by: James Spadafora <spadjv@gmail.com>
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>
camerontarget14
approved these changes
Aug 17, 2026
Collaborator
|
It looks like the only conflicts here are with the bootstrap! But this would be awesome to have in! |
Resolve conflicts keeping branch features (QC, glossaries, prodtrack settings, feature flags) while taking main's default-prompt persist logic and formatting newline. Fix tests for extension key env leakage and missing FeatureFlags/Event providers in the test render wrapper. Signed-off-by: James Spadafora <spadjv@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the browser-extension transcription route in bootstrap.sh and add hosted Vexa setup from main. Signed-off-by: James Spadafora <spadjv@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
concepcionanm
pushed a commit
to concepcionanm/dna
that referenced
this pull request
Sep 17, 2026
# 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 - [X] I have tested these changes locally - [X] I have run all relevant automated tests - [X] I have verified this does not break existing workflows - [X] 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. <img width="371" height="305" alt="Screenshot 2026-07-04 at 3 29 48 PM" src="https://github.com/user-attachments/assets/218d7f3d-7a0a-4ad3-930e-36d6ef34df3a" /> <img width="1227" height="990" alt="2026-07-04 14 59 48" src="https://github.com/user-attachments/assets/cfa3d77f-c975-409d-81ef-72b5fbf46c3e" /> --------- Signed-off-by: James Spadafora <spadjv@gmail.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Cameron Target <127965975+camerontarget14@users.noreply.github.com> Signed-off-by: Nicole Concepcion <concepcionanm@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
How I Tested
Transcribed my own call
TODO