v0.5 Release Notes
v0.5.0
Released: 2026-01-05
What's Changed
Changes since last production release
- Fix release notes sync: remove obsolete jobs, trigger sync-release-notes workflow (aa29467e)
- Fix logout not clearing auth state in admin routes (f1cb8d27)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.4.56...v0.5.0
v0.5.1
Released: 2026-01-06
What's Changed
Changes since last production release
- Fix getUserOrganizations test assertions for new return structure (5332e31f)
- Fix emulator test failures for organization services (d1a55ef2)
- Fix emulator tests for organization service (aa7af1a7)
- Fix usage metrics calculation for participants and recording storage (5fbfd660)
- Fix organization permissions for owners missing membership docs (ffb8d61e)
- Fix platform admin check - use isPlatformAdmin() function instead of req.user.platformRole (93acbd09)
- Code review fixes: static import and JSDoc correction (0ccff7cf)
- Add platform admin member management for organizations (b2b8064f)
- Fix org owner permissions by checking ownerId fallback and auto-repair (6cca818a)
- Fix emulator tests for subcollection-based membership model (e29d1537)
- Fix org membership after subcollection migration + add virtual org group (81acbc09)
- Refactor organization membership to use Firestore subcollections (439245dd)
- Fix sync-release-notes: add --repo flag to gh run list (4e58cccf)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.0...v0.5.1
v0.5.2
Released: 2026-01-06
What's Changed
Changes since last production release
- Fix owner data access and add granular permission badges (51a05e95)
- Fix Close button styling in ExperimentManager (cf858764)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.1...v0.5.2
v0.5.3
Released: 2026-01-06
What's Changed
Changes since last production release
- Fix data permissions by removing redundant organization context layer (8d18a828)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.2...v0.5.3
v0.5.4
Released: 2026-01-16
What's Changed
Changes since last production release
- Fix folders not persisting - add organizationId to folder creation (2a9b2fd6)
- Fix folder name not showing in media tables (8d2e7b92)
- Simplify experiments table - remove redundant columns and pagination (6fdded06)
- Consolidate shared experiments into unified experiments table (80aaaba6)
- Fix imageRoutes emulator tests for multi-tenant permissions (f0f0ac24)
- Fix V3 rooms route emulator tests for multi-tenant permissions (721fa273)
- Add SegmentsPerSubdirectory to MediaConvert HLS settings (9bc55d74)
- Fix api-v3-roomsRoute test to mock auth middleware (a2eeebd4)
- Add injectUserOrganization mock to emulator tests (53a6c259)
- Fix ExperimentsTable tests to wait for async loading (1f1e76a3)
- Fix test mocks for multi-tenant permission system (9b8160ab)
- Reduce HLS stuck detection threshold from 1-2 hours to 15-30 minutes (30d7a14c)
- Add multi-tenant isolation to media resources (images/videos) (ab8fbfd5)
- Fix V3 API middleware and add missing indexes (324137a1)
- Fix Firestore Timestamp handling in migration script (d12aa13c)
- Add Firestore index for sharedWith array-contains query (8f942b95)
- Implement multi-tenant permission system for cross-org collaboration (fafbd384)
- Update package-lock.json with @aws-sdk/client-mediaconvert (e18510cd)
- Fix race condition in experiment store socket handlers (d5d7f2ae)
- Use existing MediaConvert_Default_Role instead of creating new role (7a700eef)
- Migrate HLS transcoding from Lambda+FFmpeg to AWS MediaConvert (8748ab7f)
- Fix data permissions not persisting after modal close (3219e9ac)
- Fix role config mode affecting all focus states instead of just the selected one (bd7d350e)
- Use explicit Lambda credentials from env vars (520dc096)
- Fix HLS retry to actually invoke Lambda transcoder (35e50dd6)
- Fix text input flicker after debounced save (2fd2ffd5)
- Fix text input cursor jumping in experiment designer (2a8ed856)
- Fix experiment designer bugs: WebSocket writes, permissions, video transitions (49b1a3b1)
- Fix import errors in experimentDesignerServer.js causing deployment failure (5bf647e0)
- Fix dev deployment: add dev-specific ConfigMap for Redis connection (c247ba0d)
- Remove hardcoded namespace from k8s base config files (e34c9d89)
- Fix incorrect firebaseAdmin.js import paths (03a13d67)
- Fix RoomsTable import and test mock for dataServiceV3 (c8d69ce7)
- Fix RoomsTable test mocking wrong service module (3365e346)
- Refactor experiment designer: add WebSocket saves and split endpoints (1b0209cd)
- Fix shallow copy bug in state duplication causing shared role configs (386216a6)
- Fix data permissions: use verifyDataAccess for all V3 data routes (242d1c02)
- Update HLS transcoder docs for S3→SQS→Lambda architecture (23292268)
- Fix data permissions not persisting reliably (ed2f2364)
- Remove temporary push trigger after successful deployment (3d4c4f6e)
- Fix: Heredoc YAML syntax for SQS queue policy (68a31f68)
- Fix: Default environment to production for push triggers (16c66306)
- Add temporary push trigger for deployment (59172181)
- Fix: SQS queue policy JSON escaping for set-queue-attributes (d0deeeea)
- Fix: Always update Lambda IAM role policy for SQS permissions (d629bd2b)
- Add robust HLS transcoding with S3→SQS→Lambda architecture (9d84cc1b)
- Fix data permission user persistence by using backend ID (80ffbd18)
- Fix data permissions display order and UI consistency (98a1abdf)
- Add socket emit to data permission endpoints to invalidate experiment cache (e80c1d92)
- Add permissions.users handler to video and image routes (e5059bbf)
- Add permission enrichment to list endpoints for experiments, videos, and images (85c45da7)
- Fix logger import - use named export instead of default (5364b4d3)
- Add permission enrichment for videos, images, and data permissions (c5404c6a)
- Fix data permissions: use dataPermissions format for DATA resource type (ec0cd49d)
- Add granular user permission storage via permissions.users (6fcd1c69)
- Update tests for new pro plan quotas (100 experiments, 10 members) (81515555)
- Increase pro plan team members limit from 5 to 10 (53d2f20f)
- Increase pro plan experiment limit from 25 to 100 (67409d45)
- Fix permission system: prioritize groupIds over dataPermissions (13905259)
- Add entry-point logging to normalizePermissions to trace code path (f945b72c)
- Add version marker and improved debug logging to verify code deployment (7b457b6e)
- Fix group name display by setting groupName property explicitly in normalizePermissions (f2b290bd)
- Add logging for enriched group data in GET response (6135af14)
- Add detailed debug logging for group name enrichment issue (af515125)
- Add debug logging for permission persistence issue (5e504af6)
- Fix org display names in permission manager (edb684a5)
- Fix multiple organization bug in permission system (55e696dd)
- Add delete group functionality and permission debug logging (6bfb4e41)
- Fix permission manager initialization timing and add globe icon (965570d3)
- Fix duplicate organizations in permission system (49cbba22)
- Add unified permission support for videos and images (997cf104)
- Fix permission persistence and optimize permission API calls (fc9367ec)
- Improve permission manager UI: toast notifications, Public row in table (f9d39e61)
- Fix page refresh when toggling experiment permissions (6b48eaaf)
- Fix undefined event error in permission change handlers (dcde316f)
- UI tweaks: horizontal buttons, remove info note (0966b07a)
- Fix unifiedPermissionService tests to match new API endpoints (4c19106f)
- Fix UnifiedPermissionManager API and UI issues (0dfda249)
- Fix UnifiedPermissionManager UI issues (3ad983cf)
- fix: update shared index.js to export UnifiedPermissionManager instead of deleted PermissionManager (39e6bf19)
- feat: unified permission system with comprehensive tests (0acd6079)
- Fix modal closing when clicking buttons inside PermissionManager (b6b5e92b)
- Fix media permission management issues (ff3111b3)
- Fix media permission changes not working (014d7abe)
- Add tests for UserSearchDropdown and GroupManager shared components (19cc7346)
- Add explicit group existence check and improve error messages for group member operations (929e8f98)
- Fix getGroupMembers to fetch users by document ID not field (0219919c)
- Fix data permissions bugs: 404 on add member, 502 on delete (34e23077)
- Refactor group management into shared GroupManager component (2d615c79)
- Fix data permissions modal name enrichment and layout (52da4307)
- Improve DataShareModal UX and fix permission logic (19069b32)
- Redesign DataShareModal with table-based UI and bug fixes (e35fdd86)
- Fix middleware factory invocation: add () to requireAuthenticated (a71888a8)
- Fix Express route ordering: move /groups before /:uid (a553c139)
- Add debug logging to requireExperimenterOrOrgAdmin middleware (3f8899dc)
- Fix data permissions modal issues and org admin access (a7d4a238)
- Fix data permissions: route ordering and org admin check (fd5ac256)
- Fix requireExperimenterOrOrgAdmin to allow org members (3e5d1e54)
- Fix emulator test: add requireExperimenterOrOrgAdmin mock (92266246)
- Add permission checks to image management endpoints (19b2af0f)
- Fix media management permissions to include org admin access (11dc6cdb)
- Fix data management permissions and Settings button modal (58a51bd7)
- Improve Data Permissions UI with icons and clearer terminology (257c33d9)
- Fix: Add missing participant_sessions Firestore rule (a52fde77)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.3...v0.5.4
v0.5.5
Released: 2026-01-17
What's Changed
Changes since last production release
- Fix LocalStack CI flakiness: use docker run instead of service container (1a919e94)
- Add real-time collaboration for experiment designer (Phase 1) (81f25cb1)
- Remove HTTP auto-save fallback from ExperimentDesigner (7f64e0c2)
- Fix memory leak: cleanup debounce timeout on unmount (ec5534cc)
- Fix double-save: use setLocalField for WebSocket mode (6cb9ffd3)
- Fix questionnaire not persisting - autoSave.experiment is getter-only (91c49c41)
- Fix questionnaire debounce race condition losing new questions (ddd1ece6)
- Fix PostExperimentQuestionnaire input not working with WebSocket mode (8fa6782f)
- Fix platform admin permissions for experiments, media, and data access (78d9f4a5)
- Fix PostExperimentQuestionnaire input not working with WebSocket mode (93621598)
- Add V4 Participant API with session-based authentication (9a5ed15c)
- Exclude LocalStack tests from main test suite (ca123ec7)
- Update package-lock.json with LocalStack testing dependencies (e22abded)
- Add LocalStack AWS testing infrastructure and MediaConvert Lambda unit tests (6e003651)
- Use absolute paths for release notes links in Docusaurus (052a66aa)
- Fix relative links in release notes index - remove ./ prefix (51a412d5)
- Fix version sorting and awk pattern for release notes index (51ac630f)
- Add auto-regeneration of release notes index.md (79387977)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.4...v0.5.5
v0.5.6
Released: 2026-01-18
What's Changed
Changes since last production release
- Fix data permissions showing raw IDs instead of group names (10e0ff2c)
- Skip deprecated experimenterRoutes endpoint tests (f4200988)
- Fix: move logger import inside try-catch in experimenterRoutes (50abd39c)
- Fix logger reference error in getExperimenterExperiments deprecation warning (ae8591ff)
- Fix ExperimentsTable tests to use loadOrgExperiments mock (0ed38490)
- Migrate frontend to V3 experiment API for faster loading (3d96d508)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.5...v0.5.6
v0.5.7
Released: 2026-01-18
What's Changed
Changes since last production release
- Fix deployment workflow and pod router configuration (fc8daf84)
- Fix pod router to support dynamic HPA scaling (fixes multi-participant sync) (a4a724b7)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.6...v0.5.7
v0.5.8
Released: 2026-01-19
What's Changed
Changes since last production release
- Fix MediaConvert HLS transcoding - add required segmentsPerSubdirectory (0774a86b)
- Fix: Add organizationId to multipart upload video document (06f55593)
- Fix security and error handling in multipart upload (2eb512aa)
- Add multipart upload support for large video files (>100MB) (2cd11949)
- Increase video upload size limit from 5GB to 10GB (445b824f)
- Add resource permissions migration script (6bf22745)
- Fix emulator tests to use dynamic plan values from plans.js (584d8dee)
- Consolidate monitoring dashboards from 10 to 3 (e6b7149e)
- Add sync-quotas migration script for updating organization quotas (cc83ef55)
- Update usage tracking tests for new Pro plan quotas (431f7fea)
- Fix invite member modal to use correct API endpoint (636b4327)
- Update plan quotas and video upload limits (a641b231)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.7...v0.5.8
v0.5.9
Released: 2026-01-20
What's Changed
Changes since last production release
- Fix TriggerComponent tests to use keydown instead of keypress (b1957826)
- Fix WebSocket not connecting after experiment creation (98b7a053)
- Code review fixes: remove unused code, add button types, use keydown (135cbb06)
- Redesign Trigger component UI with new Receive Then Send mode (b6023e03)
- Fix experiment creation not saving all config fields (681bc63a)
- Fix WebSocket race condition and undefined disconnectTimeout errors (5d37fd74)
- Fix metadata changes failing for new experiments (93f69568)
- Fix experiment creation failing due to missing WebSocket connection (cd0570cb)
- Fix tests to use visibility field after permission field consolidation (17e2288b)
- Fix visibility field mismatch causing participants to not see public experiments (d8d0386c)
- Complete WebSocket migration for experiment designer (0f47cde9)
- Fix storage metrics queries to deduplicate by type (9ceab839)
- Add Usage & Billing dashboard to Grafana configmap (e5aa9b87)
- Add prometheus aggregation rules with proper subquery syntax (10e6f4c0)
- Fix prometheus rules syntax and workflow --repo flag (65ed44ca)
- Fix missing --repo flag in gh run list commands in promote workflow (f9dac5ea)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.8...v0.5.9
v0.5.10
Released: 2026-01-20
What's Changed
Changes since last production release
- Fix ExperimentsTable search to use substring matching (3d5b5190)
- Fix V3 API participant data access to use roomId from query params (3fe66a86)
- Fix dataAccessControl to support both inline and Firestore org checks (b6f7ef10)
- Update DataDownloader documentation to reflect V3 API migration (7903ba01)
- Add BridgeTriggerSetup component and Storybook documentation (7d16bfc9)
- Clean up dead code and migrate to V3 APIs (1b52d7ad)
- Use TabGroup component for trigger mode selection (4b651061)
- Fix V3 API permission issues for organization administrators (22ad0671)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.9...v0.5.10
v0.5.11
Released: 2026-01-21
What's Changed
Changes since last production release
- Fix PlatformAdminDashboard test to expect 14 nav tabs (729ff624)
- Add Account Requests tab to Platform Admin and remove legacy admin dashboard (131268e4)
- Update settings UI to use green primary color and hide radio button dots (14598b03)
- Add migration script to fix experiments with deleted: undefined (9a562e8a)
- Fix permissions for platform admins and experiment participants (28415e49)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.10...v0.5.11
v0.5.12
Released: 2026-01-22
What's Changed
Changes since last production release
- Fix ProlificFilters: guard against undefined filterValues during render (14540683)
- Fix emulator tests for permission system changes (35833df4)
- Fix remaining test using removed POST /participants/assignments route (27f61740)
- Fix Prolific integration issues (8d5306d1)
- Fix emulator tests for removed routes and permission changes (e7f0e5f3)
- Fix missing logAuditEvent export causing dev deployment crash (7b0a6e9f)
- Fix Prolific tests to use new service layer mocks (f7d644bd)
- Prolific integration security fixes and refactor (db54354a)
- Fix org admin permission check for experiment access (5e6da217)
- Fix frontend tests for removed deprecated functions (3a6cdcf6)
- Codebase cleanup: remove dead code and legacy permission system (fa747211)
- Add experiment permissions diagnostic and repair scripts (98341db4)
- Fix signed URL flow for video preloading to prevent CORS errors (1eb7d3a6)
- Complete Phase 4 membership migration: remove legacy arrays, single source of truth (e7398e01)
- Add tests for new platform admin user management features (13a571ca)
- Add user management actions to Platform Admin users table (93124b8c)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.11...v0.5.12
v0.5.13
Released: 2026-01-26
What's Changed
Changes since last production release
- Fix platform admin queries and update org delete tests (f69abcd8)
- Remove test for personal org delete restriction (f7e299a6)
- Fix organization delete issues and allow personal org deletion (136f53e6)
- Add delete button to organization table rows (2515efd7)
- Fix authService tests missing user.reload() mock (f77bbb4b)
- Add organization rename and delete for Platform Admin (329b3e61)
- Fix non-invited users being auto-approved as experimenters (2c8c2a25)
- Fix navigation buttons missing detail wrapper in auth routes (4ba02ce7)
- Match Platform Admin logout button styling to Experimenter dashboard (fda9c9ac)
- Fix email verification status not updating for invited users (cd18a2d2)
- Add comprehensive debug logging to invitation auto-approval flow (60da9c3d)
- Add debug logging for invitation registration flow (d44ab056)
- Fix race condition preventing auto-approval of invited experimenters (8acd5ec0)
- Remove hourglass icon from pending approval screen (d8bce053)
- Add invite user button to platform admin users section (68993db0)
- Add migration to set all experiments to organization visibility (08553a8a)
- Add visibility indexes and consolidate Firestore index files (c42a5319)
- Fix grantPermission to return existing permission instead of throwing (9e87fa21)
- Fix org member visibility for organization-scoped experiments (d73d4493)
- Update platform admin user invite modal for org-based invitations (e5901780)
- Add org key visibility for members and key preference toggle (62c81758)
- Fix emulator test status code expectations for V3 permission endpoints (3323d5e3)
- Unify permission system across all resources (images/videos/folders) (7ebc4d31)
- Add organization sharing toggle to API Key Manager (71c8fb08)
- Fix emailRoutes emulator test for updated invite-user endpoint (6f90e195)
- Fix Prolific test mocks: update API key format and error message assertion (09d4477e)
- Fix orgInvitationRoutes test: add missing requireExperimenterOrAdmin mock (dd583448)
- Consolidate invitation system and add experiment participant invitations (bd9ee0d9)
- Move Clear All button to top of notifications panel (110f8974)
- Fix experimenter registration flow for pending approval (a0895e74)
- Fix organization invitation links for multi-tenant system (fa91ffae)
- Fix Prolific workspace loading error and add organization API key sharing (58a107f1)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.12...v0.5.13
v0.5.14
Released: 2026-01-30
What's Changed
Changes since last production release
- Fix LiveKit webhook lookup for individual participant recordings (a8189fb1)
- Fix sparse rating pause times for videos with startTime > 0 (c1585da3)
- Fix TTL trigger bridge protocol mismatch (085499f7)
- Fix sparse rating duration, negative onset clamping, and recording events (c65542e7)
- Fix event timing for reused rooms by resetting firstStateStartedAt (fbb0694e)
- Fix sparse rating sampling for short videos with stratified distribution (e5853aa9)
- Fix event timing accuracy and data management UX improvements (3697473b)
- Fix experimentStore test mock missing logger.debug method (c8fdb156)
- Fix event timing accuracy for neuroscience research (f83b1f4e)
- Fix LiveKit egress webhook roomName extraction using snake_case fields (09859693)
- Consolidate LiveKit routes and fix duplicate webhook events (98bb90e9)
- Fix device setup requesting permissions before enumerating devices (c97c5cd4)
- Fix LiveKit device setup showing empty dropdowns (088f148a)
- Fix LiveKit webhook routing for HTTPS requests in dev (05f72c3d)
- Fix LiveKit webhook delivery in dev environment (3b347b88)
- Remove TLS section from webhook IngressRoute to match production pattern (7890d5cf)
- Fix LiveKit webhook delivery in dev by adding Host-agnostic IngressRoute (14798d8a)
- Fix recording events and timing issues (99405c03)
- Fix egress webhooks being silently ignored due to room name extraction (158f8261)
- Fix Prolific API key fallback for non-owner organization members (2a782609)
- Fix recording event onset timing, participant ID extraction, and missing organizationId (978fdb20)
- Fix emulator tests for getExperimentStartTime → getContentStartTime rename (e4dd5e26)
- Fix sparse ratings, recording events, onset timing, and experiments table (0c0f048b)
- Remove experimentStartedAt, use firstStateStartedAt everywhere (b95fbf3f)
- Fix sparse rating reconnection bugs: video position and rating re-triggers (6afe5a7a)
- Fix webhook event data loss and add recording lifecycle events (6418a0f9)
- Fix recording event logging and disable composite recording (3a3e8bc7)
- Fix invited members seeing 'Account Pending Approval' screen (7b22a469)
- Fix data processor fallbacks, participant ID normalization, and completion codes (2ac0ce5b)
- Add video.recording.started event and recording offset tracking (47205c6f)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.13...v0.5.14
v0.5.15
Released: 2026-01-30
What's Changed
Changes since last production release
- Fix video duration for HLS videos in sparse rating component (4e2b0de8)
- Fix experiment save allowing states without transition types (b3801a75)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.14...v0.5.15
v0.5.16
Released: 2026-01-31
What's Changed
Changes since last production release
- Standardize media visibility field and integrate resourcePermissions (053aba5c)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.15...v0.5.16
v0.5.17
Released: 2026-02-02
What's Changed
Changes since last production release
- Fix state reordering within groups not persisting (058d4bd7)
- Fix Prolific "Invalid access token" error by switching to v2 gateway (82377e18)
- Fix Prolific org shared key not loading workspaces (ae8ee241)
- Fix TTL device status not auto-detecting on Bridge connect (b3c76fcc)
- Simplify bridgeService for single-message Bridge protocol (753779d3)
- Fix 404 error by using correct /api/experiments/v3 endpoint (7504da24)
- Use uppercase device types for consistent Bridge response format (db96117a)
- Fix Bridge response handling to buffer data before ack (80879494)
- Update bridgeService to handle Bridge v0.8.8+ status response format (3c396eae)
- Fix TTL and Kernel device connection detection in bridgeService (3717b156)
- Fix needsDeviceSetup undefined error in handleBackendSetupComplete (cb70b7e3)
- Integrate unified DeviceSetupManager into ExperimentRunner (5f59d6ec)
- Simplify device integration with flat data structure and DeviceCard UI (e96aaf6f)
- Remove Kernel forwarding tests from dataServiceV2 (moved to deviceStore) (47420fdb)
- Add unified device management system for experiment hardware integration (5da81d52)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.16...v0.5.17
v0.5.18
Released: 2026-02-02
What's Changed
Changes since last production release
- Fix failing Prolific gateway tests (9fe1466b)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.17...v0.5.18
v0.5.19
Released: 2026-02-03
What's Changed
Changes since last production release
- Fix gear button visibility - use all:unset to clear global styles (d690bc28)
- Fix recruitment settings UI - search, gear visibility, and border (0dff4e83)
- Fix Prolific gateway auth error - reorder route registration (a0ce00a2)
- Fix gear icon visibility and allow unselecting all recruitment methods (f572dc9f)
- Fix MediaConvert HLS transcoding - IAM role and duration extraction (68d3490d)
- Fix recruitment card layout - move gear icon inside header (f63d5ede)
- Redesign recruitment configuration UI with focus mode and unified search (995cf414)
- Add multi-select recruitment methods and fix public experiments query (f839ca2b)
- Add missing index for V4 participant assignments query (076e17b1)
- Add debouncing to text inputs in experiment designer config editors (20af7f70)
- Fix EligibleRooms test to include loadExperiments mock (58effa21)
- Fix participants unable to see public experiments (13a65c24)
- Remove redundant video.recording.requested event (d0e8a611)
- Fix video duration not being captured in MediaConvert transcoding pipeline (3db6fb7d)
- Fix audio recordings not appearing in Data Management (91033c53)
- Fix spurious "Unknown error" in TTL Trigger Setup modal (295ea31c)
- Fix trigger and scanner pulse events not being recorded (daad999e)
- Fix org admin visibility for images/videos and modal blur issue (32aad81b)
Full Changelog: https://github.com/ljchang/hyperstudy/compare/v0.5.18...v0.5.19