* Replace the WCF webserver with an ASP.NET Core webserver (VocaluxeWeb)
- New project VocaluxeWeb: ASP.NET Core 2.3 (Kestrel) on .NET Framework 4.8.1, HTTP or HTTPS
with a self-signed certificate, REST API (/api/v1) with Swagger, live events (Server-Sent Events)
- Access to the game only through IVocaluxeRemote; requests run on the main thread once per frame
- Sessions with roles (guest, player, admin) and configurable permissions, PINs hashed with PBKDF2
- Queue as a playlist with requesters and singers, fair order (one song per person and round)
- Admin: settings, server status, logged-in devices, activate/deactivate and delete profiles
- Profile pictures: own photo or one of the Vocaluxe avatars
- Game: WebApp queue screen (song options, playlist group) to start the next song with the chosen
singers, return to it after singing, warning when the webserver is off, remote keyboard
- Old WCF server, WebserverInitalConfig and URL reservations removed; libraries moved to libs/managed
- Unit tests for PIN hashing, settings and permissions, queue order and device names
- AppVeyor: Visual Studio 2022 image and Node.js 24 (the build compiles the WebApp)
- Documentation in VocaluxeWeb/README.md
* New WebApp (Vue 3, TypeScript, Vite) replacing the old jQuery Mobile website
- Login with profile and PIN, create profiles
- Songs with search, filters, sorting and 30 second previews
- Queue: add songs with game mode, audio and singers, edit, reorder, start in the game
- Playlists: create, edit, add to the queue
- Now playing with live updates, remote control and keyboard
- Players: own profile with picture (photo or Vocaluxe avatar), roles for admins
- Admin settings: permissions, server status, devices, profiles
- Help page, responsive layout for phones, tablets and desktops, light and dark mode
- Texts in WebApp/src/locales/en.json, translated with Transifex
- Old website and PhoneGap config removed
---------
Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
* Add: Transifex file and renamed lang files
* Translate Vocaluxe/Website/locales/en.json in tr
100% translated source file: 'Vocaluxe/Website/locales/en.json'
on 'tr'.
* Translate Vocaluxe/Website/locales/en.json in es
100% translated source file: 'Vocaluxe/Website/locales/en.json'
on 'es'.
* Rename all language files to match transifex.
* Manual sync of translations
* Another manual sync of translations
* Adjust pr branch name
* Translate Output/Languages/en.xml in pt
97% of minimum 90% translated source file: 'Output/Languages/en.xml'
on 'pt'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* Translate Output/Languages/en.xml in cs
96% of minimum 90% translated source file: 'Output/Languages/en.xml'
on 'cs'.
Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format
* Translate Output/Languages/en.xml in it
100% translated source file: 'Output/Languages/en.xml'
on 'it'.
* Translate Output/Languages/en.xml in ru
100% translated source file: 'Output/Languages/en.xml'
on 'ru'.
* Translate Output/Languages/en.xml in sv
100% translated source file: 'Output/Languages/en.xml'
on 'sv'.
* Translate Output/Languages/en.xml in de
100% translated source file: 'Output/Languages/en.xml'
on 'de'.
* Translate Output/Languages/en.xml in fr
100% translated source file: 'Output/Languages/en.xml'
on 'fr'.
* Translate Vocaluxe/Website/locales/en.json in hu
100% translated source file: 'Vocaluxe/Website/locales/en.json'
on 'hu'.
* Translate Vocaluxe/Website/locales/en.json in ru
100% translated source file: 'Vocaluxe/Website/locales/en.json'
on 'ru'.
* Fix: Unescape String during xml reading
* Translate Output/Languages/en.xml in ru
100% translated source file: 'Output/Languages/en.xml'
on 'ru'.
* Translate Output/Languages/en.xml in ru
100% translated source file: 'Output/Languages/en.xml'
on 'ru'.
* Translate Output/Languages/en.xml in ru
100% translated source file: 'Output/Languages/en.xml'
on 'ru'.
* Translate Output/Languages/en.xml in ru
100% translated source file: 'Output/Languages/en.xml'
on 'ru'.
* Fix: Seperate handling of unescaping
* Fix: Typo
* Fix: Typo
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>