Code Monkey home page Code Monkey logo

vsmoddb's People

Contributors

darkhekromant avatar enigmaticagh avatar gabriel-andreescu avatar goosewoman avatar sirstroam avatar th3dilli avatar tyronx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vsmoddb's Issues

[suggestion] possible performance improvement

hi,
while working on #10 I've noticed that moddb.release.modid doesn't have an index, and it's used to query all the mods on https://github.com/anegostudios/vsmoddb/blob/master/api.php#L323

this was based on tables.sql (maybe the current schema has an index)

another idea (which I think is even better long term) is to remove modidstr's completely from /api/mods endpoint, this way there is no need to GROUP BY, and an offset/page parameter can be used to paginate the response when there will be millions of mods.

[Feature request] API endpoint for CD to upload new versions of the mod

Problem

Currently releases of new versions have to be done manually and can only be done by the person owning the mod. This slows down release cycle in general and bottlenecks updates for mods that have multiple maintainers.

Proposed solution

Extend moddb API with an endpoint to create a new release.

Proposed format

Request:

POST /api/mod/[modid]/releases

string[] versions; // Game versions supported by the mod
string? description; // Optional change log message
string data; // base64 encoded file or a base64 data URI (has a prefix "data:content/type;base64,")

Example payload:

{
    "versions": ["1.18.8", "1.18.13"],
    "description": "",
    "data": "data:@file/zip;base64,UEsDBBQAAAAIAO0cNVeTkL6mAwMAAKwKAAAVAAAA..."
}

Authentication can be provided via vs_websessionkey cookie (or alternatively via authorization header to keep API calls unambiguous).

Response:

If authentication failed API returns 401
if modid doesn't exist API returns 404
If modid doesn't belong to authenticated user API returns 403
If request body is in invalid format API returns 400
If server failed to create new release API returns 500
Otherwise API returns 200 and created release

Benefits:

This will allow developers to setup a full CI/CD pipeline severely improving their experience and allow for more operative delivery of features and fixes, improving the experience of end customers(players).

[Suggestion] Notification of new comments

Notification of new comments for your mods. Now, in order for me to receive a notification about a new comment in my mod, it is necessary to ping me :(

So it would be nice to be able to just subscribe to the mod, like on a forum thread. Subscription may also include notification of new releases.

Cannot comment on safari

On safari, the comment form rectangle enlarges to cover the Add comment button, making it impossible to comment.

Device:

iPhone 14 Pro, iOS 17.4.1

Browsers tested:
Safari,
Opera,
Brave

[Suggestion] Mod dependencies

Some mods require others to work.
Add the ability to set for a given version of a mod the required dependencies.
Add the ability to download these dependencies via API.

It would be good if the version of the required mod could be specified in detail.
For example (like npm)
1.0.4 - specific version
~1.0.4 - any patch version >= 1.0.4
^1.0.4 - any minor version >= 1.0.4

=1.0.4 - >= any major version >= 1.0.4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.