Code Monkey home page Code Monkey logo

bibliothek's People

Contributors

aikar avatar broccolai avatar dependabot[bot] avatar doc94 avatar domirusz24 avatar kashike avatar mdcfe avatar minidigger avatar prof-bloodstone avatar renovate[bot] avatar rtm516 avatar tadhgboyle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bibliothek's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-java v4
.github/workflows/deploy.yml
  • actions/checkout v4
  • actions/setup-java v4
  • docker/login-action v3
  • docker/login-action v3
.github/workflows/validate-gradle-wrapper.yml
  • actions/checkout v4
  • gradle/wrapper-validation-action v1
gradle
gradle.properties
settings.gradle.kts
  • org.gradle.toolchains.foojay-resolver-convention 0.8.0
build.gradle.kts
  • com.google.cloud.tools:jib-spring-boot-extension-gradle 0.1.0
gradle/libs.versions.toml
  • org.jetbrains:annotations 24.1.0
  • org.springdoc:springdoc-openapi-starter-webmvc-ui 2.5.0
  • ca.stellardrift:stylecheck 0.2.1
  • net.kyori.indra 3.1.3
  • net.kyori.indra.checkstyle 3.1.3
  • net.kyori.indra.git 3.1.3
  • com.google.cloud.tools.jib 3.4.3
  • com.diffplug.spotless 6.25.0
  • org.springframework.boot 3.2.5
  • io.spring.dependency-management 1.1.5
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7
npm
cli/package.json
  • gitlog ^4.0.4
  • mongodb ^4.2.1
  • yargs ^17.7.1

  • Check this box to trigger a request for Renovate to run again on this repository

PaperMC website OpenAPI missing `version` field.

Missing required version field in the PaperMC download OpenAPI specification. (https://api.papermc.io/openapi)

https://swagger.io/specification/#info-object

The specifications requires for the info object to have both the title, and the version.

The PaperMC OpenAPI specification is missing the version field.
Is:

  "info": {
    "title": "PaperMC API"
  },

Should be:

  "info": {
    "title": "PaperMC API"
    "version": "FOO"
  },

(I'm not necessarily sure where this issue should go, but since it's a purely docs cosmetic issue, I'm taking a shot in the dark and doing it here)

404 Cors

Error pages appear to be missing Cors, as found out by my pro JS skills

Works:

$ curl -I https://api.papermc.io/v2/projects/paper/versions/1.19/
HTTP/2 200
date: Wed, 08 Jun 2022 08:04:40 GMT
content-type: application/json
cache-control: public, s-maxage=300
access-control-allow-origin: *
access-control-allowed-methods: GET
cf-cache-status: DYNAMIC
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6EUEx3AqcpoTzLnTH7mvrkG2dQcNbkKlzukldrKr%2FB1x3Gmyns1PueKtLBUdgXIVMiKiwbHm6Hmuy85ZYrrIw7vDpDTqpiiAAGTrUTCKdWVRii1xDiPXbUJawLLMd35y"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15552000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare
cf-ray: 71801e39387235d1-MAN
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

No works:

$ curl -I https://api.papermc.io/v2/projects/paper/versions/0
HTTP/2 404
date: Wed, 08 Jun 2022 08:04:47 GMT
content-type: application/json
cf-cache-status: DYNAMIC
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=qvB6%2B4Z%2F6vx766szV3IwAba44YpjJZH%2BqmkdgSEjEhUiY2gsRFzqbM2cF%2B8RXP643Ys2bXjmxydmhueH5FOAFmG2%2Bf9JlzrLtMQi7wGzgeMHv29YxPG5MiSbaWyD8tET"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
strict-transport-security: max-age=15552000; includeSubDomains; preload
x-content-type-options: nosniff
server: cloudflare
cf-ray: 71801e60bafdb2f3-MAN
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400

Indicate support status of version groups/branches in the api

hosts need to deploy new servers, we need to somehow indicate to them which version is safe to use and which version needs extra caution and which versions should be avoided.

maybe we can just add a field to version groups "supportStatus" with values like unsupported, maintenance only, current supported, experimental?

we could even use this ourself and fill our download page tabs automatically instead of doing it manually

bibliothek fails when attempting to release a new version

TypeError: Cannot read property '_id' of null
    at run (/home/library/repository/cli/insertBuild.js:138:32)
    at process._tickCallback (internal/process/next_tick.js:68:7)

it appears that the cli tool will crash when a previous build for that release does not crash, it will however seemingly leave some stuff dangling in the breeze, so subsequent pushes work fine

API expansion for filtering builds by channel

The idea is to allow build number filtering by channels.

When the channel is not passed or explicitly declared as stable, experimental build will be filtered.
This allows people using a kind of auto updater script to only update to stable builds.

e.g.
Let's say we have 200 stable builds before and adding an experimental feature to paper.
A experimental bug fix for the chunk border lag is added.
This bugfix modifies the chunk files but we cannot see which side effects the change has in the long term.

The whole thing is an improvement for plugins as well. A Hangar plugin update can be marked as experimental and then doesn't show up in the stable channel.

>>> https://api.papermc.io/v2/projects/paper/versions/1.19?channel=stable // default if absent

<<< {
  "project_id": "paper",
  "project_name": "Paper",
  "version": "1.19",
  "builds": [
  ]
}

Here we need to explicitly pass the experimental channel as a query argument to get experimental builds.

>>> https://api.papermc.io/v2/projects/paper/versions/1.19?channel=experimental

<<< {
  "project_id": "paper",
  "project_name": "Paper",
  "version": "1.19",
  "builds": [
    0
  ]
}

To avoid passing multiple channel values as a query argument the channel are defined like log levels.

stable
experimental includes stable builds as well.

This addition can be seen as disadvantage and also as an advantage.

  • (+) The user auto update most time anyways and excluding experimental builds by default could reduce the risk of server failing
  • (-) We provide an easier solution to explicitly get experimental builds automatically.

I'm happy to hear your thoughts on this topic.

Download API feature request: Consolidated changelog summaries

Hello!

Currently, programmatically retrieving changelogs for Paper builds requires a separate API call for each build/summary. This makes scripted update systems that display changelogs potentially hit the API hundreds of times.

Would it be possible to have the option to request multiple changelogs from the API in a single call? Perhaps listing all changes by minor version (All changelogs for builds in MC 1.18.1, 1.18.2, etc). This would drastically decrease the number of requests to the API.

The issue that spawned this request is here: OwenCochell/PaperMC-Update#11

Thanks!

swagger ui returns 500 error

Testing the api using the swagger ui, specifically this request curl -X GET "https://papermc.io/api/v2/projects/paper/versions/1.16.4/builds/256/downloads/test" -H "accept: application/java-archive" returns a 500 error in the "Try it out". But if i just run that curl command locally, I get 404 like it should (because test is not a valid download name)

Missing versions for `1.13-pre7`

As of this morning, 1.13-pre7 no longer has any versions in the API, or it's erroneously returned.

https://papermc.io/api/v2/projects/paper returns 1.13-pre7 as an available version. But then
https://papermc.io/api/v2/projects/paper/versions/1.13-pre7 404s.

API reports unrelated (old) changes

https://papermc.io/api/v2/projects/paper/versions/1.16.4/builds/324

{
  "project_id": "paper",
  "project_name": "Paper",
  "version": "1.16.4",
  "build": 324,
  "time": "2020-12-13T00:48:44.488Z",
  "changes": [
    {
      "commit": "9c9583cd2b6e369eab7b5c61c33282b6a1d5ce8a",
      "summary": "[Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot)",
      "message": "[Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot)\n\nUpstream has released updates that appear to apply and compile correctly.\nThis update has not been tested by PaperMC and as with ANY update, please do your own testing\n\nBukkit Changes:\n8f495b8d #564: Add method to get max world size\n\nCraftBukkit Changes:\n768d7fc2d #773: Add method to get max world size\n\nSpigot Changes:\n628435a8 #103: Add async catchers to Chunk#getEntities\n"
    },
    {
      "commit": "31ac45a0a272c4c759fd4927172e5e81dd4a34ba",
      "summary": "Fix curing villager makes equipment disappear",
      "message": "Fix curing villager makes equipment disappear\n"
    },
    {
      "commit": "cc0494817694a705bfd6a06218ccdf3881fa8566",
      "summary": "Tick inactive goal selectors",
      "message": "Tick inactive goal selectors\n"
    },
    {
      "commit": "c19ec639414fc91ff9d9b6e090dcd4b7f48e04f7",
      "summary": "fix 4878 by always calling events using bukkit singleton",
      "message": "fix 4878 by always calling events using bukkit singleton\n"
    }
  ],
  "downloads": {
    "application": {
      "name": "paper-1.16.4-324.jar",
      "sha256": "2548585054c6815e7af4f82158bc9d8b61ce11e67b9d026410131b79b9800abe"
    }
  }
}

https://papermc.io/ci/job/Paper-1.16/324/changes

Add a /latest endpoint for /v2 API

Hello,
Could you consider adding a /latest endpoint for the v2 API ?
It's very usefull to update a server without setting the build number each time.

Bibliothek

Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek
Bibliothek

OpenAPI `version` field not being set.

Currently https://papermc.io/api/openapi returns "info":{"title":"PaperMC API"}. This causes the OpenAPI generator I am attempting to use to fail, as it is missing the key version that is a required field (see https://swagger.io/specification/v3/#info-object)

I can see that this was resolved in #156/#157/#158, although this value still does not seem to be set. I am unsure as to where the configuration for this application lives, but is it possible app.ApiVersion isn't being passed as a command line argument/environmental variable following this change?

Differentiate between testing and production release

I am building a maintenance system that should updates builds but hopefully updates versions as well but I noticed the API does not state if that the latest version is still in testing. if some Identifier could be added, at least in the message or summary of the build stating it's test version. I will have an option in my program .ini to only warn for new updates but not act, but if this piece of the API response could be added I would appreciate that.

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.