63 Commits
Author SHA1 Message Date
Storm Dragon 9125e76d43 Send notifications for events that are not announced when window is out of focus. 2026-07-28 17:22:24 -04:00
Storm Dragon 6a94f893b6 Unlock commands now support a given time, e.g 10 minutes. 2026-07-22 21:37:34 -04:00
Storm Dragon 704b1a9558 Removed unused captions code. 2026-07-09 11:15:35 -04:00
Storm Dragon 9a9742e066 Version 2026.07.08 release. First public tagged version. 2026-07-08 22:38:29 -04:00
Storm Dragon 8696c98d6d Since we are now definitely a very hard fork, update the LICENSE file. 2026-07-07 23:17:56 -04:00
Storm Dragon 4fff2fec7f Add confirmation dialogue for deleting recordings. Normally I hate those "Are your really sure" dialogues, but this is a good place for one because you don't want to accidently delete a recording with no backup. 2026-07-07 23:12:03 -04:00
Storm Dragon 0c852e8c41 Open recordings should open in a new tab. 2026-07-07 21:29:15 -04:00
Storm Dragon e31bffd256 Error messages updated. While Haha! is awesome, it is not very descriptive. 2026-07-07 16:54:28 -04:00
Storm Dragon 4e210db57a Added a way for admin to download and manage recordings on the server. 2026-07-07 16:22:40 -04:00
Storm Dragon 21fa07ee64 Record options added to menu. 2026-07-07 16:18:11 -04:00
Storm Dragon 400174d618 Moved disable microphone into the menu you get when clicking on your own name. 2026-07-07 16:02:59 -04:00
Storm Dragon 19e03e8708 Make sure stale statuses are not presented to the screen reader, e.g. Hall Unlocked - This Hall is Locked. 2026-07-07 15:31:04 -04:00
Storm Dragon 506c0530d9 Restore read-only chalkboard textarea 2026-06-23 09:48:13 -04:00
Storm Dragon 43d37b99be Trying <br> tags to see if we can make this layout a bit nicer. 2026-06-23 01:39:06 -04:00
Storm Dragon 0d2bd1cf1f Hopefully present chalkboard to people without write permissions in a cleaner format. 2026-06-23 01:33:35 -04:00
Storm Dragon 6cd3ec1601 Another round of bug fixes. 2026-06-23 01:16:01 -04:00
Storm Dragon 8ff316101e Bug fixes for chalkboard updates. 2026-06-23 01:03:49 -04:00
Storm Dragon e73eb21c45 Change chalkboard to pre tag for people who do not have write access because some screen readers seem to have problems with read only edit boxes. 2026-06-23 00:45:20 -04:00
Storm Dragon d8817f6b2e Add alt+shift variants to keyboard shortcuts in case alt+control conflicts with existing shortcuts. 2026-06-07 18:13:28 -04:00
Storm Dragon 26c7808587 Started reworking skaldctl. Give room status along with room name. 2026-05-30 22:46:32 -04:00
Storm Dragon 4f35f4b933 Fixed broken chat reading. 2026-05-29 18:13:38 -04:00
Storm Dragon 8e265edbbd Hopefully make chalkboard announc when content has changed but not in a spammy way. 2026-05-27 19:21:50 -04:00
Storm Dragon 7cfbcda152 Server messages clearly marked as such. 2026-05-26 22:41:37 -04:00
Storm Dragon a35ae10bc7 Final touches on chalkboard. 2026-05-24 23:09:35 -04:00
Storm Dragon 0a149e51ef Chalkboard feature added. 2026-05-24 22:36:27 -04:00
Storm Dragon 0f5a19f31a Recording bug that makes other people too quiet fixed. 2026-05-24 00:46:14 -04:00
Storm Dragon 3df0c22948 Update a couple permissions things, no longer allow anonymous users. 2026-05-24 00:26:48 -04:00
Storm Dragon 3e06de7501 Start work on improving recordings. 2026-05-23 23:33:30 -04:00
Storm Dragon 08b484f106 Fixed a focus problem. Added Hall to hall name so there is some context when the hall name appears. 2026-05-22 14:46:02 -04:00
Storm Dragon 2e28dff2d1 More screen reader accessibility fixes. 2026-05-22 14:37:23 -04:00
Storm Dragon 486ce7fb4c More ui accessibility improvements. 2026-05-22 14:25:16 -04:00
Storm Dragon aac197ef54 lock and unlock should now broadcast to the hall. Users trying to enter if hall is locked should now get message indicating the hall is locked. Removed redundant start with options. Browser requests mic permissions, also there is a mute option in the ui itself, so this seemed superfluous 2026-05-22 02:10:50 -04:00
Storm Dragon 47d13083f9 Rename more options button to settings. 2026-05-22 00:41:25 -04:00
Storm Dragon a0a1b7967b Tighten hand state announcement wording 2026-05-22 00:31:42 -04:00
Storm Dragon 8e9f5362b7 Fix Skald accessibility audit issues 2026-05-22 00:24:01 -04:00
Storm Dragon 20952d2f2b Raise notification sound volume 2026-05-21 23:31:20 -04:00
Storm Dragon 176ae0b70f Fix accessible panel toggles 2026-05-21 23:16:35 -04:00
Storm Dragon 439f65ec6c Improve web UI sound deployment 2026-05-21 22:56:24 -04:00
Storm Dragon c3a9b05392 Announce participant joins and leaves 2026-05-21 22:42:52 -04:00
Storm Dragon eae4afb7ce Add generated UI notification sounds 2026-05-21 20:42:52 -04:00
Storm Dragon 27b475dc18 Fix distro package binary outputs 2026-05-21 19:23:06 -04:00
Storm Dragon af9cc7b333 Fix Arch package test failures 2026-05-21 19:18:14 -04:00
Storm Dragon 0275413164 Test to be sure video doesn't break things, it just gets converted to audio. Cleaned up the login page show it doesn't show the logged in ui. 2026-05-20 14:52:23 -04:00
Storm Dragon e257b344d1 First pass at full fork pretty much complete. 2026-05-20 14:29:39 -04:00
Storm Dragon 6275e3adef Latest code. Working voice, still needs some ui cleanup and accessibility fixes but in decent shape. 2026-05-19 21:47:31 -04:00
Storm Dragon 01ce7529eb distro-packages added with a couple of initial build script. 2026-05-19 21:46:29 -04:00
Storm Dragon 965347cad4 Checkpoint audio-only Skald fork work 2026-05-18 13:06:57 -04:00
Storm Dragon a8ada950d5 Rename group package and defaults to halls 2026-05-17 22:37:38 -04:00
Storm Dragon 55528b8e62 Rename public group URLs to halls 2026-05-17 22:22:46 -04:00
Storm Dragon bda0e548d3 Rebrand project as Skald 2026-05-17 22:16:08 -04:00
Storm Dragon 77edf0539c Add Skald hard fork plan 2026-05-17 22:08:19 -04:00
Storm Dragon f718385342 Fix typo in missing user error 2026-05-09 12:56:31 -04:00
Storm Dragon 564d8fc85c Fix keyboard access for logout control 2026-05-09 12:53:33 -04:00
Storm Dragon 160cd7287e Merge remote-tracking branch 'upstream/master' into a11y 2026-05-09 12:48:22 -04:00
Storm Dragon 34a2751e71 Attempt fix for control+alt+t and c shortcuts. Add keyboard shortcuts to /help command. 2025-11-28 03:26:28 -05:00
Storm Dragon d51cb1aa90 Changed shortcuts a bit, added a mute/unmute shortcut to control+alt+t. 2025-11-28 01:10:56 -05:00
Storm Dragon 6f1cb957c3 Add keyboard shortcuts for some actions. 2025-11-28 00:52:24 -05:00
Storm Dragon 5e4b9ae439 Fixed problems with radio button grouping. Also added headings to chat area. 2025-11-28 00:11:51 -05:00
Storm Dragon ef2eeb073f Fix accessibility labels and context menu activation
Add descriptive ARIA labels to unlabeled controls and fix keyboard
activation for context menu items.

Changes:
- Add aria-label to chat message textarea ("Message or /command")
- Add aria-labels to Enable/Disable buttons ("Enable/Disable camera and microphone")
- Fix Enter/Space key activation in context menus by clicking parent <li> element

The context menu fix ensures that keyboard users can properly activate
menu items with Enter or Space. Previously, these keys had no effect
because the click handler is attached to the parent <li> element, not
the focused <div>.
2025-11-27 00:55:11 -05:00
Storm Dragon c0929247e7 Add keyboard navigation and accessibility to context menus
This commit makes the Contextual library menus fully keyboard accessible.
Previously, context menus (user menu and chat message menu) were only
usable with a mouse.

Changes:
- Add makeContextualMenuAccessible() helper function
  * Adds ARIA role="menu" to menu container
  * Adds role="menuitem" to each menu item
  * Makes menu items focusable with tabindex
  * Automatically focuses first menu item when opened

- Add keyboard navigation support
  * Arrow Up/Down: Navigate between menu items
  * Enter/Space: Activate selected menu item
  * Escape: Close menu

- Apply to both context menus
  * User menu (click/Enter on username)
  * Chat message menu (double-click on message)

- Focus management
  * First item automatically focused when menu opens
  * Roving tabindex for efficient keyboard navigation
  * Menu closes and returns focus after activation

This makes context menus fully accessible to keyboard and screen reader
users. They can now navigate menus with arrow keys and activate items
with Enter or Space.
2025-11-27 00:33:44 -05:00
Storm Dragon 3c58e13c11 Add keyboard navigation support and raise hand commands
This commit adds comprehensive keyboard navigation support for all
interactive elements and adds slash commands for raising hands.

Changes:
- Add /raisehand and /unraisehand slash commands
  * Previously only accessible via context menu
  * Now keyboard users can raise/lower hand from chat input
  * Shows up in /help command list

- Add keyboard event handlers (Enter/Space) for all interactive elements
  * User list items now respond to keyboard (open context menu)
  * Sidebar collapse button supports keyboard
  * Settings panel open/close supports keyboard
  * Video show/hide buttons support keyboard
  * Chat show/hide buttons support keyboard
  * All buttons now have role="button" and tabindex where needed

- Add keyboard support for chat resizer
  * Made resizer focusable with tabindex="0"
  * Added role="separator" and aria-label
  * Left/Right arrow keys resize chat panel
  * 20px step per keypress
  * Maintains minimum width constraint

These changes make Galene fully keyboard-accessible. Users who cannot
use a mouse can now navigate all controls using Tab, Enter, Space, and
arrow keys.
2025-11-27 00:31:21 -05:00
Storm Dragon 82ab7e553d Add additional accessibility improvements (quick wins)
This commit adds more accessibility enhancements that improve usability
for screen reader and keyboard users with minimal code changes.

Changes:
- Add aria-labels to all icon-only buttons
  * Show/hide video and chat toggle buttons
  * Video controls (play, volume, pip, fullscreen, stop)
  * Chat submit button (send message)
  * All buttons converted from spans/divs to proper button elements

- Add aria-label to volume slider
  * Screen readers can now identify the volume control

- Increase error message timeout from 4s to 8s
  * Gives screen reader users more time to read error messages
  * Messages still dismissible with close button

- Add semantic HTML landmarks
  * Changed main div to <main> element
  * Changed settings sidebar div to <aside> with aria-label
  * Added role="region" and aria-label to chat area
  * Left sidebar already uses <nav> element

- Fix typo and improve close button
  * Fixed id from "clodeside" to "closeside"
  * Converted close button from anchor to button element
  * Added aria-label "Close settings"

These changes improve navigation for screen reader users through proper
landmarks and ensure all interactive elements are properly labeled.
2025-11-27 00:11:44 -05:00
Storm Dragon e03c0be0f7 Add accessibility improvements for screen readers and keyboard navigation
This commit addresses critical accessibility issues that prevent blind users
and keyboard-only users from using Galene effectively.

Changes:
- Convert navigation buttons from divs to proper button elements with ARIA labels
  * Mute button now has aria-pressed state and updates label (Mute/Unmute)
  * Share screen button has proper aria-label
  * More options button has aria-label and aria-haspopup
  * Collapse sidebar button converted to proper button element
  * Close chat button converted to proper button element

- Add visible focus indicators for keyboard navigation
  * Restore focus outlines for all interactive elements
  * Add consistent 2px blue outline for buttons, inputs, selects, and links
  * Remove outline: none that was blocking keyboard users

- Add aria-live region for chat messages
  * New messages announced to screen readers in real-time
  * History messages not announced to avoid spam on page load
  * Includes .sr-only CSS class for screen-reader-only content

- Add aria-labels to video stream elements
  * Video containers labeled with username
  * Video elements labeled to identify stream owner
  * Helps screen reader users identify which video belongs to whom

- Add raised hand notifications for screen readers
  * Announces when users raise their hand
  * User list items show status (hand raised, camera on, microphone on)
  * Does not announce when you raise your own hand
  * Updates aria-label on user elements with full status

These changes make Galene significantly more accessible for users who rely
on screen readers or keyboard navigation.
2025-11-27 00:04:33 -05:00