Changelog¶
Version 0.4.18¶
Added js Module Overview documentation
Added Deployment Documentation
Cleaned up CSS file and rewrote comments
Updated the video tutorial and user guide links
Version 0.4.15¶
Added call guard.
Version 0.4.14¶
Miscellaneous bug fixes (user account deletion)
Version 0.4.13¶
Added user account deletion flow
Version 0.4.12¶
Updated login decorator in JS to support guest call access
Added restriction to prevent blocked users from becoming admins
Reduced the number of TURN servers used
Added CSRF error handler
Version 0.4.11¶
Added privacy notice popup explaining that video processing happens locally.
Removed the login requirement from the Join Session route to allow guest joining.
Updated landing page content and feature presentation.
Added confirmation prompts before leaving calls or cancelling sessions.
Updated edit profile page to show current user details.
Added Gravatar-based profile picture editing.
Fixed spacing around the delete account button.
Version 0.4.10¶
Cleaned up startup files
Updated and refined the main CSS styling.
Added the SLSL chart page documentation.
Added the video tutorial page documentation.
Updated navbar layout and behavior.
Added CSS overview documentation.
Version 0.4.9¶
Added TURN server
Improved UI formatting and reduced font size for form validation error messages.
Secured /join and /call endpoints by enforcing user login requirements.
Enhanced security by removing hardcoded reCAPTCHA keys from the source code and migrating them to environment variables.
Version 0.4.8¶
Modified config.py
Fixed email bugs
Added template overview documentation.
Added styles.css reference documentation.
Version 0.4.7¶
Required login for the call route
Required login for the join route
Removed hardcoded reCAPTCHA values
Fixed room code field HTML error message UI
Fixed reset password HTML error message UI
Fixed reset password request HTML error message UI
Fixed login page error message UI
Fixed edit profile error message UI
Fixed registration error message UI
Version 0.4.6¶
API tokens now auto-renew when less than 60 seconds remain on expiry (model.py)
Added Sphinx autobuild for Developer Documentation
Replaced the waiting room spinner with a progress bar.
Created the account deletion request page.
Made layout fixes and responsive UI improvements.
Miscellaneous bug fixes
Modified config.py
Version 0.4.5¶
Switched to updated TensorFlow.js model
Fixed a typo.
Updated the Edit Profile page button styling.
Improved and reorganized the Help page layout.
Updated the Help and Video Tutorial pages with revised content and navigation improvements.
Applied consistent section title colour styling across the Admin Dashboard and Profile.
Improved responsive web design for better compatibility across desktop, and mobile devices.
Changed waiting room spinner to progress bar
Version 0.4.4¶
Display peer username on remote video
Version 0.4.3¶
Integrated Google reCAPTCHA v2 (“I’m not a robot”) for bot protection.
Added reCAPTCHA validation to the user registration and Login forms.
Configured secure API key handling via Environment Variables for deployment.
Version 0.4.2¶
Modified documentation folder
Moved transcript logic to sockets.py
Fixed create new session button and toast messages
Version 0.4.1¶
Fixed database issues
Version 0.4.0¶
Redesigned and integrated responsive frontend UI across the Flask/Jinja application
Added authenticated user dashboard for post-login navigation
Added user dropdown navigation menu with profile, dashboard, admin access, and logout
Added admin dashboard interface for user management and room monitoring
Added profile editing UI improvements including avatar support groundwork
Added video tutorial error placeholder and fallback handling
Added Bootstrap icon controls for microphone and camera toggling in call interface
Added improved real-time chat bubble styling and empty-state behavior
Added transcript and chat scrolling support during calls
Added visual mute/unmute and camera off indicators
Updated base template structure and shared partials (navbar/footer)
Updated authentication flow to redirect users to dashboard after login
Updated home navigation behavior to allow authenticated users back to landing page
Updated call page layout with split-panel video, transcript, recognition, and chat interface
Updated waiting room experience and call control styling
Updated contact, help, about, dashboard, profile and auth page layouts
Updated responsive navigation including mobile menu and user dropdown behavior
Updated chat styling to use CSS-based bubble components instead of hardcoded inline styles
Updated recognition panel and transcript presentation during live calls
Updated overall visual theme, spacing, card system, and reusable component styling
Fixed call sidebar layout causing chat and detection panels to appear below transcript
Fixed missing dropdown functionality for authenticated navigation
Fixed chat placeholder persistence after messages begin
Fixed transcript/chat overflow issues by adding scrollable panels
Fixed oversized icons and image scaling issues in help/about pages
Fixed video placeholder overlay interfering with participant video rendering
Fixed navbar route mismatches and template integration issues
Fixed Bootstrap mic/camera toggle states and muted visual feedback
Refactored CSS into reusable shared components and cleaner structure
Refactored frontend templates to align redesigned UI with backend routes and Jinja logic
Refactored call page controls and supporting JavaScript interactions
Version 0.3.19¶
Added Selenium tests
Version 0.3.18¶
Added bearer tokens so at registration the tokens are generated for each user
Removed the ‘View owned rooms’ button in profile because it clutters the UI and we are not really implementing joining back or viewing messages.
Migration added for User Tokens
Added logs to gitignore
Version 0.3.17¶
Added 30-minute inactivity logout using PERMANENT_SESSION_LIFETIME
Enforced moving-window strategy with strict 60-second rate limit blocks
Added JS to disable submit buttons during rate-limit triggers.
Added security headers: HSTS, X-Frame-Options, X-Content-Type-Options.
Improved error handler redirects to keep users on the same page for button locking
Version 0.3.16¶
Added test suite configuration
Version 0.3.15¶
Added menu inside call, mute audio and video
Modified user profile button UI
Version 0.3.14¶
Fix edit_profile and fixed rate limiting login
restrict login lockout msg to login route and keep generic slow down msg for other paths
Version 0.3.13¶
Improved security policies by increasing minimum password length to 12 characters, updating client-side validation, exempting admin accounts from auto-blocking, adding admin contact email to block acc msg.
Version 0.3.12¶
Fixed database bugs - deleting users would orphan other records.
Miscellaneous bug fixes
Version 0.3.11¶
Migrated Render deployment to new PostgreSQL database
Created a default email - admin.signbridge@gmail.com
Added email support to the contact page
Added admin dashboard
Added user id-based rate limiting
Added user autoblock after too many failed login attempts. Currently requires an admin to unblock
Fixed IP address issue with limiter on Render deployment
Miscellaneous bug fixes for Render deployment
Version 0.3.10¶
Added ML model files to codebase
Version 0.3.9¶
Added Sphinx for documentation
Added base documentation folder and code
Version 0.3.8¶
Added code for Render deployment build
Miscellaneous bug fixes
Version 0.3.7¶
Miscellaneous bug fixes
Version 0.3.6¶
Miscellaneous bug fixes
Version 0.3.5¶
Miscellaneous bug fixes
Version 0.3.4¶
Miscellaneous bug fixes
Version 0.3.3¶
Fixed syntax errors and routing issues
Fixed rate limits not triggering at all
General bug fixes
Version 0.3.2¶
Added function to specify the development server link
Updated requirements.txt
Version 0.3.1¶
Removed extraneous files
Version 0.3.0¶
Refactored all code to fit Flask best practices
All html files now use Jinja templating - they inherit from base.html, with additional code as needed.
app.py has been removed and its code aggressively modularized. Parts of it can be found in __init__.py, handlers.py, routes.py, signbridge.py… you get the idea. Not an exhaustive list. Please read all the files.
Most JavaScript has been removed and replaced with server-side Python code.
On that note, app.js and main.js have been removed.
Routes are in routes.py
HTTP errors are in /app/errors/handlers.py
forms.py handles forms server-side. Check the respective html files for front-end side.
Database stuff is in /app/models.py
Websocket stuff is in /app/sockets.py
Room code generation has been moved to /app/services.py
Database uses the SQLAlchemy package instead of SQLite3 (well it still uses SQLite in the database but can be converted to PostgreSQL fairly easily now)
profile.html has been renamed to user.html
landing.html has been renamed to join.html
Landing page is now index.html
waiting.html has been removed and its code integrated into call.html
new rooms are created in profile
Added secret key (check config.py) to protect forms against cross-site request forgery (CSRF) attacks
Username, email and password validation should work correctly now
Passwords are hashed with PBKDF2 - change to bcrypt if required
Added session authentication
Changed contact phone number to Dulitha’s because it’s funny
Database has been updated to include additional tables for messages and transcripts
Added support for profile pictures via Gravatar.
Added email support for admins
Added logging capabilities. Logs are saved to /logs/signbridge.log
Users can now reset their passwords via email.
Added tests.py for testing capabilities. Will add dummy tests soon.
Added rate limiting back into the app (for some reason it disappeared in the last version on GitHub). Thanks Dulneth!
Added webcam and microphone support
Fixed layout issues in call.html
Version 0.2.4¶
Added error page HTML
Updated help page and miscellaneous HTML files
Version 0.2.3¶
Added profile page
Added logout page
Added contact page backend code
Cleaned up code for readability
Version 0.2.2¶
Re enhanced password validation: require uppercase, lowercase, numbers, and special characters with real time visual feedback
Added password confirmation field to prevent typos, implement frontend/backend password validation, Added specific error msgs for existing username/email, enforce minimum 6 character password length
Version 0.2.1¶
Fixed login and registration routing issues
Version 0.2.0¶
Updated login and register UI pages
Fixed registration issues in app.js
Version 0.1.4¶
Fixed missing routes for help, video tutorial and SLSL chart pages.
Version 0.1.3¶
Added rate limiting using Flask-Limiter
General security improvements
Version 0.1.2¶
Added registration, login, and room backend
Added SQLite database
Version 0.1.1¶
Added SLSL chart page
Added video tutorial page
Updated help page
Version 0.1.0¶
First functional prototype