Skip to content

Releases: zekroTJA/shinpuru

1.40.3

13 Jan 14:24
Compare
Choose a tag to compare

Note
This is a hotfix patch. If you want to see the changelog for release 1.40.0, please look here.

Bug Fixes and Minor Changes

  • The tag command has been improved to make use of parameter autocompletion. [#439]
  • A bug has been fixed which caused shinpuru to crash on fetching the Twitch API for Twitch notifications. [#445]
  • Added better state caching to the voice log listener to try to fix issue #440. This might need more investigation though.
  • Fixed permission check on routes which do no contain a guild URL path parameter. This fixes an issue where the presence page was not able to load in the web frontend because of the failing request.
  • Some German translations have been improved thanks to the contributions made by @luxtracon.

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.40.3

From GHCR:

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

1.40.2

17 Jul 18:38
Compare
Choose a tag to compare

Note
This is a hotfix patch. If you want to see the changelog for release 1.40.0, please look here.

Bug Fixes and Minor Changes

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.40.2

From GHCR:

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

1.40.1

06 Jun 16:40
Compare
Choose a tag to compare

Note
This is a hotfix patch. If you want to see the changelog for release 1.40.0, please look here.

Bug Fixes

  • Fixed a bug which prevented login links from the /login command from logging in properly when the web SPA has been loaded. [#431]

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.40.1

From GHCR:

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

1.40.0

03 Jun 13:59
Compare
Choose a tag to compare

New Features and Changes

Mod Notifications [#423]

There is a new command /modnot which can be used to define a Mod Notification channel.

image

Of course, you can also define the channel in the web interface on the General Guild Settings page.

image

This channel is used to - as the name says - send notification important for the members moderating your guild. Currently, this only contains notifications when someone creates an unban request or an unban request has been processed. But other notifications will find their place here in the future like raid alerts or spam alerts.

image

German Translation

Thanks to the work of @voxain, the german translation of the web interface has improved in consistency, conciseness and understandability.

Bug Fixes

  • Ban reports can now be created when the executing user has only the sp.guild.mod.ban permission. [#426]
  • Fixed the redirection to the dashboard after logging in to the web interface using the DM code.
  • Fixed a bug where the unban request page (/unbanme) would not load and error when an unban request is still open on a guild where shinpuru has been removed from. [#427]
  • Bans executed with shinpuru will no more create post ban prompts. [#424]
  • Removed the gradient in the feature marquee on the start page because of incompatibilities across browsers. [#421]

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.40.0

From GHCR:

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

1.39.1

18 Mar 12:16
Compare
Choose a tag to compare

Note
This is a hotfix patch. If you want to see the changelog for release 1.39.0, please look here.

Bug Fixes

  • A bug has been fixed which resulted in a faulty permission check on revoking reports in the web interface. [#418]
  • When the report message can not be sent via DM to the target user, the error will no more be reported. Also, when the report fails to be sent in the mod log channel, the reported error is now more concise. [#419]

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.1

From GHCR:

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

1.39.0

17 Mar 11:50
0427287
Compare
Choose a tag to compare

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

1.38.0

02 Jan 12:57
c87ec8e
Compare
Choose a tag to compare

Changes

Most of the slash commands are now empehmeral. That means, that only you will see the response and call of the command in the chat.

image

Therefore, also the /login command has been updated so that the response is directly sent to the chat. That is possible because only the sender can see the response. That makes the command available also to people who have disabled DMs from guild members.

image

Bug Fixes

  • Fixed a bug where the guild API token is reset when saving the guild API settings without a new token.
  • Fixed misrepresentation of absolute sub command permissions in the permissions/allowed endpoint. [#398]
  • Fixed some typos (and added some more).

Beta Web Interface

  • Added verification route.
  • Guild Settings: Added guild data removal route.
  • Guild Settings: Added guild API route.
  • Added some more (english) explanation texts.

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.38.0

From GHCR:

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

1.37.1

20 Nov 18:25
Compare
Choose a tag to compare

Bug Fixes

  • Fixed the endlessly loading account verification captcha. [#392]
  • Fixed a crash when shinpuru has no access on the guild audit log after detecting a ban (postban system).
  • Fixed a crash when shinpuru has no access on the guild mod log channel after detecting a ban (postban system).
  • Fixed a bug that not postban message is sent when no reason is specified to the ban.

Beta Web Interface

  • Guild Settings: Guild Log implemented

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.37.1

From GHCR:

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

1.37.0

11 Nov 18:41
Compare
Choose a tag to compare

Role Selection [#363]

Added a new command /roleselect which you can use to create a role selection message. Alternatively, you can also attach role selection to a message which has been sent by shinpuru (for example using /say).

Discord_Jg0ZLo3WNM.mp4

Discord OAuth Handling

The login to shinpuru using the Discord OAuth2 flow is now taking advantage of passing a state parameter to the authentication redirect. This state is a JWT signed with a token randomly generated on startup. This secures the login-process against any type of cross-site request forgery attacks.

Also, this allows to pass additional information through the login process like redirection targets. Therefore, when you log in to the beta web interface, you are now also redirected back to the beta interface after the login instead of being redirected to the main interface.

Bug Fixes

  • When you go to shnp.de/beta, you will now be redirected to the login page if not logged in. [#388]
  • Fixed a typo in the anti-raid notification message. [#389]
  • Fixed command manual generation. [#391]

Beta Web Interface

  • Guild Settings: Verification Route implemented
  • Guild Settings: Code Execution Route implemented
  • Guild Settings: Karma Route implemented

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.37.0

From GHCR:

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

1.36.0

01 Sep 21:51
Compare
Choose a tag to compare

Message Components [#320]

With release v0.17.0 and v0.17.1, message components have now been added to shinpuru.

The acceptmsg package now uses message components to accept and decline the message.

Step by step, more commands and services will be adapted to message components and modals. One of the first commands using message components and modals is the /backup slash command.

"Postban" System [#383]

A new "postban" system has been implemented which detects when a user has been banned manually (directly using the Discord utilities) and sends a notice message into the mod log channel afterwards. Then, you are able to import the ban into the shinpuru report system. You are also able to edit the reason specified in the ban and also add an attachment via an URL.

Minor Changes

Code Base

The Makefile in this repository - which is primarily there to simplify common prep, build, test and deploy tasks - will be swaped out in favor of Taskfile which has a lot of advantages over make - especially in this environment.

If you don't have taskfile installed, please head to taskfile.dev/installation to find out how to install taskfile on your system.

Currently, the Makefile will be kept in the repository for compatibility reasons but will be removed in upcoming updates.

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.36.0

From GHCR:

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