Commit Graph

68 Commits

Author SHA1 Message Date
LoveEevee
b8e63c650f ImportSongs: Implement Google Drive beta testing
Instances that wish to enable Google Drive support should first enable it to only a small subset of users (100 maximum) to allow the OAuth screen to be verified by Google without hitting the user limit. Minimum level in the config can be set to enable beta testing of this feature and then disabled by setting it to None.

- Add user level assignment screen to the administration panel
- Add privacy policy and links to it in various places
- Add switch accounts link near the Google Drive picker
2020-12-21 16:02:56 +03:00
LoveEevee
13d6aaab78 Bug fixes
- Fix chart in Ai want U
- Mute music on song select with Q
- Do not scroll song select background when the tab is not active
- Fix very short inputs not being recognized
- Fix sound being muted when playing the same song again
- Fix multiplayer when audio latency is set
- Fix getting stuck when imported song cannot be restarted
- Fix 2P cursor when ura is selected by both players
- Add KeyboardEvent.key to browser tests
- Separate buttons like Shift+Left into two on the How to Play page
- Change focused button on the custom songs screen to the first one available
- Add favicon to the admin page
- Display the id on the admin new song page
2020-12-04 13:52:35 +03:00
LoveEevee
dec0e55eb7 Assets: Convert to ogg
- Uses oggmented library to add ogg support to iOS
- Adds support for ogg songs on the server, configurable per song on the admin page
- Lets iOS users upload custom songs with gdrive when enabled
- Tweaked colour picker on account page to respond faster
- Fixed not being able to restart osu songs
2020-11-09 00:30:56 +03:00
LoveEevee
3fea149353 ImportSongs: Add Google Drive support
- Adds a new page for importing custom songs, where it is possible to pick a local folder (desktop only) or a Google Drive folder (desktop and Android)
  - This feature is disabled on iOS due to the lack of OGG audio support in the browser
- In order to not get rate limited, a TJA file is parsed for metadata only when the song is clicked in the song selection, rather than all at once at import time
- The instance maintainer will need to provide the API credentials in the config.py file to enable this feature
  - This requires a new project to be created at console.cloud.google.com
  - Drive API will have to be enabled
  - API and OAuth keys should be created
    - API key can be restricted to only have Google Drive and Google Picker APIs
    - OAuth Client ID should have Web Application type and JavaScript origins set
    - Editing the OAuth consent screen to have a name and icon is recommended
      - It is semi-required to submit the consent screen for verification as the permission to download all of the Drive files will be asked.
      - Note that the email of the maintainer is publicly visible on the consent screen
  - The project number can be found in the IAM & Admin settings page
2020-10-29 08:07:56 +03:00
Bui
224bf25fc0
Merge pull request #224 from N-Field/patch-preview-int
fix 400 errors from /api/preview
2020-05-09 17:29:53 +01:00
Bui
f346e05312
Merge pull request #214 from MarNicGit/DynamicCategories
Dynamic categories
2020-05-09 17:24:23 +01:00
purerosefallen
992a44be36
typo 2020-05-06 21:13:24 +08:00
purerosefallen
6a93ad2735
byte limit 2020-05-06 21:12:49 +08:00
purerosefallen
61dc667705
fix /api/preview 2020-05-06 21:05:55 +08:00
LoveEevee
f83fab41e3 Bug fixes
- Fixed touch multiplayer drum being too small and nameplate drawing on top of it
- Fixed #lyric lines being forced to be lowercase and appearing too early
- Fixed exiting session while someone else is using netplay sending you to difficulty selection of the song that the netplay person has selected
- Fixed ≠MM title on song select not having the first symbol rotated
- Fixed nameplate cache in song select and in game not getting cleared
- Increased ping timeout for multiplayer

Admin page fixes
- Add meta viewport tag so that the admin pages can be opened on mobile
- On song list, songs that are not enabled are now marked
- Disable tabbing through diverge notes checkboxes in courses when adding or editing a song
- Add Hash to song adding
- Display an error if a local chart file has not been found while calculating hash
- If calculating the hash results in an error, do not discard all other changes
2020-04-17 04:53:53 +03:00
mnvdk
85d6e70ff6 Dynamic songskin loading for categories 2020-04-14 23:01:47 +02:00
Bui
d98b2d9697
Merge pull request #209 from N-Field/fix-session-redis
Fix crash when using non-localhost redis
2020-04-06 09:39:19 +01:00
purerosefallen
99c906d1ad
load redis properly in session 2020-04-06 16:36:00 +08:00
Bui
008bfbe418
fix admin level for song edit 2020-04-06 06:36:08 +01:00
LoveEevee
cd288d4fa4 Add custom Don
- Registered users can customise the colour of their Don and it will appear for other players
- Bug fixes:
  - Add lyrics checkbox to admin page
  - 2P shows above "creative" or "with lyrics" labels
  - Prevent accidental alt and menu keyboard presses from triggering browser menus
  - Fixed mouse hitboxes on difficulty selection
  - Clean cached sounds and lyrics when another song is loading
  - Fixed debug jumping to the top-left of the screen when hidden
  - Fixed server volume not being applied to songs
2020-04-04 16:48:58 +03:00
LoveEevee
8d8a4577d2 Admin: Fix hashing if songs baseurl is not absolute 2020-03-18 06:54:42 +03:00
LoveEevee
54a98b77d9 Fix logging out and the Remember me checkbox 2020-03-17 11:07:29 +03:00
Bui
841e9d37d1 add csrftoken api route 2020-03-17 04:03:10 +00:00
Bui
816833bac0 handle csrf error 2020-03-17 02:18:18 +00:00
Bui
1e7477dd96 anti-csrf 2020-03-17 02:10:47 +00:00
Bui
873bd1a73e hashexception 2020-03-17 01:27:54 +00:00
Bui
fe90a35625 generate hashes on server 2020-03-17 01:27:06 +00:00
Bui
5a68978ec4 implement song addition/deletion 2020-03-16 23:30:44 +00:00
Bui
c5f85d0d87 allow null category id 2020-03-15 16:25:38 +00:00
Bui
61e521dda3 update song edit page 2020-03-15 16:16:18 +00:00
Bui
0fd0cb97a0 log out other sessions after password change 2020-03-14 14:02:11 +00:00
LoveEevee
7f1bb9d357 Multiplayer improvements and reupload score on error
- In multiplayer you will play at the bottom if you joined second
- Add a dialog to song select that score has not been saved
- Uploads the score when logged in again
- Translate error messages from the server
2020-03-14 07:50:04 +03:00
LoveEevee
ad62ac800c Some bug fixes 2020-03-13 08:32:53 +03:00
Bui
73b8da36ab fix registration bug 2020-03-13 03:54:27 +00:00
Bui
62aca02aab bugfixes 2020-03-13 03:19:26 +00:00
Bui
7519b1c4c2 account system backend, db rewrite 2020-03-13 02:45:42 +00:00
LoveEevee
1759772831 ScoreStorage: Use hashes instead of song titles 2020-03-07 04:48:30 +03:00
Bui
750dc66245 improve category jump 2020-02-22 13:09:07 +00:00
Bui
0ac923d245 check existence of maker_id 2019-11-25 01:24:06 +00:00
Bui
42f22a4f09 allow anonymous makers 2019-11-25 00:58:07 +00:00
Bui
67e418bc4d SongSelect: Add maker identification
requires maker_id(int) column in songs table, and a new "makers" table with maker_id(int), name(text), url(text)
2019-11-24 23:51:58 +00:00
LoveEevee
cb64777012 SongSelect: Add Settings
- Resolution can be adjusted, as well as touch drum animation on mobile
- A translation text file "songtitle.txt" can be imported
  - Titles and translated titles are each on their own line, if a line begins with a language code, it will translate the song title that is above
  - An example file can be found here: https://gist.github.com/LoveEevee/65fe66f0b54c0536f96fd2f4862984d4
- The page will fail to load if version on the page does not match /api/config
- Disabled Tab key while playing, before hitting it would focus the version link
- Fix forcing branches in debug not working
- Fixed not being able to click on songs that do not have oni but have ura
- Fix unexpected category being used as a fallback
- Fix verticalText and layeredText not accepting anything except strings
2019-04-04 23:40:11 +03:00
LoveEevee
61a5d6d496 SoundBuffer: Set song volume
- Requires a new column in the database after preview: `volume` REAL
- The value is a volume multiplier, if the value is set to null or 1 there will be no change
- The volume can be set in debugger
- Imported TJA files are now read from disk every time the song is played, freeing some memory and making it easier to create charts
- Correctly parse TJA files with alphabet notes, added "A" and "B" notes, which appear as DON (Big) and KA (Big) respectively
2019-03-16 00:34:48 +03:00
LoveEevee
1aecc7d52f SongSelect: Use seconds for previews 2019-02-21 01:42:18 +03:00
Bui
3a28d967b9 move song previews to the database 2019-02-20 22:02:44 +00:00
Bui
ace0f2030c cache / 2019-02-14 10:36:39 +00:00
Bui
d92cd6f3a2 add view caching 2019-02-14 10:31:23 +00:00
Bui
4be9334be3 solidify default git repo 2019-02-06 18:49:25 +00:00
LoveEevee
da40fd58ff ImportSongs: Custom assets 2019-02-03 15:04:25 +03:00
Bui
7b9de52d06 use songs_baseurl when returning preview url 2019-02-02 07:41:06 +00:00
LoveEevee
05720b27f9 SongSelect: Translatable song titles 2019-01-25 04:42:05 +03:00
Bui
ac23292fe7 change version var name 2018-12-05 21:55:28 +00:00
Bui
1806fb338e add query string to view requests 2018-12-05 21:47:35 +00:00
LoveEevee
f25aee9643 SongBg: Add don backgrounds 2018-12-02 18:25:42 +03:00
LoveEevee
e43821ba48 SongBg: Add song skins 2018-11-26 01:42:24 +03:00