Skip to content

1.39.0

Compare
Choose a tag to compare
@github-actions github-actions released this 17 Mar 11:50
· 163 commits to master since this release
0427287

New Web Interface

This release finally brings a huge update to the web interface of shinpuru. Because the old web interface had no clear style concept while also growing with each new feature, it got more and more cluttered, unstructured, obscure and simply uglier. So I decided almost a year ago to rewrite the whole web interface, which has now come to the final stage. There is still a lot to do and - especially translation-wise - a lot missing, but the feature set is now 100% ported and so I decided to finally port it over.

Here you can see a very small demo of the new web interface.

firefox_GCcqUWkYER.mp4

The whole web interface is now also more optimized for mobile usage!

Screen_Recording_20230315_201935_Firefox.mp4

And because the web app is now a PWA as well, you can even install it on your device when you are using a chromium browser!

Screen_Recording_20230315_202339_Niagara_Launcher.mp4

But feel free to discover the new web interface on your own. It is still far from perfect, so if you spot an issue or have an idea for improvement, feel free to create an issue!

Also, there are still a lot of german translations missing. So if you want to contribute some translations, feel free to do so. In the Contributing document, you can find some useful information on how to work with the language files.

Unban Request Improvements

The unban request received a small "rework". First of all, special reports are created in the mod log which display if an unban request has been accepted or rejected and who has processed the unban request.

Additionally, people will not be able to re-request an unban for 14 days after being rejected. After that period has passed, the banned user can try another unban request.

Also, a bug has been fixed where people were able to request unbans for guilds where they were already unbanned from.

New Logger

To improve the logs of shinpuru both in visibility as well as in flexibility, I've created my own logging package called rogu. It allows colorful, human readable, taggable, strctured logging with a simple API to append multiple output writers.

An additional output writer has been written for pushing logs to Grafana Loki which allows central log aggregation for multiple instances of shinpuru. Simply add the following config to your logging config to enable loki log pushing.

# Logging preferences
logging:
  # Set the log level of the logger
  # Log levels can be found here:
  # https://github.com/zekroTJA/rogu/blob/main/level/level.go
  loglevel: 4
  # Specify Grafana Loki configuration
  # for log aggregation
  loki:
    # Whether to enable sending logs to loki or not
    enabled: true
    # The address of the loki instance
    address: "https://loki.example.com"
    # The basic auth user name (leave empty if not used)
    username: "username"
    # The basic auth password (leave empty if not used)
    password: "2374n8er7nt8034675782345"
    # Additional labels set to all log entries.
    labels:
      # Some examples ...
      app: "shinpuru"
      instance: "main"

The provided example Grafana Dashboard shows how aggregated logs can be visualized in Grafana.

image

PushCode Login

Because there is a potential risk that the pushcode login system could be abused by attackers to phish login sessions, a confirmation promt has been added with a warning that you should never enter a login code to shinpuru's DMs which you have received from someone else (see issue #412).

API Changes

Docker Image

The docker image now includes a healthcheck which shows and monitors the state of the shinpuru instance using the GET /healthcheck API endpoint.

Other Stuff

  • The state cache duration for users and members has now be increased from 30 days to 90 days for better performance.

Docker

Here you can find the docker hub page of shinpuru and here you can find Docker images released on the GHCR.

Pull the docker image of this release:

From DockerHub:

$ docker pull zekro/shinpuru:1.39.0

From GHCR:

$ docker pull ghcr.io/zekrotja/shinpuru:1.39.0