👁️🗨️ BUG Report - fuhui14/SWEN90017-2024-TAP GitHub Wiki
During the development process, systematically recording and tracking bugs is essential for ensuring software quality and maintaining project progress. This document is intended to provide a structured format for reporting bugs encountered throughout the project lifecycle.
Field | Description |
---|---|
Bug ID | A unique identifier for each bug (e.g., BUG-20250415-01) |
Description | A clear explanation of the bug and its symptoms |
Reproduction Steps | Step-by-step guide to consistently reproduce the issue |
Reporter | The team member who discovered the bug |
Assignee | The person responsible for investigating/fixing the bug |
Status | The current state of the bug (e.g., Open, In Progress, Fixed, Closed) |
Fix / PR Link | Related pull request or commit resolving the issue |
Final Notes | Any additional context, remarks, or links |
Using a consistent reporting template helps the team collaborate more efficiently when identifying issues, confirming fixes, and referencing past problems.
All team members are encouraged to log bugs as soon as they are discovered and to keep the status updated, ensuring transparency throughout the bug's lifecycle.
- BUG-20250402-02
- BUG-20250409-02
- BUG-20250409-03
- BUG-20250413-01
Description: On project startup, when uploading a file for transcription, a "connection refused" error is displayed. The issue occurs because Celery is not running.
Reproduction Steps:
-
Start the backend server.
-
Start the React frontend.
-
Navigate to the Transcription page.
-
Enter a valid email address and select the desired output format and transcription language.
-
Upload an audio file.
-
Click the Upload Button.
-
The system displays a "connection refused" error.
-
Investigation reveals that Celery is not running.
-
To resolve the issue, execute the following commands in the backend environment:
celery -A config beat -I info celery -A config worker -I info
-
Restart the file upload process to confirm the issue is resolved.
Reporter: Jiangyu Chen && Fuhui Yang
Assignee: Jiangyu Chen && Fuhui Yang
Status: Closed
Fix / PR Link: N/A
Final Notes: Ensure that the Celery commands are run in the backend environment to properly initialize the task queue and avoid connection errors during the transcription process.
Description: Frontend error - The "Submit" button on the transcription page can be clicked multiple times in quick succession, causing the backend to process the same request repeatedly.
Reproduction Steps:
-
Navigate to the transcription page of the application.
-
Upload a valid audio file.
-
Click the Submit button multiple times quickly.
-
Observe that each click triggers a new request to the backend, causing the transcription process to run multiple times for the same file.
Reporter: Claire Shou
Assignee: Lecheng Chen
Status: Closed
Fix / PR Link:
Final Notes: The users are not allowed to click multiple times in quick succession.
Description: A typo found during the unit test
Reproduction Steps:
- Navigate to
/code/frontend/src/about/about.js
- There is a typo: "Transcription Aid Plaltform"
<section className="hero-section">
<h3> Transcription Aid Plaltform</h3>
<p>Everything you need to transcribe audio filesat your fingertips.0ur platform is 100% free and easy to use!Upload, process, and receive your transcriptions with justa few clicks -no login reguired. Identify different speakershandle multiple files, and receive results directly via email.</p>
</section >
Reporter: Tianyi Zhong
Assignee: Tianyi Zhong
Status: Closed
Fix / PR Link: Commit 5a9baa7
Final Notes: Adjust typo on About.js and finish unit test
Description: The user can still clicks the button while uploading the files
Reproduction Steps:
- Run the backend server, with following command, under code/backend path
python manage.py run server
- Run the React frontend with following command:
cd code/frontend
npm run start
- Go to Transcription page
- Input correct Email address
- Select desired format for the output file
- txt for example
- Select transcription language
- English for example
- Upload an auido file
- Click Upload Button
- Keep clicking upload button
- Error happens
Reporter: Claire Shou
Assignee: Lecheng Chen
Status: Closed
Fix / PR Link: Commit c25caeb
Final Notes: Update transcriptionresult.css
Description: Backend error - Can not find the file under given path when using winddows system to transcribe the audio file
Reproduction Steps:
- Run the backend server, with following command, under code/backend path
python manage.py run server
- Run the React frontend with following command:
cd code/frontend
npm run start
- Go to Transcription page
- Input correct Email address
- Select desired format for the output file
- txt for example
- Select transcription language
- English for example
- Upload an auido file
- Click Upload Button
- Transcription error happens
Reporter: Yongjie Ba
Assignee: Yongjie Ba
Status: Closed
Fix / PR Link: Commit 9ebbde8
Final Notes: fix the windows bug
Description: When uploading an audio file, the system is expected to recognize three speakers but incorrectly identifies five speakers. The current approach involves optimizing the speaker identifier; however, a specific solution is still under investigation.
Reproduction Steps:
- Start the backend server and frontend application.
- Navigate to the Transcription page.
- Upload an audio file known to contain three speakers.
- Observe that the speaker identification incorrectly reports five speakers.
- Note that further optimization of the speaker identifier is required to accurately detect the correct number of speakers.
Reporter: Zixuan Zhang && Claire
Assignee: Zixuan Zhang && Claire
Status: In Process
Fix / PR Link: N/A
Final Notes: Optimization of the speaker identifier is underway, and the team is actively seeking a specific solution to resolve the issue.
Description: On the history records page, when a user enters their email, the backend encrypts it and sends an encrypted link to the user's email. However, upon clicking the link, an error is displayed. The issue arises because the backend was restarted during the process, resulting in a newly generated encryption key that differs from the one used to encrypt the email. Consequently, the decryption fails. The resolution involved switching to a fixed encryption key stored on the server to prevent decryption failures due to backend restarts.
Reproduction Steps:
- Navigate to the history records page.
- Enter an email address.
- The backend encrypts the email and sends an encrypted link to the provided email address.
- Restart the backend before clicking the link (or observe that a restart occurred automatically).
- Click the encrypted link received in the email.
- The link fails to open correctly due to a decryption error caused by a mismatch in the encryption key.
Reporter: Jiangyu Chen
Assignee: Jiangyu Chen
Status: Closed
Fix / PR Link: N/A
Final Notes: The encryption key has been changed to a fixed value and stored on the server, ensuring that backend restarts do not affect the decryption process of the encrypted links.
Description: On the history records page, clicking the download button fails to download the corresponding history record. The backend logs indicate that the query could not find the expected data. Investigation revealed that the backend was incorrectly accessing the uploaded files database instead of the translation records database, resulting in an inability to retrieve the record based on its ID. The issue was resolved by modifying the query to access the correct database table.
Reproduction Steps:
- Navigate to the history records page.
- Click the download button for a specific history record.
- Observe that the download fails and the backend logs indicate no matching record was found.
- Confirm that the backend is querying the wrong database table (uploaded files instead of translation records).
- Apply the fix by updating the backend to query the correct database table.
- Verify that the download function now retrieves the correct history record.
Reporter: Jiangyu Chen && Yingrong Chen
Assignee: Jiangyu Chen
Status: Closed
Fix / PR Link: N/A
Final Notes: The backend was updated to query the translation records database instead of the uploaded files database, resolving the issue and ensuring that the correct history record is downloaded.
Description: On the deployed Droplet, submitting a transcription request with a moderately large audio file fails with the error 413 Request Entity Too Large. This indicates that the uploaded file exceeds the maximum request body size allowed by Nginx. As a result, the request is rejected before it reaches the Django backend.
Reproduction Steps:
- Deploy the backend and Nginx server on a Droplet.
- Open the transcription page on the frontend.
- Upload an audio file larger than 1MB (e.g., a WAV file).
- Click the Submit button.
- Observe the error in the browser console or network logs:
- POST http://www.transaid.software/api/transcription/ net::ERR_FAILED 413 (Request Entity Too Large)
Reporter: Zixuan Zhang
Assignee: Claire Shou
Status: Closed
Fix / PR Link: N/A
Final Notes: Edited the Nginx to allowed upload size to 20MB (adjust as needed), larger files can be successfully uploaded and processed by the backend.
Description: The drop-file area overlapping with upload button when adjusting page
Reproduction Steps:
- Run the backend server, with following command, under code/backend path
python manage.py run server
- Run the React frontend with following command:
cd code/frontend
npm run start
- Go to Transcription page
- Adjusting page by customizing the window size
- Overlapping happends
Reporter: Yongjie Ba
Assignee: Yongjie Ba
Status: Closed
Fix / PR Link: Commit bf7c7aa
Final Notes: Update transpage.css to fix overlap for the drag and drop box and button
Description: The email content is formatted incorrectly. The transcription content should not appear directly in the email body but should be attached as a file.
Reproduction Steps:
- Initiate a transcription process.
- Upon completion, check the email received by the user.
- Notice that the transcription content is embedded in the email body instead of being provided as an attachment.
- Verify that the expected behavior is to send the transcription content as an attached file.
- Update the email formatting logic to include the transcription file as an attachment.
Reporter: Fuhui Yang
Assignee: Fuhui Yang
Status: In process
Fix / PR Link:
Final Notes: The email formatting has been corrected so that the transcription content is now delivered as an attachment, ensuring the email body remains clear and follows the intended format.
Description: In the transcription file received by the user, the speaker labels are incorrectly numbered starting from 0. The speaker labels should start from 1 (i.e., speaker1) instead of 0.
Reproduction Steps:
- Complete a transcription process.
- Open the transcription file received as an attachment.
- Observe that the speaker labels begin with "speaker0" instead of "speaker1".
- Update the transcription logic to ensure that speaker numbering starts at 1.
- Verify that the speaker labels in the output file now correctly start from "speaker1".
Reporter: Zixuan Zhang
Assignee: Zixuan Zhang
Status: In process
Fix / PR Link:
Final Notes: The speaker labeling has been updated so that numbering starts at 1, aligning with the expected output format.
Description: The backend deployment on the Droplet fails to connect to Redis during transcription processing, resulting in a [Errno 111] Connection refused error. Despite Redis appearing to be active and listening on both IPv4 and IPv6, the backend is unable to establish a connection. This issue causes transcription jobs to fail and prevents email notifications from being sent.
Reproduction Steps:
- Deploy the application (backend, Redis, Celery) on the Droplet server.
- Start the Redis server (confirm it's running and listening on both IPv4 and IPv6, e.g., via lsof -i :6379).
- Start the backend Django service and Celery worker.
- Navigate to the transcription page on the frontend.
- Upload a valid audio file and click the Submit button.
- Monitor backend logs.
- Observe the error:
- [Errno 111] Connection refused when trying to connect to Redis.
- Internal Server Error: /transcription/ as a result.
Reporter: Zixuan Zhang
Assignee: Claire Shou
Status: Closed
Fix / PR Link: N/A
Final Notes: Changed Redis URL on settings.py.
Description: The backend deployment on the Droplet is not working. When attempting to start a transcription, the following error occurs:
Reproduction Steps:
- Deploy the backend and frontend on the Droplet server.
- Navigate to the transcription page via the frontend.
- Upload a valid audio file and click the Submit button.
- Observe the server logs on the backend.
- Notice the following errors in the backend logs:
- [Errno 111] Connection refused during transcription or saving.
- [Errno 101] Network is unreachable when attempting to send an email.
- Internal Server Error: /transcription/ returned as a response.
Reporter: Claire Shou
Assignee: Zixuan Zhang
Status: In process
Fix / PR Link:
Final Notes:
Description: Uncaught ReferenceError: Buffer is not defined when running the frontend by using MacOS
Reproduction Steps:
- Run the React frontend with the following command:
cd code/frontend
npm run start
- The page is showing white, and the error is: Uncaught ReferenceError: Buffer is not defined
Reporter: Yongjie Ba
Assignee: Yongjie Ba
Status: closed
Fix / PR Link: Commit 972d004
Final Notes:
- Reason: Node core module polyfill is no longer automatically provided That is, even if you import { Buffer } from 'buffer', it will not be automatically packaged into the browser unless you handle it manually.
- Solution: We use a tool called react-app-rewired to modify webpack config and add polyfills without ejecting, create config-overrides.js in the project root directory