From 8c9c9f3d2b5d9471f2815c0ab0db32a1617d5614 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 28 Aug 2020 23:38:06 -0400 Subject: [PATCH 1/7] Fix Repository's `createGitHubDeployments` not being returned in API responses --- src/Tgstation.Server.Host/Models/RepositorySettings.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 }; From c204ce49374245cf634ae7b90362d9a909df9c9b Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 29 Aug 2020 00:18:44 -0400 Subject: [PATCH 2/7] Version bump to 4.5.1 --- build/Version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Version.props b/build/Version.props index f4ea0cd426..b2ea25e4b7 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ - 4.5.0 + 4.5.1 2.1.0 7.3.0 8.3.0 From d448a851a697207e4215ea356cc2847c96efda86 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 29 Aug 2020 12:36:06 -0400 Subject: [PATCH 3/7] Give admin account WriteUsers on reset --- src/Tgstation.Server.Host/Database/DatabaseSeeder.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); } From 078450e5db74735716e207364fa5df7a9182d39b Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 29 Aug 2020 12:39:59 -0400 Subject: [PATCH 4/7] Re-document all rights --- build/Version.props | 4 +-- .../Rights/AdministrationRights.cs | 12 ++++----- .../Rights/ByondRights.cs | 14 +++++----- .../Rights/ChatBotRights.cs | 24 ++++++++--------- .../Rights/ConfigurationRights.cs | 12 ++++----- .../Rights/DreamDaemonRights.cs | 14 +++++----- .../Rights/DreamMakerRights.cs | 18 ++++++------- .../Rights/InstanceManagerRights.cs | 26 +++++++++---------- .../Rights/InstanceUserRights.cs | 10 +++---- .../Rights/RepositoryRights.cs | 26 +++++++++---------- 10 files changed, 80 insertions(+), 80 deletions(-) diff --git a/build/Version.props b/build/Version.props index b2ea25e4b7..e8bea9c7d2 100644 --- a/build/Version.props +++ b/build/Version.props @@ -4,8 +4,8 @@ 4.5.1 2.1.0 - 7.3.0 - 8.3.0 + 7.3.1 + 8.3.1 5.2.4 0.4.0 1.1.0 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 } From 0cdcc67def27c7b805e48ca0d7ecabe48a7558e8 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 29 Aug 2020 12:40:16 -0400 Subject: [PATCH 5/7] Fix description of PATCH /DreamDaemon --- .../Controllers/DreamDaemonController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From ebe8b84a95b3c051ea5b9988cd6fee319b9d6c4a Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 29 Aug 2020 12:40:45 -0400 Subject: [PATCH 6/7] Minor README update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 4a38e7f1eb7c043b6876dc3101db6d33b3420366 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Sat, 29 Aug 2020 12:46:45 -0400 Subject: [PATCH 7/7] V3 DMAPI patch, fix Discord mentions --- build/Version.props | 2 +- src/DMAPI/tgs.dm | 2 +- src/DMAPI/tgs/v3210/api.dm | 2 +- src/DMAPI/tgs/v3210/commands.dm | 6 ++++++ src/DMAPI/tgs/v5/api.dm | 2 +- .../Components/Interop/DMApiConstants.cs | 2 +- 6 files changed, 11 insertions(+), 5 deletions(-) diff --git a/build/Version.props b/build/Version.props index e8bea9c7d2..d26a034fa2 100644 --- a/build/Version.props +++ b/build/Version.props @@ -6,7 +6,7 @@ 2.1.0 7.3.1 8.3.1 - 5.2.4 + 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.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.