Skip to content

mantisbt-plugins/AudioNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AudioNotes Plugin for MantisBT

A lightweight and native audio recording plugin for MantisBT. It allows users to record voice notes directly in the browser and attach them to comments (bugnotes) or bug reports.

Key Features

  1. Native Browser Recording: Powered by the HTML5 MediaRecorder API. No third-party plugins, Flash, or external dependencies required.
  2. Format Compatibility: Automatically detects and selects the best supported container and codec for the active browser (audio/mp4 on Safari/iOS, audio/webm on Chrome/Firefox, audio/ogg, or audio/wav).
  3. Live Waveform Visualizer: Renders a real-time voice frequency visualizer using the HTML5 <canvas> and Web Audio API (AnalyserNode) so users have instant visual feedback of their audio capture.
  4. Seamless Form Integration: Automatically attaches to any textarea residing within a form that supports uploads. It displays a clean "Record Audio" button that triggers a recording state overlay with an active timer, cancel, and save actions.
  5. Dropzone Queue Injection: Programmatically injects the recorded file directly into MantisBT's native Dropzone upload queue (or falls back to standard file inputs using DataTransfer), ensuring the audio note is securely sent along with the note submission.
  6. Inline Audio Player: The attached audio files are natively recognized by MantisBT and rendered with an HTML5 <audio> player inline under the corresponding bugnote in the issue history list.
  7. Multi-language Support: Includes localization strings for English, Portuguese (Standard), and Portuguese (Brazil).
  8. Apache Restriction Compliance: Assets are loaded via plugin_file.php at the public root to bypass .htaccess folder blocks (e.g., Require all denied on plugins/), ensuring no 403 Forbidden logs are generated and preventing firewall scripts (like Wail2ban) from auto-blocking users.

Installation

  1. Copy the AudioNotes folder into the plugins/ directory of your MantisBT installation.
  2. Log in to your MantisBT instance as an administrator.
  3. Navigate to Manage -> Manage Plugins.
  4. Find Audio Notes in the Available Plugins list and click Install.

Technical Details

  • Hooks used: EVENT_LAYOUT_RESOURCES (injects custom assets).
  • Core files:
    • AudioNotes.php: Plugin declaration, hooks, and dynamic translation serialization.
    • files/audionotes.js: Web Audio API, MediaRecorder lifecycle management, and Dropzone injection.
    • files/audionotes.css: Styling for the record button, visualizer canvas, timer, and animations.
    • lang/strings_*.txt: Language translation files.

Button

Action

About

MantisBTPlugin for audio record

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors