beatmaps-io / beatsaver-main Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://beatsaver.com
License: GNU General Public License v3.0
Home Page: https://beatsaver.com
License: GNU General Public License v3.0
For the NPS count on maps, if there is a way, it would be nice if it supported "_fake" notes. Same thing with walls. Another cool thing would be a customData/animateTrack/AssignPathAnimation counter on maps. Would help noodle maps look nicer on their map page. Reported by totally balloon#2735
When viewing the "Unpublished" section of the profile (https://beatsaver.com/profile#unpublished), clicking on a map card's username redirects the user to the user ID version of the profile as expected (https://beatsaver.com/profile/4284242), but is still in the "Unpublished" section view and can't see the expected "Published" maps. The section tabs are not visible, and the user must refresh the page to return to the "Published" view.
Additional Info: When opening the page in a new tab via the map card's username (e.g. middle-click), the user is sent to the correct "Published" maps section on the user ID version of the profile. This issue only occurs when using the built-in routes (e.g. left click).
It'd be nice to have a subscription area similar to youtube in which you subscribe to a mapper, possibly receive notifications for new uploads, and have a separate area where you could see new maps from people you're subscribed to. There doesn't need to be a subscriber count for a mapper, so there's no competitive reason for it. Just something convenient to be able to easily download new maps from your favorite mappers in a single page. Similar to a mod called BeatSync I believe but in browser
When looking at the hyperlink given by the "Preview" button on the map card, the URL uses the map ID version of the BS Viewer.
Example from https://beatsaver.com/profile/4284242 :
When looking at the hyperlink given by the "Preview" button on the map page, the URL uses the direct link to the .zip download version of the BS Viewer.
Example from https://beatsaver.com/maps/1b7fb :
At the time of writing this issue, the direct link to the .zip download version causes a CORS issue when attempting to open the BS Viewer preview in a new tab (e.g. middle-clicking the "Preview" button). This issue does not occur when attempting to open the BS Viewer preview in a new tab with the map ID version of the hyperlink.
Example from https://skystudioapps.com/bs-viewer/?url=https%3A%2F%2Fna.cdn.beatsaver.com%2Fcf67f9c99572207a8cb109336ffa731f7e8a2af5.zip :
Note, the CORS issue does not occur when using BeatSaver's built-in preview functionality.
mapper:reaxt
By clicking on "my profile" and selecting "profile" , it takes you to your maps and stuff, where for some reason the PFP and statistics bar and playlist download are missing (see image 1)
However, if you go to the leaderboards and find yourself in there and click on that, it properly displays everything like it should (see image 2)
Quest users currently can't vote due to their particular API. Allow users to thumbs up/down songs on the browser site.
I found that some newly uploaded songs are on as.cdn.beatsaver.com
, and the covers and maps cannot be downloaded.
And, in China, connecting to as.cdn.beatsaver.com
almost has to go around the earth, and it is not even as good as cdn.beatsaver.com
. Is there any optimization method? For example, add CDN address option?
I can also provide a CDN server, but the traffic is not a lot. If it is only used for Chinese users, how much traffic is required per month?
Request for the click copy !bsr code for requesting in twitch streams like the former site and Beastsaver currently has. Reported by ¦Mad Guns22¦Ash Darkfire¦#8602
When clicking on "Change username" in the user profile's "Account" section (https://beatsaver.com/profile#account) when the username field is unchanged/untouched (i.e. not dirty, still exactly the same as the user's current account name), the request will go through successfully and put the username change on the 24-hour cooldown.
Based on the code here:
Having a way to specify collaborators by account would be pretty nice.
If I work on a map with someone and they upload it to their account, having that map show up on my map list too even though I didn't upload it would be cool.
If this were to be a feature, I think you would need to add another field to the map cards in the search list that differentiates between uploaders and collaborators/mappers or at least specifies the uploader field.
Have the client side download zip option
download in the MA format mapKey (SongName - Mapper)
instead of the hash
https://github.com/Assistant/ModAssistant/blob/9980b42d39de59f7ed3648dbaf76a97fbba6f7ee/ModAssistant/Classes/External%20Interfaces/BeatSaver.cs#L143
with illegal characters being https://github.com/Assistant/ModAssistant/blob/9980b42d39de59f7ed3648dbaf76a97fbba6f7ee/ModAssistant/Classes/Utils.cs#L35
Knowing how long a map is without having to open the map page will probably be helpful in the case I go to search new nekopara maps and get too hyped to check out the map page only to find out the nekopara map was only about 15 seconds long. Though personally it took me a bit to notice the one on the old beatsaver and I wouldn't mind a 15 second long nekopara map, would probably be useful for others from what I've heard
And a contributors tab would, I feel be nice for the cases where a mapper may put playtesters, other mappers/lighters in there but not in the map authors field.
When looking at a mapper's stats on the Mappers page (https://beatsaver.com/mappers), the stats also include maps that are uploaded but unpublished.
Example of data from the Mappers page vs. the user profile taken at the same time:
Request by users to replicate OBS (Old Beat Saver) functionality to see download count, total upvotes, total downvotes, and the map key on the map card in search results in addition to being available on the map detail page.
Dependencies: Data merge- on votes/downloads
LMK if you'd like me to mock some options since I have this template built in XD
Pretty simple, populate votes table with old mongo data
Add custom diff names to MapDifficulty in the API response for a map
Current feed: https://beatsaver.com/?cinema=true&order=Latest
Alternative feed: https://bsaber.org/?sort=uploaded_desc&filter_mods=cinema
Examples of maps that don't have cinema: true
set even though cinema-video.json
can be found inside zip:
Being able to publish maps at a set time would be useful for releasing map packs where multiple maps go live at the same time.
Related to #11:
I see two solutions here:
Note: API should still provide alphanumeric usernames. This task is about display names that may be added as a separate field (if it's more than just capitalization).
Hey there!
For my project https://github.com/AIOSaber, and specifically the BeatSaver Extension (AIOSaber/BeatSaver-Extension#2), I'd really like if you could add the following policies:
This would allow my userscript to access
a. The local client via get/post & websocket
b. & c. Load a "toast" library which is used for some simple popups.
Here's an example with disabled CSP on my local browser:
Would it be possible to get this or could you suggest another workaround?
Thanks & Best
Alex
https://beatsaver.com/?minNps=4&order=Latest
For example, this address only uses a filter with the lowest NPS=4. As a result, there are only 13 songs left on the first page, and scrolling to the bottom will no longer trigger loading.
I'm not sure if this is the right place to request things regarding the BeatSaver API but there is one think that I miss in the new API. When receiving the data in the past, it would display the total number of maps and or the total number of pages that would fit the request in the json. It's now gone and impossible to make page based features/sites without having to test for an empty response.
If it's not too difficult to add, it would be nice to have that data back in the json.
If it was removed for a reason then that's fine and I'll live without it.
When editing a map's description and clicking "Save", the updated description will be sent to the server correctly, but the UI will be stuck in a non-editable state. Upon clicking "Save", this error occurs in the console:
Uncaught (in promise) TypeError: this._this$0_107.props.updateMapinfo is not a function
invoke_aucpnc_k$ mapinfo.kt:241
p output.js:1
promise callback*_/qA.prototype.invoke_xfv2uo_k$ mapinfo.kt:240
_/EA.prototype.render_ytb8qw_k$/</< output.js:1
React 11
unstable_runWithPriority scheduler.production.min.js:18
React 11
FS ReactDOM.kt:9
FS ReactDOM.kt:8
invoke_xfv2uo_k$ app.kt:44
onload output.js:1
_ output.js:1
_ output.js:1
9401 output.js:1
Webpack 7
mapinfo.kt:241:34
The user can get around this issue by refreshing the page. Clicking the "Edit" button returns the user to the default UI, but the information is outdated. Clicking the "Edit" button again has the outdated information in the editable boxes.
This issue does not occur when editing an unpublished map's description.
I'll just document here what might be improved and you tell me what's doable and what's a definite no-no.
All low priority, I don't expect this to be added anytime soon (but maybe eventually).
Reference page: https://n3tman.github.io/TopMappers/
Features to consider for https://beatsaver.com/mappers
>=2020
, Total Maps is >2
, Ranked Maps =0
.[ScoreSaber]
New column: Total number of plays on all difficulties.
[BSaber]
Link to a BSaber profile, like https://bsaber.com/members/<uploader.name>
[BSaber]
New column: Number of maps recommended by curators.
[BSaber]
New column: Number of playlists where maps have been featured.
key
values).playlistAPI
file.[UI]
Alternate colors for rows + highlight row on hover[UI]
Thousand separators for numbers. E.g. 286,190
or 286 190
(thin space) instead of 286190
.
When using the "Full Spread" filter (https://beatsaver.com/?fullSpread=true), some maps in the list do not contain a full spread of difficulties.
Example - notice that "Fate Prisma Illya - Starlog (Music Box Orgel)" (https://beatsaver.com/maps/1b900) and "115 Challenge (V2)" (https://beatsaver.com/maps/1c115) do not contain 5 difficulties, but are still included in the results:
The page would probably have a bar of some sort or different color header to note the state of the map or just the reason why that key is no longer available.
https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering
img {
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
}
Previous username rules by Jellyfish (from #modding-announcements
)
Usernames may now only include alphanumeric characters or a
-
character.
Any string in a username doesn't allow to create URL-friendly post tags on BSaber.
Example uploader: https://beatsaver.com/profile/4284389
Current uploader.name
from the API: AndroGeek | Beat Saber Mapper
Previously it was just androgeek
: https://bsaber.com/tag/androgeek/
A possible solution would be to ask users who logged in through Discord to enter a separate name that follows old naming rules.
The &before
parameter in maps/latest
API endpoint does not include the beatmap posted at the exact time specified in &before
(expected). However, the &after
parameter does include it. If a client is paging forward and back using the first and last beatmaps' upload date you end up with a repeated beatmap when moving towards the latest uploads unless you add a millisecond to the upload date on the first result.
Return current map data when looking up by hash as long as there is a published version and the map is not deleted even if the hash is for an unpublished version
For example, this map (https://beatsaver.com/maps/1b7fb) contains ~10 iterative versions in its unpublished state, and despite the versions being hidden from view now that it is published, they are still being considered in the user stats (https://beatsaver.com/profile/4284242). Note the mismatch of difficulty count in the user stats compared to the difficulty count in the published maps.
Switch from urls to ids
Also look into scaling the window better to user display?
The "Age" column is incorrect for many mappers listed in the "Mappers" page.
This issue seems to occur primarily on very old accounts.
Examples:
https://beatsaver.com/mappers#105
https://beatsaver.com/profile/53184
https://beatsaver.com/mappers#111
https://beatsaver.com/profile/52609
When I query https://api.beatsaver.com/maps/id/a438 (or any other map I've tried), in the response I get:
"stats": {
"plays": 0,
"downloads": 0,
"upvotes": 2180,
"downvotes": 16,
"score": 0.9441
}
This is new, I was still getting correct numbers a few days ago.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.