Nuwan
5da85c1e79
feat(28-01): create external VU store with RAF batching
...
- Install use-sync-external-store shim for React 16 compatibility
- Create vuStore.js with external state management
- Implement RAF batching loop to limit updates to 60fps
- Add updateLevel, removeLevel, getSnapshot, getLevelSnapshot, subscribe, reset methods
- Store VU data outside React to avoid reconciliation overhead
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 20:19:41 +05:30
Nuwan
41e6a82c5d
test(08-02): add failing tests for JKChatMessageList
...
RED phase: Create test file with 3 test cases:
- Shows empty state when no messages
- Shows loading spinner when fetching
- Renders messages when available
Install @testing-library/react@12 and @testing-library/jest-dom@5
(compatible with React 16).
Create setupTests.js for jest-dom matchers.
Tests fail as expected (component not implemented yet).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-27 14:06:19 +05:30
Nuwan
b4fe7aaaa0
test(08-02): add failing test for formatTimestamp utility
...
RED phase: Create test file with 6 test cases for timestamp formatting:
- "Just now" for messages within last minute
- "X minutes ago" for messages within last hour
- "X hours ago" for messages within last day
- "Yesterday" for previous day messages
- Date format (MM/DD/YYYY) for older messages
- Graceful handling of invalid dates
Install dayjs for timestamp formatting utility.
Tests fail as expected (utility not implemented yet).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-27 14:04:09 +05:30
Nuwan
9cfef7d562
feat: migrate JKSessionScreen state to Redux with comprehensive testing
...
Phase 1 - Modal State Migration:
- Migrated 8 modal useState hooks to Redux (sessionUISlice)
- Centralized all modal state management (settings, invite, volume, recording, leave, jamTrack, backingTrack, mediaControls)
- Added modal actions: openModal, closeModal, toggleModal, closeAllModals
Phase 2 - Session Lifecycle Migration:
- Migrated session lifecycle to Redux (activeSessionSlice)
- State: hasJoined, guardsPassed, userTracks, connectionStatus, participants, recordingState
- Added async thunks: fetchActiveSession, joinActiveSession, leaveActiveSession
- Integrated connection monitoring with Redux
- Added clearSession action for proper cleanup on leave
- Created useSessionWebSocket hook for WebSocket-to-Redux bridge
- Added leaveSession API endpoint to rest.js
Testing Infrastructure:
- Created 57 unit tests (21 for sessionUISlice, 36 for activeSessionSlice)
- Added automated test runner: run-phase-tests.sh
- Added test:unit script to package.json for Jest-based testing
- All tests passing
Documentation:
- Created docs/ folder for better organization
- Added comprehensive testing guide (TESTING_GUIDE_PHASE1_AND_2.md)
- Added quick reference card (TESTING_QUICK_REFERENCE.md)
- Added testing summary (TESTING_COMPLETE_SUMMARY.md)
- Documented Phase 1 changes (PHASE1_MIGRATION_SUMMARY.md)
- Documented Phase 2 changes (PHASE2_MIGRATION_SUMMARY.md)
- Included migration guide (REDUX_MIGRATION_GUIDE.md)
Benefits:
- Single source of truth for session state
- Predictable state updates
- Redux DevTools support for debugging
- Improved testability
- Cleaner component code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-12 15:47:17 +05:30
Nuwan
4909717d55
wip session screen base
2025-09-20 22:00:36 +05:30
Nuwan
4b3db7fed4
wip session base page
2025-09-07 21:55:51 +05:30
Seth Call
0df9beb786
Cleaned up BrowserRouter, and added GA
2025-03-24 21:36:28 -05:00
Seth Call
d4546c6975
MR is ready for review
2025-02-27 07:55:08 -06:00
Seth Call
a9b9e592bb
resolved
2025-02-27 07:47:12 -06:00
Nuwan
8a8f1d14f9
fix fingerprint loading issue in jamtrack page
2025-02-14 17:00:42 +05:30
Nuwan
1d0a01c7ee
signup & download pages
...
signup and download pages behave the same way to the legacy site
2025-01-09 08:21:26 +05:30
Nuwan
c404cc0bb1
add filestack-js in package.json
2024-09-07 23:35:51 +05:30
Nuwan
136a3c399d
edit profile page ui changes
2024-08-21 00:49:58 +05:30
Nuwan
f904bdfc1c
wip jamtrack player
2024-08-14 08:44:08 +05:30
Nuwan
faecb69db9
jamtrack player WIP
2024-08-14 08:43:29 +05:30
Nuwan
2cc14be759
WIP: jamtracks, shopping cart and checkout pages
2024-08-14 08:43:18 +05:30
Nuwan
176ba1febe
JamTracks
...
includes JamTrack filter page
2024-06-10 13:45:15 +05:30
Nuwan
8868ff718f
add tests for affiliate earnings
2024-05-23 00:55:03 +05:30
Nuwan
27a3b3c09b
tweek ui and styles in browse sessions page
2023-11-28 16:48:55 +05:30
Nuwan
fcd9dd15f4
show native app unavailable modal
...
show this modal if the native JamKazam app is not available on user's computer.
occurs on submission of new session form and on clicking join session in
browse session page.
2023-11-09 16:19:15 +05:30
Nuwan
6a57530a8b
beta site current session listing with e2e tests
2023-11-01 18:58:08 +05:30
Nuwan
036d982ab7
package lock updated
2023-09-28 16:52:45 +05:30
Nuwan
295d613165
reduce number of sql queries in musicians filter
...
default last active option is set to 30 days
make it 5ms when neo4j returns 0 for audio latency
2022-10-20 17:53:23 +05:30
Nuwan
2110c4b1ce
UI changes as per the requests by David
2021-11-24 09:51:28 +05:30
Nuwan
e769eb0531
force https in production
2021-11-13 12:05:27 +05:30
Nuwan
e88cf16702
setup i18n with locale switcher in header
2021-11-11 07:55:17 +05:30
Nuwan
97f26e5e13
setup playwright e2e tests
2021-10-15 17:36:58 +05:30
Nuwan Chathuranga
918788f643
auth e2e test
2021-10-13 22:51:30 +05:30
Nuwan Chathuranga
89b3273125
showing incoming text mesages in chat window
2021-10-13 22:51:30 +05:30
Nuwan Chathuranga
b67af9d847
nav and latenvy changes
...
includes ui improvements to nagigation, showing latency details
of user and other ui related improments
2021-10-13 22:51:30 +05:30
Nuwan Chathuranga
6c88cd1215
wip - react components related to musician listing and filtering
2021-10-13 22:51:30 +05:30
Nuwan Chathuranga
4ee649c7f1
added updated files
2021-10-13 22:51:29 +05:30
Nuwan Chathuranga
35a9c945db
rename "jam-ui" directory to "ui"
2021-10-13 22:51:28 +05:30
Nuwan Chathuranga
fa8cd2fa7c
Initial changes to falcon package
...
* include changes to the templates to match new ui design.
* musician listing and filtering (initial phase)
* showing current logged in user in header
2021-10-13 22:51:27 +05:30
Nuwan Chathuranga
ea4fc496a1
initial falcon react package
2021-10-13 22:51:27 +05:30