diff --git a/README.md b/README.md
index 73d62e853a..bce40b776f 100644
--- a/README.md
+++ b/README.md
@@ -367,7 +367,7 @@ TGS 4 can self update without stopping your DreamDaemon servers. Any V4 release
Here are tools for interacting with the TGS 4 web API
-- [tgstation-server-control-panel]: Official client and included with the server. A react web app for using tgstation-server.
+- [tgstation-server-control-panel]: Official client and included with the server (WIP). A react web app for using tgstation-server.
- [Tgstation.Server.ControlPanel](https://github.com/tgstation/Tgstation.Server.ControlPanel): Official client. A cross platform GUI for using tgstation-server
- [Tgstation.Server.Client](https://www.nuget.org/packages/Tgstation.Server.Client): A nuget .NET Standard 2.0 TAP based library for communicating with tgstation-server
- [Tgstation.Server.Api](https://www.nuget.org/packages/Tgstation.Server.Api): A nuget .NET Standard 2.0 library containing API definitions for tgstation-server
diff --git a/build/Version.props b/build/Version.props
index f4ea0cd426..d26a034fa2 100644
--- a/build/Version.props
+++ b/build/Version.props
@@ -2,11 +2,11 @@
- 4.5.0
+ 4.5.1
2.1.0
- 7.3.0
- 8.3.0
- 5.2.4
+ 7.3.1
+ 8.3.1
+ 5.2.5
0.4.0
1.1.0
diff --git a/src/DMAPI/tgs.dm b/src/DMAPI/tgs.dm
index 5a143b391a..69afea8ea2 100644
--- a/src/DMAPI/tgs.dm
+++ b/src/DMAPI/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "5.2.4"
+#define TGS_DMAPI_VERSION "5.2.5"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
diff --git a/src/DMAPI/tgs/v3210/api.dm b/src/DMAPI/tgs/v3210/api.dm
index 96499fb0a6..9ed512f8f9 100644
--- a/src/DMAPI/tgs/v3210/api.dm
+++ b/src/DMAPI/tgs/v3210/api.dm
@@ -39,7 +39,7 @@
var/warned_custom_commands = FALSE
/datum/tgs_api/v3210/ApiVersion()
- return new /datum/tgs_version("3.2.1.0")
+ return new /datum/tgs_version("3.2.1.1")
/datum/tgs_api/v3210/proc/trim_left(text)
for (var/i = 1 to length(text))
diff --git a/src/DMAPI/tgs/v3210/commands.dm b/src/DMAPI/tgs/v3210/commands.dm
index a1949da444..a8c3d318e5 100644
--- a/src/DMAPI/tgs/v3210/commands.dm
+++ b/src/DMAPI/tgs/v3210/commands.dm
@@ -42,5 +42,11 @@
var/datum/tgs_chat_command/stc = new command_type
var/datum/tgs_chat_user/user = new
user.friendly_name = sender
+
+ // Discord hack, fix the mention if it's only numbers (fuck you IRC trolls)
+ var/regex/discord_id_regex = regex(@"[0-9]+")
+ if(discord_id_regex.Find(sender))
+ sender = "<@[sender]>"
+
user.mention = sender
return stc.Run(user, params) || TRUE
diff --git a/src/DMAPI/tgs/v5/api.dm b/src/DMAPI/tgs/v5/api.dm
index 524ca1a3c3..d4326fc4a2 100644
--- a/src/DMAPI/tgs/v5/api.dm
+++ b/src/DMAPI/tgs/v5/api.dm
@@ -18,7 +18,7 @@
var/initialized = FALSE
/datum/tgs_api/v5/ApiVersion()
- return new /datum/tgs_version("5.2.4")
+ return new /datum/tgs_version("5.2.5")
/datum/tgs_api/v5/OnWorldNew(minimum_required_security_level)
server_port = world.params[DMAPI5_PARAM_SERVER_PORT]
diff --git a/src/Tgstation.Server.Api/Rights/AdministrationRights.cs b/src/Tgstation.Server.Api/Rights/AdministrationRights.cs
index c3e24c063f..02b984d7f0 100644
--- a/src/Tgstation.Server.Api/Rights/AdministrationRights.cs
+++ b/src/Tgstation.Server.Api/Rights/AdministrationRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -14,27 +14,27 @@ namespace Tgstation.Server.Api.Rights
None = 0,
///
- /// User can edit themself and other s and also create others
+ /// User can edit their and other s and create new ones.
///
WriteUsers = 1,
///
- /// User can gracefully restart the host
+ /// User can gracefully restart TGS.
///
RestartHost = 2,
///
- /// User can change
+ /// User can upgrade or downgrade TGS through the API.
///
ChangeVersion = 4,
///
- /// User can change their password
+ /// User can change their password.
///
EditOwnPassword = 8,
///
- /// User can read info and rights of other users
+ /// User can read info and rights of other users.
///
ReadUsers = 16,
diff --git a/src/Tgstation.Server.Api/Rights/ByondRights.cs b/src/Tgstation.Server.Api/Rights/ByondRights.cs
index 96457c77da..3e54887103 100644
--- a/src/Tgstation.Server.Api/Rights/ByondRights.cs
+++ b/src/Tgstation.Server.Api/Rights/ByondRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -9,32 +9,32 @@ namespace Tgstation.Server.Api.Rights
public enum ByondRights : ulong
{
///
- /// User has no rights
+ /// User has no rights.
///
None = 0,
///
- /// User may check the active installed BYOND version
+ /// User may view the active installed BYOND version.
///
ReadActive = 1,
///
- /// User may list all installed BYOND versions
+ /// User may list all installed BYOND versions.
///
ListInstalled = 2,
///
- /// User may change the active BYOND version. Also allows installing official BYOND versions
+ /// User may install official BYOND versions or change the active BYOND version.
///
InstallOfficialOrChangeActiveVersion = 4,
///
- /// User may cancel version installations
+ /// User may cancel BYOND installation job.
///
CancelInstall = 8,
///
- /// User may upload custom BYOND versions
+ /// User may upload and activate custom BYOND builds.
///
InstallCustomVersion = 16,
}
diff --git a/src/Tgstation.Server.Api/Rights/ChatBotRights.cs b/src/Tgstation.Server.Api/Rights/ChatBotRights.cs
index 076a412ac7..b0bf961ed2 100644
--- a/src/Tgstation.Server.Api/Rights/ChatBotRights.cs
+++ b/src/Tgstation.Server.Api/Rights/ChatBotRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -9,22 +9,22 @@ namespace Tgstation.Server.Api.Rights
public enum ChatBotRights : ulong
{
///
- /// User has no rights
+ /// User has no rights.
///
None = 0,
///
- /// User can change
+ /// User can change .
///
WriteEnabled = 1,
///
- /// User can change
+ /// User can change .
///
WriteProvider = 2,
///
- /// User can change
+ /// User can change .
///
WriteChannels = 4,
@@ -34,37 +34,37 @@ namespace Tgstation.Server.Api.Rights
WriteConnectionString = 8,
///
- /// User can read requires
+ /// User can read requires the permission.
///
ReadConnectionString = 16,
///
- /// User can read all chat settings except
+ /// User can read all properties except
///
Read = 32,
///
- /// User can create new
+ /// User can create new s.
///
Create = 64,
///
- /// User can delete
+ /// User can delete s.
///
Delete = 128,
///
- /// User can change
+ /// User can change .
///
WriteName = 256,
///
- /// User can change
+ /// User can change .
///
WriteReconnectionInterval = 512,
///
- /// User can change
+ /// User can change .
///
WriteChannelLimit = 1024,
}
diff --git a/src/Tgstation.Server.Api/Rights/ConfigurationRights.cs b/src/Tgstation.Server.Api/Rights/ConfigurationRights.cs
index 774fa68bd9..bc93c814e0 100644
--- a/src/Tgstation.Server.Api/Rights/ConfigurationRights.cs
+++ b/src/Tgstation.Server.Api/Rights/ConfigurationRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -9,27 +9,27 @@ namespace Tgstation.Server.Api.Rights
public enum ConfigurationRights : ulong
{
///
- /// User has no rights
+ /// User has no rights.
///
None = 0,
///
- /// User may read files
+ /// User may read files if the allows it.
///
Read = 1,
///
- /// User may write files
+ /// User may write files if the allows it.
///
Write = 2,
///
- /// User may list files
+ /// User may list files if the allows it.
///
List = 4,
///
- /// User may delete empty folders
+ /// User may delete empty folders if the allows it.
///
Delete = 8
}
diff --git a/src/Tgstation.Server.Api/Rights/DreamDaemonRights.cs b/src/Tgstation.Server.Api/Rights/DreamDaemonRights.cs
index ad97d7dec5..941ebffa7e 100644
--- a/src/Tgstation.Server.Api/Rights/DreamDaemonRights.cs
+++ b/src/Tgstation.Server.Api/Rights/DreamDaemonRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -34,7 +34,7 @@ namespace Tgstation.Server.Api.Rights
SetSecurity = 8,
///
- /// User can read all ports, , , , , and
+ /// User can read every propery of except and .
///
ReadMetadata = 16,
@@ -44,27 +44,27 @@ namespace Tgstation.Server.Api.Rights
SetWebClient = 32,
///
- /// User can change
+ /// User can change .
///
SoftRestart = 64,
///
- /// User can change
+ /// User can change .
///
SoftShutdown = 128,
///
- /// User can immediately restart
+ /// User can immediately restart the Watchdog.
///
Restart = 256,
///
- /// User can immediately shutdown
+ /// User can immediately shutdown the Watchdog.
///
Shutdown = 512,
///
- /// User can start .
+ /// User can start the Watchdog.
///
Start = 1024,
diff --git a/src/Tgstation.Server.Api/Rights/DreamMakerRights.cs b/src/Tgstation.Server.Api/Rights/DreamMakerRights.cs
index a78c6b99a9..44d67495f5 100644
--- a/src/Tgstation.Server.Api/Rights/DreamMakerRights.cs
+++ b/src/Tgstation.Server.Api/Rights/DreamMakerRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -9,42 +9,42 @@ namespace Tgstation.Server.Api.Rights
public enum DreamMakerRights : ulong
{
///
- /// User has no rights
+ /// User has no rights.
///
None = 0,
///
- /// User may read status
+ /// User may read all properties of .
///
Read = 1,
///
- /// User may trigger compiles
+ /// User may trigger deployments.
///
Compile = 2,
///
- /// User may cancel compiles
+ /// User may cancel deployment jobs.
///
CancelCompile = 4,
///
- /// User may modify
+ /// User may modify .
///
SetDme = 8,
///
- /// User may modify
+ /// User may modify .
///
SetApiValidationPort = 16,
///
- /// User may list and read all s
+ /// User may list and read all s.
///
CompileJobs = 32,
///
- /// User may modify
+ /// User may modify .
///
SetSecurityLevel = 64,
diff --git a/src/Tgstation.Server.Api/Rights/InstanceManagerRights.cs b/src/Tgstation.Server.Api/Rights/InstanceManagerRights.cs
index 21cc42af56..b8f403843d 100644
--- a/src/Tgstation.Server.Api/Rights/InstanceManagerRights.cs
+++ b/src/Tgstation.Server.Api/Rights/InstanceManagerRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -9,62 +9,62 @@ namespace Tgstation.Server.Api.Rights
public enum InstanceManagerRights : ulong
{
///
- /// User has no rights
+ /// User has no rights.
///
None = 0,
///
- /// User can view s which they have any rights for
+ /// User can view s which they have an for.
///
Read = 1,
///
- /// User can create s
+ /// User can create s.
///
Create = 2,
///
- /// User can rename s they can view
+ /// User can rename s they can view.
///
Rename = 4,
///
- /// User can relocate s they can view
+ /// User can relocate s they can view.
///
Relocate = 8,
///
- /// User can online s they can view
+ /// User can online s they can view.
///
SetOnline = 16,
///
- /// User can delete s they can view
+ /// User can delete s they can view.
///
Delete = 32,
///
- /// User can view all s
+ /// User can view all s.
///
List = 64,
///
- /// User can change
+ /// User can change on instances they can view.
///
SetConfiguration = 128,
///
- /// User can change
+ /// User can change on instances they can view.
///
SetAutoUpdate = 256,
///
- /// User can change .
+ /// User can change on instances they can view.
///
SetChatBotLimit = 512,
///
- /// User can give themselves full rights on instances.
+ /// User can give themselves full rights on ALL instances.
///
GrantPermissions = 1024,
}
diff --git a/src/Tgstation.Server.Api/Rights/InstanceUserRights.cs b/src/Tgstation.Server.Api/Rights/InstanceUserRights.cs
index a32ee62016..fe966dcca0 100644
--- a/src/Tgstation.Server.Api/Rights/InstanceUserRights.cs
+++ b/src/Tgstation.Server.Api/Rights/InstanceUserRights.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
namespace Tgstation.Server.Api.Rights
{
@@ -9,22 +9,22 @@ namespace Tgstation.Server.Api.Rights
public enum InstanceUserRights : ulong
{
///
- /// User has no rights
+ /// User has no rights/
///
None = 0,
///
- /// Allow read access to for the
+ /// Allow read access to all s in the .
///
ReadUsers = 1,
///
- /// Allow write and delete access to for the
+ /// Allow write and delete access to all for the .
///
WriteUsers = 2,
///
- /// Allow adding additional to the
+ /// Allow adding additional s to the .
///
CreateUsers = 4
}
diff --git a/src/Tgstation.Server.Api/Rights/RepositoryRights.cs b/src/Tgstation.Server.Api/Rights/RepositoryRights.cs
index 2e98783905..3b3e79578f 100644
--- a/src/Tgstation.Server.Api/Rights/RepositoryRights.cs
+++ b/src/Tgstation.Server.Api/Rights/RepositoryRights.cs
@@ -9,37 +9,37 @@ namespace Tgstation.Server.Api.Rights
public enum RepositoryRights : ulong
{
///
- /// User has no rights
+ /// User has no rights.
///
None = 0,
///
- /// User may cancel update operations.
+ /// User may cancel repository jobs excluding clone operations.
///
CancelPendingChanges = 1,
///
- /// User may create the if it does not exist
+ /// User may clone the if it does not exist.
///
SetOrigin = 2,
///
- /// User may directly set the sha the 's HEAD points to
+ /// User may directly checkout a git SHA that the 's HEAD will point to.
///
SetSha = 4,
///
- /// User may fetch and merge GitHub pull requests
+ /// User may fetch and merge GitHub pull requests.
///
MergePullRequest = 8,
///
- /// User may use the update feature
+ /// User may fetch and hard reset to the origin version of the current branch.
///
UpdateBranch = 16,
///
- /// User may change and
+ /// User may change and .
///
ChangeCommitter = 32,
@@ -49,32 +49,32 @@ namespace Tgstation.Server.Api.Rights
ChangeTestMergeCommits = 64,
///
- /// User may read and change and
+ /// User may read and change and .
///
ChangeCredentials = 128,
///
- /// User may set to another git reference (not a SHA)
+ /// User may set to another git branch or tag (not a SHA).
///
SetReference = 256,
///
- /// User may read all fields in the with the exception of
+ /// User may read all fields in the with the exception of .
///
Read = 512,
///
- /// User may change and
+ /// User may change and .
///
ChangeAutoUpdateSettings = 1024,
///
- /// User may delete the
+ /// User may delete the and allow it to be cloned again.
///
Delete = 2048,
///
- /// User may cancel clone operations
+ /// User may cancel clone jobs.
///
CancelClone = 4096
}
diff --git a/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs b/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs
index fa90ef4045..321735a5b6 100644
--- a/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs
+++ b/src/Tgstation.Server.Host/Components/Interop/DMApiConstants.cs
@@ -33,7 +33,7 @@ namespace Tgstation.Server.Host.Components.Interop
///
/// The DMAPI being used.
///
- public static readonly Version Version = new Version(5, 2, 4);
+ public static readonly Version Version = new Version(5, 2, 5);
///
/// for use when communicating with the DMAPI.
diff --git a/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs b/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs
index 82e6866312..7864d1a5ae 100644
--- a/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs
+++ b/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs
@@ -1,4 +1,4 @@
-using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using System;
@@ -275,7 +275,7 @@ namespace Tgstation.Server.Host.Controllers
#pragma warning restore CA1502
///
- /// Creates a to restart the Watchdog. It will start if it wasn't already running.
+ /// Creates a to restart the Watchdog. It will not start if it wasn't already running.
///
/// The for the operation
/// A resulting in the of the request
diff --git a/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs b/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs
index 2bb5265c16..962e88e1df 100644
--- a/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs
+++ b/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs
@@ -218,7 +218,7 @@ namespace Tgstation.Server.Host.Database
}
///
- /// Changes the admin password in back to it's default and enables the account
+ /// Changes the admin password in back to it's default, enables the account, and gives it access.
///
/// The to reset the admin password for
/// The for the operation
@@ -229,6 +229,7 @@ namespace Tgstation.Server.Host.Database
if (admin != null)
{
admin.Enabled = true;
+ admin.AdministrationRights |= AdministrationRights.WriteUsers;
cryptographySuite.SetUserPassword(admin, Api.Models.User.DefaultAdminPassword, false);
}
diff --git a/src/Tgstation.Server.Host/Models/RepositorySettings.cs b/src/Tgstation.Server.Host/Models/RepositorySettings.cs
index df1b51305e..6cc2cf436e 100644
--- a/src/Tgstation.Server.Host/Models/RepositorySettings.cs
+++ b/src/Tgstation.Server.Host/Models/RepositorySettings.cs
@@ -1,4 +1,4 @@
-using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations;
using Tgstation.Server.Api.Models;
namespace Tgstation.Server.Host.Models
@@ -36,7 +36,8 @@ namespace Tgstation.Server.Host.Models
CommitterName = CommitterName,
PushTestMergeCommits = PushTestMergeCommits,
ShowTestMergeCommitters = ShowTestMergeCommitters,
- PostTestMergeComment = PostTestMergeComment
+ PostTestMergeComment = PostTestMergeComment,
+ CreateGitHubDeployments = CreateGitHubDeployments,
// revision information and the rest retrieved by controller
};