Commit Graph

366 Commits

Author SHA1 Message Date
KatieFrogs
7d818877f8 Plugins: Add plugin settings
- Add support for plugin settings, they appear in the same menu as the plugins, indented from the left to emphasize which plugin the setting belongs to
  - Note that plugin settings can still be changed even when the plugins are stopped
- Add tooltips to plugin menu to view the plugin descriptions, description_lang can also be used
- Fix scolling not working on song select when returning from game settings
- Let instance owners set default plugin files in config.py, to make them easier to maintain
- plugins.add() can now add plugins using a url
- Plugins can be hidden from the plugin menu using PluginLoader.hide, an option in plugins.add(), or in config.py
- Make p2.disable() incremental so that multiple plugins can disable multiplayer independently
- Server no longer crashes if certain optional config fields were not copied over from an updated example config
- Fix not being able to unload plugins if one was imported with errors
2022-02-22 16:23:01 +03:00
Bui
78fe7062dc allow ogg to be used for previews 2022-02-18 16:17:12 +00:00
KatieFrogs
4d27499108 Support plugin name localization 2022-02-18 02:44:37 +03:00
Bui
3aff309504 ja 2022-02-17 23:37:10 +00:00
KatieFrogs
7c0104fe5b Fix black screen 2022-02-18 02:06:00 +03:00
KatieFrogs
4e6eec231a Fix song scrolling in session multiplayer 2022-02-18 00:14:38 +03:00
KatieFrogs
911841af95 Fix tutorial 2022-02-18 00:06:50 +03:00
KatieFrogs
0655b79293 Bug fixes
- Change song select mouse wheel song scrolling to be instant
- Clicking on don chan in account settings toggles the animation
- If the music is too long for the chart, the results screen is shown earlier
- Fix weird BPM values freezing the browser (zero, negative, and very large)
- Add a warning to the page when JavaScript is disabled in the browser
- Fix Chrome auto dark mode by forcing light mode on the page
- Add a meta keywords tag to the page
- Fix plugin names getting cut off in the menu
- Delay the function editing of the EditFunction class in plugins to the start() function instead of load()
  - When stopping one of the plugins, all the plugins have to be stopped in reverse order and started again so that patched code of a stopped plugin does not linger around
- Fix importing plugins that have a SyntaxError
- Fix plugins getting the same internal name when added without one, causing them to not appear in the plugin settings
- Support editing args in EditFunction for plugins
- Prevent multiple websockets from being opened
- Fix page freezing after selecting Random song with no songs
- Fix the back button being repeated twice when there are no songs
- Fix /admin/users not accepting case insensitive usernames
- Pressing enter on the Delete Account field does the expected action instead of refreshing the page
- Better error message when custom folder access is denied
- Fix being able to start netplay in custom songs after refreshing the page (#383)
- Fix an error when importing songs from previous session and clicking on the white spot where you normally start multiplayer session
- Fix canvas elements becoming smaller than 1x1 resolution and crashing the game (#390)
- Fix song frame shadow cache on song select not being cleared when resizing the browser window, causing it to become blurry
- Fix a pause-restart error when you hit both confirm keys on the restart button
2022-02-17 23:50:07 +03:00
Bui
eab03369c7 reverse wheel controls 2022-02-16 14:55:44 +00:00
Bui
b893407013 lower directional key hold delay 2022-02-16 14:49:07 +00:00
Bui
c5b7906d4d slow down + improve wheel scroll 2022-02-16 13:28:22 +00:00
Bui
d85f8909d7 make songsel fast + add mousewheel scrolling 2022-02-16 13:13:52 +00:00
Bui
dfbdba50ef
bugge fix 2022-02-15 16:15:29 +00:00
Bui
23d269cf92
update ja strings 2022-02-15 12:53:11 +00:00
KatieFrogs
1db4eb6710 ImportSongs: Add plugin support
- Files with filenames that end with .taikoweb.js can be imported and run to add custom functionality to the game
- The plugin file is a javascript module script that should have a class in the default export
- Currently supported methods in the class: name (string), load, start, stop, unload (functions)
- The class can be extended from the Patch class to add automatic patching of variables and functions
- Here are some of the plugins I made: https://github.com/KatieFrogs/taiko-web-plugins
2022-02-11 17:28:22 +03:00
Bui
fd114d9f69
Merge pull request #374 from SiderealArt/patch-1
Add Traditional Chinese translation
2022-02-03 11:55:44 +00:00
SiderealArt
27da8c4a8e
calibration 2021-08-17 21:12:41 +08:00
SiderealArt
096402b625
Update strings.js 2021-07-11 14:45:39 +08:00
SiderealArt
405c340318
Update strings.js 2021-06-07 01:06:22 +08:00
SiderealArt
f99a826236
Update strings.js 2021-06-07 00:15:34 +08:00
SiderealArt
46c3c30a3d
Update strings.js 2021-06-07 00:01:35 +08:00
SiderealArt
9d779576d1
Update strings.js 2021-06-06 21:10:52 +08:00
SiderealArt
4aa8aff4d6
Update strings.js 2021-06-06 20:52:49 +08:00
SiderealArt
d1600023de
Update strings.js 2021-06-06 20:44:50 +08:00
SiderealArt
6ba9f94026
Add Traditional Chinese translation 2021-06-06 17:11:39 +08:00
LoveEevee
3d09fea3a5 Workaround an http-only crash in Chrome, fix cancel on title screen 2021-06-01 12:21:55 +03:00
LoveEevee
657c631769 Support restoring multiple folders imported by dragging 2021-05-30 07:13:36 +03:00
LoveEevee
9c44d223c4 Play se_don on title screen more fittingly 2021-05-28 04:55:53 +03:00
LoveEevee
b42b246a99 CustomSongs: Restore custom song list after reload
Uses the File System Access API supported in some browsers to keep the custom song list between sessions, restoring it back even when the page was closed.
2021-05-27 20:23:19 +03:00
Bui
1fceaadc7d
Merge pull request #303 from bui/gdrive-beta
ImportSongs: Implement Google Drive beta testing
2021-02-05 17:21:36 +00:00
jerrybeomsoo
6bece1de57
Update strings.js
Changed "오니" to "귀신" according to request.
2021-02-04 22:48:36 +09:00
jerrybeomsoo
35cfb71321
Update strings.js 2021-02-04 22:11:58 +09:00
LoveEevee
6918648ed6 Move privacy link, add categories.json to tools 2020-12-22 20:05:56 +03:00
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
Bui
bd8e2191dd Add support for accented characters 2020-12-02 09:39:48 +00:00
Nyaasu
02348e45ea 📝 Add some Chinese translations 2020-11-30 06:44:50 +08:00
LoveEevee
2a167a0f50 Fix text becoming too big 2020-11-09 18:07:28 +03:00
LoveEevee
23214d14c3 BrowserSupport: Add Ogg/Wasm test 2020-11-09 17:34:44 +03:00
LoveEevee
4f66959e9c Use separate js and wasm files for oggmented
Source: https://github.com/LoveEevee/oggmented
2020-11-09 07:08:03 +03:00
LoveEevee
61c3bb1637 Fix calibration screen 2020-11-09 00:48:38 +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
1d025848c4 Fix local folder button 2020-11-04 03:16:45 +03:00
LoveEevee
5094b0bc70 Add folder dropping, fix rate limits
- Add folder drag and drop support
- Do expodential retrying if rate limited, allowing upload of very large drive folders
- Do not import deleted files
- Move the upload buttons to their own line
- Notify when no TJA files have been found
- Add more translations
2020-11-04 03:12:46 +03:00
LoveEevee
180ec58adb Changed look of song loading, fix custom game assets and song skins, fix auth error
- Change the way a selected song appears while it is loading the metadata
- Fix custom taikowebskin
- Fix importing custom game assets (local only)
- Get the oauth token again on auth error
2020-10-31 14:47:42 +03:00
LoveEevee
c5ce5104f1 Fix charts with utf8-bom encoding 2020-10-29 15:21:53 +03:00
LoveEevee
9aa7375287 Fix lyrics 2020-10-29 11:56:58 +03:00
LoveEevee
f590222568 Fix metadata loading, loading animation, osu charts, and gpicker
- Speed up metadata loading by not waiting for the audio
- Make loading animation bigger on mobile
- Fix osu charts imported with gdrive
- Fix gpicker not appearing after cancelling
2020-10-29 09:04:36 +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
f346e05312
Merge pull request #214 from MarNicGit/DynamicCategories
Dynamic categories
2020-05-09 17:24:23 +01:00