Skip to content

Releases: metaversecloud-com/jukebox

Release v2.1.2

24 Apr 20:38
952bbe4

Choose a tag to compare

? Release v2.1.2

Version Bumps Applied:

  • Major: false
  • Minor: false
  • Patch: true

Triggered by: PR #21 - Fix removing currently playing song from catalog
Merged by: @LinaBell

Changes in this PR

Summary

  • When the currently playing song is removed from the catalog, the canvas media now stops immediately and skips to the next available song in the queue
  • If no songs remain in the queue, media is set to none and nowPlaying is cleared
  • Publishes a nowPlaying SSE event so all connected clients update immediately
  • Previously, removing a playing song only updated the data object without stopping the canvas media, causing the removed song to continue playing, loop, or create desync between UI and audio

Test plan

  • Play a song, remove it from catalog while playing — verify it stops and next song starts
  • Play a song with nothing in queue, remove from catalog — verify media stops completely
  • Play a song, remove a different song from catalog — verify currently playing is unaffected
  • As non-admin user, verify audio stops when admin removes the currently playing song
  • Remove from queue (not catalog) — verify existing behavior unchanged

Generated with Claude Code (https://claude.com/claude-code)


This release was automatically created by the Auto Release workflow

What's Changed

  • Fix removing currently playing song from catalog by @LinaBell in #21

Full Changelog: v2.1.1...v2.1.2

Release v2.1.1

16 Apr 02:20
7b67c07

Choose a tag to compare

? Release v2.1.1

Version Bumps Applied:

  • Major: false
  • Minor: false
  • Patch: true

Triggered by: PR #20 - Prevent crashes from API timeouts & fix build issues related to pipeline update
Merged by: @LinaBell

Changes in this PR

Summary:

  • Add res.headersSent guard in errorHandler to prevent double-send crashes when Topia public API returns 502 timeout
  • Add unhandledRejection and uncaughtException process handlers as safety net
  • Fixes intermittent app crashes during API timeouts

Test plan:

  • Verify app continues to handle normal errors correctly
  • Verify app does not crash when an SDK call times out mid-request
  • Verify error is logged but response completes gracefully when headers already sent

Generated with Claude Code (https://claude.com/claude-code)


This release was automatically created by the Auto Release workflow

What's Changed

  • Prevent crashes from API timeouts & fix build issues related to pipeline update by @LinaBell in #20

Full Changelog: v2.1.0...v2.1.1

Release v2.1.0

15 Apr 18:15
8e443ed

Choose a tag to compare

? Release v2.1.0

Version Bumps Applied:

  • Major: false
  • Minor: true
  • Patch: false

Triggered by: PR #19 - Add admin settings UI for mode, name, and image
Merged by: @LinaBell

Changes in this PR

Summary

  • Replaces the AUDIO_ONLY env var with a per-asset admin setting stored in the dropped asset data object
  • New Admin Settings section with Mode dropdown (Jukebox/Karaoke), Name input, and Image URL input
  • Header component now shows custom name/image with mode-based defaults (Jukebox or Karaoke)
  • AUDIO_ONLY env var still respected as fallback for backwards compatibility
  • New POST /api/settings endpoint (admin-only) with validation and locking

Test plan

  • Open as admin, navigate to Admin tab, verify Settings section appears with current values
  • Change Mode to Jukebox, save, verify next song plays as audio only
  • Change Mode to Karaoke, save, verify next song plays with video
  • Set custom Name, verify Header displays it
  • Set custom Image URL, verify Header displays it
  • Clear Name/Image URL, verify defaults appear based on Mode
  • Verify non-admin users cannot access /api/settings (returns 401)
  • Verify existing assets without settings get default settings on first load
  • Verify AUDIO_ONLY env var still works as fallback when settings.mode is missing

Generated with Claude Code (https://claude.com/claude-code)


This release was automatically created by the Auto Release workflow

What's Changed

  • Add admin settings UI for mode, name, and image by @LinaBell in #19

Full Changelog: v2.0.8...v2.1.0

Release v2.0.8

31 Mar 20:53
605354f

Choose a tag to compare

? Release v2.0.8

Version Bumps Applied:

  • Major: false
  • Minor: false
  • Patch: true

Triggered by: PR #18 - Release: Update @rtsdk/topia to v0.20.1
Merged by: @LinaBell

Changes in this PR

Summary

  • Update @rtsdk/topia SDK dependency to v0.20.1

Test plan

  • Verify app starts without errors
  • Verify SDK interactions work correctly

🤖 Generated with Claude Code


This release was automatically created by the Auto Release workflow

What's Changed

Full Changelog: 2.0.7...v2.0.8

2.0.7

25 Apr 01:26
75e63ad

Choose a tag to compare

What's Changed

Full Changelog: 2.0.6...2.0.7

2.0.6

06 Feb 21:39
dc566c8

Choose a tag to compare

What's Changed

Full Changelog: 2.0.5...2.0.6

2.0.5

03 Oct 17:50
b28aa69

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.4...2.0.5

2.0.4: Change particle position to be above asset (#7)

10 Jun 15:55
ea8598e

Choose a tag to compare

* Initialize dev

* Add production release CICD

* Create Vite App in Client

* Remove Vite boilerplate

* Configured port and proxy

* express server setup, vite build dir, prettier

* Server Boilerplate

* Path alias configured

* Client boilerplate

* Client boilerplate set up

* README done, ports changed, env setup

* Removed test button

* Google API added

* Server changed to ts

* client updated

* minimalistic jukebox done (v 0.0.1)

* Search set up

* webhook route created

* UI started

* Client Side WIP

* Server side WIP

* Added marquee and infinite scroll

* playVideos from client, reorg

* Locking Implemented

* Get Catalog

* skeleton loader and sse trial

* implemented sse

* improved infinite scroll

* client cleanup

* SSE using event emitters WIP

* global event emitter object

* admin wip

* Add to Queue done

* client cleanup

* server cleanup

* ready for testing

* package lock regenerated

* Docker file changed

* Update aws-dev.yml

* Added npx to package json

* file extensions added manually

* Update package.json

* Update package.json

* Update Dockerfile

* cicd

* improved queuing

* update package-lock and restore npm start script

* copy all content

* update dev pipeline

* temporarily ignore ts

* Changed file name

* improved health check

* Admin settings (remove from catalog)

* (temp) dont remove currently playing video

* Replace fetch-event-source with EventSource

* scalability using redis

* removed temp fix

* removed redis password

* removed redis port

* redis connection trial

* add connect timeout

* temp very large connect timeout

* removed connect timeout

* minor bug fixes

* small bug fix

* Used updated stylesheet, added checkInteractiveCred

* updates wip

* queue wip

* queue done

* rename

* redis url fix

* added error handler

* more updates

* fix nowPlaying err

* audio only for stride

* removed hard coded and added AUDIO_ONLY env

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* fix error screen

* Add production release CICD

* Add production release CICD

* clean workflows

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Add production release CICD

* Update aws_dev_release.yml

* Update aws_dev_release.yml

* Update aws_dev_release.yml

* Update aws_dev_release.yml

* Add production release CICD

* Add production release CICD

* Add production release CICD

* jukebox analytics

* analytics & particles

* views fix

* UI fix

* particle effect fallback

* bug fix on queue

* Update SDK

* added particle name to healthcheck

* gitignore

* search bug fix + hide add button when loading

* remove particles from env

* move server start date

* use updatePublicKeyAnalytics method

* update particle effect position

---------

Co-authored-by: LinaBell <lina@topia.io>
Co-authored-by: Terraform <terraform@topia.io>
Co-authored-by: notchjpl <128665993+notchjpl@users.noreply.github.com>
Co-authored-by: Juan Pablo Lorier <jplorier>

Only Audio option

02 May 14:36
16fa261

Choose a tag to compare

Audio only for Stride (#5)

* Initialize dev

* Add production release CICD

* Create Vite App in Client

* Remove Vite boilerplate

* Configured port and proxy

* express server setup, vite build dir, prettier

* Server Boilerplate

* Path alias configured

* Client boilerplate

* Client boilerplate set up

* README done, ports changed, env setup

* Removed test button

* Google API added

* Server changed to ts

* client updated

* minimalistic jukebox done (v 0.0.1)

* Search set up

* webhook route created

* UI started

* Client Side WIP

* Server side WIP

* Added marquee and infinite scroll

* playVideos from client, reorg

* Locking Implemented

* Get Catalog

* skeleton loader and sse trial

* implemented sse

* improved infinite scroll

* client cleanup

* SSE using event emitters WIP

* global event emitter object

* admin wip

* Add to Queue done

* client cleanup

* server cleanup

* ready for testing

* package lock regenerated

* Docker file changed

* Update aws-dev.yml

* Added npx to package json

* file extensions added manually

* Update package.json

* Update package.json

* Update Dockerfile

* cicd

* improved queuing

* update package-lock and restore npm start script

* copy all content

* update dev pipeline

* temporarily ignore ts

* Changed file name

* improved health check

* Admin settings (remove from catalog)

* (temp) dont remove currently playing video

* Replace fetch-event-source with EventSource

* scalability using redis

* removed temp fix

* removed redis password

* removed redis port

* redis connection trial

* add connect timeout

* temp very large connect timeout

* removed connect timeout

* minor bug fixes

* small bug fix

* Used updated stylesheet, added checkInteractiveCred

* updates wip

* queue wip

* queue done

* rename

* redis url fix

* added error handler

* more updates

* fix nowPlaying err

* audio only for stride

* removed hard coded and added AUDIO_ONLY env

---------

Co-authored-by: LinaBell <lina@topia.io>
Co-authored-by: Terraform <terraform@topia.io>
Co-authored-by: notchjpl <128665993+notchjpl@users.noreply.github.com>
Co-authored-by: Juan Pablo Lorier <jplorier>

More updates

22 Apr 18:19
0b1d2b6

Choose a tag to compare

More updates (#4)

* Initialize dev

* Add production release CICD

* Create Vite App in Client

* Remove Vite boilerplate

* Configured port and proxy

* express server setup, vite build dir, prettier

* Server Boilerplate

* Path alias configured

* Client boilerplate

* Client boilerplate set up

* README done, ports changed, env setup

* Removed test button

* Google API added

* Server changed to ts

* client updated

* minimalistic jukebox done (v 0.0.1)

* Search set up

* webhook route created

* UI started

* Client Side WIP

* Server side WIP

* Added marquee and infinite scroll

* playVideos from client, reorg

* Locking Implemented

* Get Catalog

* skeleton loader and sse trial

* implemented sse

* improved infinite scroll

* client cleanup

* SSE using event emitters WIP

* global event emitter object

* admin wip

* Add to Queue done

* client cleanup

* server cleanup

* ready for testing

* package lock regenerated

* Docker file changed

* Update aws-dev.yml

* Added npx to package json

* file extensions added manually

* Update package.json

* Update package.json

* Update Dockerfile

* cicd

* improved queuing

* update package-lock and restore npm start script

* copy all content

* update dev pipeline

* temporarily ignore ts

* Changed file name

* improved health check

* Admin settings (remove from catalog)

* (temp) dont remove currently playing video

* Replace fetch-event-source with EventSource

* scalability using redis

* removed temp fix

* removed redis password

* removed redis port

* redis connection trial

* add connect timeout

* temp very large connect timeout

* removed connect timeout

* minor bug fixes

* small bug fix

* Used updated stylesheet, added checkInteractiveCred

* updates wip

* queue wip

* queue done

* rename

* redis url fix

* added error handler

* more updates

* fix nowPlaying err

---------

Co-authored-by: LinaBell <lina@topia.io>
Co-authored-by: Terraform <terraform@topia.io>
Co-authored-by: notchjpl <128665993+notchjpl@users.noreply.github.com>
Co-authored-by: Juan Pablo Lorier <jplorier>