Compare commits

...
Author SHA1 Message Date
Sheldan 7304aed3f4 [SIS-xxx] updating to new abstracto version 1.6.28 2026-05-15 13:45:27 +02:00
release-bot f9fc108551 Commit from GitHub Actions (Publishes a new version of Sissi) 2026-05-15 11:08:35 +00:00
release-bot aa56d5fd88 [maven-release-plugin] prepare for next development iteration 2026-05-15 11:01:53 +00:00
release-bot 95b7a0f245 [maven-release-plugin] prepare release sissi-1.5.28 2026-05-15 11:01:51 +00:00
Sheldan 9cbc0f540a [SIS-xxx] updating to new abstracto version 1.6.27 2026-05-15 12:57:50 +02:00
release-bot 2c66eca026 Commit from GitHub Actions (Publishes a new version of Sissi) 2026-05-15 09:33:21 +00:00
release-bot 26950396db [maven-release-plugin] prepare for next development iteration 2026-05-15 09:24:40 +00:00
release-bot e0dbfd9418 [maven-release-plugin] prepare release sissi-1.5.27 2026-05-15 09:24:37 +00:00
Sheldan f1868e89f0 [SIS-xxx] updating to new abstracto version 1.6.26 2026-05-15 11:18:41 +02:00
release-bot d28f593410 Commit from GitHub Actions (Publishes a new version of Sissi) 2026-05-02 22:57:51 +00:00
release-bot c15d848418 [maven-release-plugin] prepare for next development iteration 2026-05-02 22:52:13 +00:00
release-bot 08f3b5fc90 [maven-release-plugin] prepare release sissi-1.5.26 2026-05-02 22:52:11 +00:00
Sheldan 851b7e008f [SIS-xxx] updating to new abstracto version 1.6.25 2026-05-03 00:47:48 +02:00
release-bot 1547a6cb4a Commit from GitHub Actions (Publishes a new version of Sissi) 2026-04-26 21:39:05 +00:00
release-bot c49ba569f1 [maven-release-plugin] prepare for next development iteration 2026-04-26 21:32:51 +00:00
release-bot 4557ed55be [maven-release-plugin] prepare release sissi-1.5.25 2026-04-26 21:32:48 +00:00
Sheldan 36f1a2f5da [SIS-xxx] updating to new abstracto version 1.6.24 2026-04-26 23:28:21 +02:00
release-bot b97a287b7b Commit from GitHub Actions (Publishes a new version of Sissi) 2026-04-25 21:52:08 +00:00
release-bot a87e8c753a [maven-release-plugin] prepare for next development iteration 2026-04-25 21:46:42 +00:00
release-bot 204c6c7f2d [maven-release-plugin] prepare release sissi-1.5.24 2026-04-25 21:46:40 +00:00
Sheldan f720632648 [SIS-xxx] updating to new abstracto version 1.6.23 2026-04-25 23:43:26 +02:00
release-bot a571b5c595 Commit from GitHub Actions (Publishes a new version of Sissi) 2026-04-24 18:14:26 +00:00
release-bot bd9dfda785 [maven-release-plugin] prepare for next development iteration 2026-04-24 18:08:07 +00:00
release-bot a00d08d0d8 [maven-release-plugin] prepare release sissi-1.5.23 2026-04-24 18:08:04 +00:00
Sheldan 79ad590eff [SIS-xxx] fixing abstracto version 2026-04-24 20:03:47 +02:00
Sheldan d5d6bbbcb5 [SIS-xxx] changing ban message
modifying meetup to add the location on the meetup message itself
updating abstracto version
2026-04-24 20:03:10 +02:00
release-bot 796c66ff33 Commit from GitHub Actions (Publishes a new version of Sissi) 2026-03-29 10:42:08 +00:00
release-bot 322ff139f1 [maven-release-plugin] prepare for next development iteration 2026-03-29 10:36:19 +00:00
release-bot b26a62b04a [maven-release-plugin] prepare release sissi-1.5.22 2026-03-29 10:36:17 +00:00
Sheldan 56ca9c7837 [SIS-xxx] updating abstracto version to get new features 2026-03-29 12:31:57 +02:00
release-bot cb7a8b04d8 Commit from GitHub Actions (Publishes a new version of Sissi) 2026-02-15 22:24:24 +00:00
release-bot 4c9ba0a7f8 [maven-release-plugin] prepare for next development iteration 2026-02-15 22:16:54 +00:00
release-bot ca47422b35 [maven-release-plugin] prepare release sissi-1.5.21 2026-02-15 22:16:51 +00:00
Sheldan aa1ffc7ce0 [SIS-xxx] updating abstracto to get @time duration handling
adding instant parsing ability for meetup parameter
remove change meetup time text command
removing not needed method
2026-02-15 23:11:31 +01:00
Sheldan 82378e3f5e [SIS-xxx] updating grafana dashboards
adding http request panel
updating abstracto versions to get http metric and remind hint text
2026-01-08 00:40:29 +01:00
release-bot ca05ce4abf Commit from GitHub Actions (Publishes a new version of Sissi) 2025-12-30 12:52:27 +00:00
release-bot 26663f9f00 [maven-release-plugin] prepare for next development iteration 2025-12-30 12:46:38 +00:00
release-bot 128710c847 [maven-release-plugin] prepare release sissi-1.5.20 2025-12-30 12:46:36 +00:00
Sheldan ee0a49b00e [SIS-xxx] updating abstracto version to get the new JDA version 2025-12-30 13:42:08 +01:00
Sheldan ff4756e0ff [SIS-xxx] updating abstracto version to get the new JDA version 2025-12-28 21:24:59 +01:00
release-bot 68e4dc4235 Commit from GitHub Actions (Publishes a new version of Sissi) 2025-12-17 23:23:15 +00:00
release-bot 7d827c6e1e [maven-release-plugin] prepare for next development iteration 2025-12-17 23:17:19 +00:00
61 changed files with 259 additions and 158 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
REGISTRY_PREFIX=harbor.sheldan.dev/sissi/
ABSTRACTO_PREFIX=harbor.sheldan.dev/abstracto/
VERSION=1.5.18
ABSTRACTO_VERSION=1.6.18
VERSION=1.5.28
ABSTRACTO_VERSION=1.6.28
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.application</groupId>
<artifactId>application</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>executable</artifactId>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi</groupId>
<artifactId>sissi</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -4,7 +4,7 @@
<parent>
<groupId>dev.sheldan.sissi.application.module.custom</groupId>
<artifactId>sissi-customizations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<artifactId>image-generation-custom</artifactId>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.application.module.custom</groupId>
<artifactId>sissi-customizations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<artifactId>application</artifactId>
<groupId>dev.sheldan.sissi.application</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.application</groupId>
<artifactId>sissi-modules</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.application</groupId>
<artifactId>sissi-modules</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -5,7 +5,6 @@ import dev.sheldan.abstracto.core.command.condition.AbstractConditionableCommand
import dev.sheldan.abstracto.core.command.config.CommandConfiguration;
import dev.sheldan.abstracto.core.command.config.HelpInfo;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.interaction.ComponentService;
@@ -13,10 +12,7 @@ import dev.sheldan.abstracto.core.interaction.InteractionService;
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandConfig;
import dev.sheldan.abstracto.core.interaction.slash.SlashCommandPrivilegeLevels;
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandParameterService;
import dev.sheldan.abstracto.core.service.ChannelService;
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
import dev.sheldan.abstracto.core.templating.service.TemplateService;
import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.core.utils.ParseUtils;
import dev.sheldan.sissi.module.meetup.config.MeetupFeatureDefinition;
import dev.sheldan.sissi.module.meetup.config.MeetupSlashCommandNames;
import dev.sheldan.sissi.module.meetup.exception.MeetupPastTimeException;
@@ -57,44 +53,6 @@ public class ChangeMeetupTime extends AbstractConditionableCommand {
@Autowired
private MeetupServiceBean meetupServiceBean;
@Autowired
private ChannelService channelService;
@Autowired
private TemplateService templateService;
@Override
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
List<Object> parameters = commandContext.getParameters().getParameters();
Long meetupId = (Long) parameters.get(0);
Meetup meetup = meetupManagementServiceBean.getMeetup(meetupId, commandContext.getGuild().getIdLong());
if(!meetup.getOrganizer().getUserReference().getId().equals(commandContext.getAuthor().getIdLong())) {
throw new NotMeetupOrganizerException();
}
Long newTimestamp = (Long) parameters.get(1);
Instant newMeetupTime = Instant.ofEpochSecond(newTimestamp);
if(newMeetupTime.isBefore(Instant.now())) {
throw new MeetupPastTimeException();
}
String confirmationId = componentService.generateComponentId();
String cancelId = componentService.generateComponentId();
MeetupChangeTimeConfirmationModel model = MeetupChangeTimeConfirmationModel
.builder()
.meetupTime(newMeetupTime)
.topic(meetup.getTopic())
.description(meetup.getDescription())
.userId(commandContext.getAuthor().getIdLong())
.guildId(commandContext.getGuild().getIdLong())
.meetupId(meetupId)
.confirmationId(confirmationId)
.cancelId(cancelId)
.build();
MessageToSend messageToSend = templateService.renderEmbedTemplate(CHANGE_MEETUP_TIME_CONFIRMATION, model, commandContext.getGuild().getIdLong());
return FutureUtils.toSingleFutureGeneric(channelService.sendMessageToSendToChannel(messageToSend, commandContext.getChannel()))
.thenAccept(unused -> meetupServiceBean.storeMeetupChangeTimeConfirmation(model))
.thenApply(unused -> CommandResult.fromSuccess());
}
@Override
public CompletableFuture<CommandResult> executeSlash(SlashCommandInteractionEvent event) {
Long meetupId = slashCommandParameterService.getCommandOption(MEETUP_ID_PARAMETER, event, Integer.class).longValue();
@@ -102,8 +60,8 @@ public class ChangeMeetupTime extends AbstractConditionableCommand {
if(!meetup.getOrganizer().getUserReference().getId().equals(event.getMember().getIdLong())) {
throw new NotMeetupOrganizerException();
}
Integer time = slashCommandParameterService.getCommandOption(MEETUP_NEW_TIMESTAMP_PARAMETER, event, Long.class, Integer.class);
Instant meetupTime = Instant.ofEpochSecond(time);
String time = slashCommandParameterService.getCommandOption(MEETUP_NEW_TIMESTAMP_PARAMETER, event, String.class, String.class);
Instant meetupTime = ParseUtils.parseInstant(time);
if(meetupTime.isBefore(Instant.now())) {
throw new MeetupPastTimeException();
}
@@ -138,7 +96,7 @@ public class ChangeMeetupTime extends AbstractConditionableCommand {
.builder()
.templated(true)
.name(MEETUP_NEW_TIMESTAMP_PARAMETER)
.type(Long.class)
.type(Instant.class)
.build();
List<Parameter> parameters = Arrays.asList(meetupIdParameter, newTimeStampParameter);
@@ -162,6 +120,7 @@ public class ChangeMeetupTime extends AbstractConditionableCommand {
.async(true)
.slashCommandConfig(slashCommandConfig)
.supportsEmbedException(true)
.slashCommandOnly(true)
.causesReaction(true)
.parameters(parameters)
.help(helpInfo)
@@ -23,6 +23,7 @@ import dev.sheldan.abstracto.core.service.management.UserInServerManagementServi
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
import dev.sheldan.abstracto.core.templating.service.TemplateService;
import dev.sheldan.abstracto.core.utils.FutureUtils;
import dev.sheldan.abstracto.core.utils.ParseUtils;
import dev.sheldan.sissi.module.meetup.config.MeetupFeatureDefinition;
import dev.sheldan.sissi.module.meetup.config.MeetupSlashCommandNames;
import dev.sheldan.sissi.module.meetup.model.command.MeetupConfirmationModel;
@@ -34,6 +35,8 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.Instant;
import java.util.Arrays;
import java.util.List;
@@ -75,7 +78,7 @@ public class CreateMeetup extends AbstractConditionableCommand {
private static final String DESCRIPTION_PARAMETER = "description";
private static final String LOCATION_PARAMETER = "location";
private static final String CONFIRMATION_TEMPLATE = "createMeetup_confirmation";
private static final String DEFAULT_LOCATION_STRING = "\"\"";
private static final String DEFAULT_LOCATION_STRING = "";
@Override
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
@@ -93,13 +96,14 @@ public class CreateMeetup extends AbstractConditionableCommand {
Meetup meetup = meetupManagementServiceBean.createMeetup(meetupTime, meetupTopic, description, organizer, meetupChannel, DEFAULT_LOCATION_STRING);
String confirmationId = componentService.generateComponentId();
String cancelId = componentService.generateComponentId();
String locationEncoded = URLEncoder.encode(meetup.getLocation(), StandardCharsets.UTF_8);
MeetupConfirmationModel model = MeetupConfirmationModel
.builder()
.meetupTime(meetupTime)
.guildId(commandContext.getGuild().getIdLong())
.description(description)
.topic(meetupTopic)
.location(meetup.getLocation())
.location(locationEncoded)
.confirmationId(confirmationId)
.cancelId(cancelId)
.meetupId(meetup.getId().getId())
@@ -114,7 +118,7 @@ public class CreateMeetup extends AbstractConditionableCommand {
@Override
public CompletableFuture<CommandResult> executeSlash(SlashCommandInteractionEvent event) {
Integer time = slashCommandParameterService.getCommandOption(MEETUP_TIME_PARAMETER, event, Long.class, Integer.class);
String time = slashCommandParameterService.getCommandOption(MEETUP_TIME_PARAMETER, event, Instant.class, String.class);
String topic = slashCommandParameterService.getCommandOption(TOPIC_PARAMETER, event, String.class);
String description;
if(slashCommandParameterService.hasCommandOption(DESCRIPTION_PARAMETER, event)) {
@@ -129,19 +133,20 @@ public class CreateMeetup extends AbstractConditionableCommand {
} else {
location = DEFAULT_LOCATION_STRING;
}
Instant meetupTime = Instant.ofEpochSecond(time);
Instant meetupTime = ParseUtils.parseInstant(time);
AUserInAServer organizer = userInServerManagementService.loadOrCreateUser(event.getMember());
AChannel meetupChannel = channelManagementService.loadChannel(event.getChannel().getIdLong());
Meetup meetup = meetupManagementServiceBean.createMeetup(meetupTime, topic, description, organizer, meetupChannel, location);
String confirmationId = componentService.generateComponentId();
String cancelId = componentService.generateComponentId();
String locationEncoded = URLEncoder.encode(meetup.getLocation(), StandardCharsets.UTF_8);
MeetupConfirmationModel model = MeetupConfirmationModel
.builder()
.meetupTime(meetupTime)
.guildId(event.getGuild().getIdLong())
.description(description)
.topic(topic)
.location(meetup.getLocation())
.location(locationEncoded)
.confirmationId(confirmationId)
.cancelId(cancelId)
.meetupId(meetup.getId().getId())
@@ -16,7 +16,7 @@ public class MeetupMessageModel {
private String description;
private Instant meetupTime;
private String location;
private String decodedLocation;
private String locationEncoded;
private MemberDisplay organizer;
private Long meetupId;
private String yesId;
@@ -195,17 +195,17 @@ public class MeetupServiceBean {
.filter(meetupParticipator -> meetupParticipator.getDecision().equals(MeetupDecision.NO_TIME))
.map(mapToUserId)
.toList();
String rawLocation = java.net.URLDecoder.decode(meetup.getLocation(), StandardCharsets.UTF_8);
List<Long> participantIds = allParticipants
.stream()
.map(mapToUserId)
.collect(Collectors.toList());
String locationEncoded = URLEncoder.encode(meetup.getLocation(), StandardCharsets.UTF_8);
MeetupMessageModel.MeetupMessageModelBuilder builder = MeetupMessageModel
.builder()
.description(meetup.getDescription())
.topic(meetup.getTopic())
.location(meetup.getLocation())
.decodedLocation(rawLocation)
.locationEncoded(locationEncoded)
.noTimeId(meetup.getNoTimeButtonId())
.yesId(meetup.getYesButtonId())
.maybeId(meetup.getMaybeButtonId())
@@ -525,11 +525,7 @@ public class MeetupServiceBean {
}
public CompletableFuture<Void> changeMeetupLocation(Meetup meetup, String newLocation) {
try {
meetup.setLocation(URLEncoder.encode(newLocation, StandardCharsets.UTF_8.toString()));
} catch (UnsupportedEncodingException e) {
throw new AbstractoRunTimeException(e);
}
meetup.setLocation(newLocation);
return updateMeetupMessage(meetup);
}
@@ -30,10 +30,6 @@ public class MeetupComponentManagementServiceBean {
return meetupComponentRepository.save(component);
}
public void deleteComponent(MeetupComponent meetupComponent) {
meetupComponentRepository.delete(meetupComponent);
}
public void deleteAllComponents(Meetup meetup) {
meetupComponentRepository.deleteAll(meetup.getMeetupComponents());
}
@@ -35,23 +35,18 @@ public class MeetupManagementServiceBean {
throw new MeetupPastTimeException();
}
Long meetupId = counterService.getNextCounterValue(organizer.getServerReference(), MEETUP_COUNTER_KEY);
Meetup meetup = null;
try {
meetup = Meetup
Meetup meetup = Meetup
.builder()
.meetupTime(timeStamp)
.description(description)
.topic(topic)
.location(URLEncoder.encode(location, StandardCharsets.UTF_8.toString()))
.location(location)
.organizer(organizer)
.server(organizer.getServerReference())
.meetupChannel(meetupChannel)
.state(MeetupState.NEW)
.id(new ServerSpecificId(organizer.getServerReference().getId(), meetupId))
.build();
} catch (UnsupportedEncodingException e) {
throw new AbstractoRunTimeException(e);
}
return meetupRepository.save(meetup);
}
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<artifactId>sissi-modules</artifactId>
<groupId>dev.sheldan.sissi.application</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.application</groupId>
<artifactId>application</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.application</groupId>
<artifactId>sissi-modules</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<artifactId>sissi-modules</artifactId>
<groupId>dev.sheldan.sissi.application</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -2,4 +2,4 @@ apiVersion: v2
name: sissi
description: A Helm chart for Kubernetes
type: application
version: 1.5.18
version: 1.5.28
@@ -20,7 +20,6 @@
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
@@ -33,11 +32,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -69,7 +70,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -95,10 +96,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -127,11 +130,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -163,7 +168,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -189,10 +194,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -221,11 +228,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -257,7 +266,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -283,10 +292,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -315,11 +326,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -351,7 +364,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -377,10 +390,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -409,11 +424,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -445,7 +462,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -471,10 +488,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -542,11 +561,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -578,7 +599,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -604,10 +625,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -636,11 +659,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -672,7 +697,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -698,10 +723,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -730,11 +757,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -766,7 +795,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -792,10 +821,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -824,11 +855,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -860,7 +893,100 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 15,
"w": 24,
"x": 0,
"y": 32
},
"id": 11,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"editorMode": "code",
"expr": "increase(jda_request_total{namespace=\"sissi\"}[1m]) / 2",
"legendFormat": "{{ "{{" }} http_key {{ "}}" }}",
"range": true,
"refId": "A"
}
],
"title": "HTTP Requests",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
@@ -875,7 +1001,7 @@
"h": 16,
"w": 24,
"x": 0,
"y": 32
"y": 47
},
"id": 9,
"options": {
@@ -886,10 +1012,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -908,18 +1036,21 @@
"type": "timeseries"
}
],
"preload": false,
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"schemaVersion": 41,
"tags": [],
"templating": {
"list": [
{
"current": {
"text": "Sissi",
"value": "Sissi"
},
"hide": 2,
"label": "",
"name": "application",
"query": "Sissi",
"skipUrlSync": false,
"skipUrlSync": true,
"type": "constant"
}
]
@@ -932,7 +1063,7 @@
"timezone": "",
"title": "Sissi Discord status",
"uid": "a7b3297d-972e-4dbd-9223-88d589817d34",
"version": 2,
"version": 3,
"weekStart": ""
},
"overwrite": true
@@ -20,8 +20,8 @@
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 12,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
@@ -29,6 +29,10 @@
"uid": "loki"
},
"description": "Display logs and search for logs",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"h": 13,
"w": 24,
@@ -38,6 +42,7 @@
"id": 4,
"options": {
"dedupStrategy": "none",
"enableInfiniteScrolling": false,
"enableLogDetails": true,
"prettifyLogMessage": false,
"showCommonLabels": false,
@@ -46,6 +51,7 @@
"sortOrder": "Ascending",
"wrapLogMessage": true
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -68,6 +74,10 @@
"uid": "loki"
},
"description": "Any line on level ERROR",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
@@ -77,6 +87,7 @@
"id": 2,
"options": {
"dedupStrategy": "none",
"enableInfiniteScrolling": false,
"enableLogDetails": true,
"prettifyLogMessage": false,
"showCommonLabels": false,
@@ -85,6 +96,7 @@
"sortOrder": "Ascending",
"wrapLogMessage": true
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -113,11 +125,13 @@
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
@@ -149,7 +163,7 @@
"steps": [
{
"color": "green",
"value": null
"value": 0
},
{
"color": "red",
@@ -175,10 +189,12 @@
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.1.1",
"targets": [
{
"datasource": {
@@ -195,20 +211,18 @@
"type": "timeseries"
}
],
"preload": false,
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"schemaVersion": 41,
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "",
"value": ""
},
"description": "What to search in the logs",
"hide": 0,
"name": "logFilter",
"options": [
{
@@ -218,7 +232,6 @@
}
],
"query": "",
"skipUrlSync": false,
"type": "textbox"
}
]
@@ -231,7 +244,7 @@
"timezone": "",
"title": "Sissi Logs",
"uid": "a5b429af-860c-4438-a575-24bed6dcba09",
"version": 2,
"version": 3,
"weekStart": ""
},
"overwrite": true
+7 -7
View File
@@ -3,7 +3,7 @@ bot:
repository: harbor.sheldan.dev/sissi
pullPolicy: Always
image: sissi-bot
tag: 1.5.18
tag: 1.5.28
livenessProbe:
initialDelaySeconds: 60
periodSeconds: 5
@@ -23,7 +23,7 @@ restApi:
repository: harbor.sheldan.dev/sissi
pullPolicy: Always
image: sissi-rest-api
tag: 1.5.18
tag: 1.5.28
podAnnotations: {}
podSecurityContext: {}
securityContext: {}
@@ -63,7 +63,7 @@ privateRestApi:
repository: harbor.sheldan.dev/sissi
pullPolicy: Always
image: sissi-private-rest-api
tag: 1.5.18
tag: 1.5.28
podAnnotations: {}
podSecurityContext: {}
securityContext: {}
@@ -94,23 +94,23 @@ templateDeployment:
repository: harbor.sheldan.dev/abstracto
pullPolicy: Always
image: abstracto-template-deployment
tag: 1.6.18
tag: 1.6.28
templateDeploymentData:
repository: harbor.sheldan.dev/sissi
pullPolicy: Always
image: sissi-template-data
tag: 1.5.18
tag: 1.5.28
dbConfigDeployment:
enabled: true
repository: harbor.sheldan.dev/abstracto
pullPolicy: Always
image: abstracto-db-deployment
tag: 1.6.18
tag: 1.6.28
dbConfigDeploymentData:
repository: harbor.sheldan.dev/sissi
pullPolicy: Always
image: sissi-db-data
tag: 1.5.18
tag: 1.5.28
dbCredentials:
host: null
port: null
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi</groupId>
<artifactId>deployment</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi</groupId>
<artifactId>sissi</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+4 -4
View File
@@ -13,13 +13,13 @@
<groupId>dev.sheldan.sissi</groupId>
<artifactId>sissi</artifactId>
<name>Sissi</name>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
<properties>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<abstracto.version>1.6.18</abstracto.version>
<abstracto.templates.version>1.4.64</abstracto.templates.version>
<abstracto.version>1.6.28</abstracto.version>
<abstracto.templates.version>1.4.70</abstracto.templates.version>
<apache-jena.version>4.9.0</apache-jena.version>
<rssreader.version>3.5.0</rssreader.version>
<jsoup.version>1.21.2</jsoup.version>
@@ -73,7 +73,7 @@
<connection>scm:git:${project.scm.url}</connection>
<developerConnection>scm:git:${project.scm.url}</developerConnection>
<url>https://github.com/Sheldan/Sissi.git</url>
<tag>sissi-1.5.19</tag>
<tag>HEAD</tag>
</scm>
</project>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi</groupId>
<artifactId>sissi</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -4,7 +4,7 @@
<parent>
<artifactId>customization-templates</artifactId>
<groupId>dev.sheldan.sissi.templates</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<artifactId>image-generation-customization-templates</artifactId>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>customization-templates</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>sissi-templates</artifactId>
<groupId>dev.sheldan.sissi.templates</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>module-templates</artifactId>
<groupId>dev.sheldan.sissi.templates</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>module-templates</artifactId>
<groupId>dev.sheldan.sissi.templates</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -2,7 +2,7 @@
{
"components": [
{
<#assign hasLocation=location?? && location != "%22%22">
<#assign hasLocation=location?has_content>
"type": "textDisplay",
"content": "<#include "createMeetup_meetup_information">"
},
@@ -17,18 +17,22 @@
<#assign time><@format_instant_long_date_time instant=meetupTime/></#assign>
<#assign timeRelative><@format_instant_relative instant=meetupTime/></#assign>
<#if location?? && location != "%22%22">
<#if location?has_content>
"type": "section",
"components": [
{
"type": "textDisplay",
"content": "<@safe_include "meetup_display_time_component"/>"
},
{
"type": "textDisplay",
"content": "<@safe_include "meetup_message_location_button_label"/>: ${location?json_string}"
}
],
"accessory": {
"type": "button",
"label": "<@safe_include "meetup_message_location_button_label"/>",
"url": "https://www.google.com/maps?q=${location?json_string}",
"url": "https://www.google.com/maps?q=${locationEncoded?json_string}",
"buttonStyle": "link"
}
<#else>
@@ -8,6 +8,6 @@ DTSTART:${meetupIcsModel.icsFormattedStartTime}
DTEND:${meetupIcsModel.icsFormattedEndTime}
SUMMARY:${topic}
<#if description?has_content>DESCRIPTION:${description}</#if>
<#if decodedLocation?? && decodedLocation != "">LOCATION:${decodedLocation}</#if>
<#if location?? && location != "">LOCATION:${location}</#if>
END:VEVENT
END:VCALENDAR
@@ -4,7 +4,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>module-templates</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<artifactId>miepscord-templates</artifactId>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>sissi-templates</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>module-templates</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>module-templates</artifactId>
<groupId>dev.sheldan.sissi.templates</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>templates</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>template-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>template-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>template-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>sissi-templates</artifactId>
<groupId>dev.sheldan.sissi.templates</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>template-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<artifactId>customization-translations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>sissi-translations</artifactId>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>module-translations</artifactId>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<artifactId>module-translations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -1 +1 @@
New time of the meetup (https://www.unixtimestamp.com/)
New time of the meetup (https://www.unixtimestamp.com/) or use @time: <time>
@@ -1 +1 @@
Time of the meetup (https://www.unixtimestamp.com/)
Time of the meetup (https://www.unixtimestamp.com/) or use @time: <time>
@@ -4,7 +4,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<artifactId>module-translations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<artifactId>miepscord-translations</artifactId>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<artifactId>sissi-translations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<artifactId>module-translations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<artifactId>module-translations</artifactId>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+1 -1
View File
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates</groupId>
<artifactId>templates</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
<artifactId>translation-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
<artifactId>translation-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
<artifactId>translation-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations.overrides</groupId>
<artifactId>translation-overrides</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -1,9 +1,11 @@
Du wurdest vom Server ${serverName} wegen `${reason}` gebannt.
When du das beeinspruchen willst, folge bitte dieser Einladung: https://discord.gg/qdH3rJDVrv und ANTWORTE AUF DIESE NACHRICHT MIT EINER TEXT NACHRICHT. Die Mods werden dir dann antworten.
When du das beeinspruchen willst, folge bitte dieser Einladung: https://discord.gg/qdH3rJDVrv und ANTWORTE AUF DIESE NACHRICHT MIT EINER TEXT NACHRICHT.
Die Mods werden dir dann antworten. Falls du wegen honeypot gebannt wurdest: Dies ist eine Rolle beim onboarding und da steht daneben, dass man gebannt wird. Melde dich dennoch bei den Mods.
Du musst dich in 'Austria Appeal Server' befinden, damit du dem Bot schreiben kannst.
Wenn der Einspruch abgelehnt wird, wirst du vom Server entfernt.
You were banned from the server ${serverName} for `${reason}`.
If you want to appeal, join the server https://discord.gg/qdH3rJDVrv and then message this bot, this opens up a modmail.
If you were banned for the reason of honeypot: this is related to an option you selected during onboarding that specifically says that you get banned upon selection. Contact the mods anyway if you want.
Joining the server is necessary in order to make communication to the bot possible.
If the appeal is denied, you will be banned from the above-mentioned server.
@@ -3,7 +3,7 @@
<parent>
<groupId>dev.sheldan.sissi.templates.translations</groupId>
<artifactId>sissi-translations</artifactId>
<version>1.5.19</version>
<version>1.5.29-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>