diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index bf0a9d4..17fcebf 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -144,10 +144,14 @@ jobs: uses: nuget/setup-nuget@v1 - name: Add Github Packages source run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }} + - name: Add nuget.org API Key + run: nuget setApiKey ${{ secrets.NUGET_API_KEY }} - name: Create nuget package run: nuget pack "./PepperDash_Core.nuspec" -version ${{ env.VERSION }} - name: Publish nuget package to Github registry run: nuget push **/*.nupkg -source github + - name: Publish nuget package to nuget.org + run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json # This step always runs and pushes the build to the internal build rep Internal_Push_Output: needs: Build_Project diff --git a/.github/workflows/master.yml b/.github/workflows/main.yml similarity index 97% rename from .github/workflows/master.yml rename to .github/workflows/main.yml index eefdcde..b41e08c 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/main.yml @@ -119,10 +119,14 @@ jobs: uses: nuget/setup-nuget@v1 - name: Add Github Packages source run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }} + - name: Add nuget.org API Key + run: nuget setApiKey ${{ secrets.NUGET_API_KEY }} - name: Create nuget package run: nuget pack "./PepperDash_Core.nuspec" -version ${{ env.VERSION }} - name: Publish nuget package to Github registry run: nuget push **/*.nupkg -source github + - name: Publish nuget package to nuget.org + run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json Internal_Push_Output: needs: Build_Project runs-on: windows-latest diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericSshClient.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericSshClient.cs index 69fa3be..3bc7c21 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericSshClient.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericSshClient.cs @@ -13,6 +13,7 @@ namespace PepperDash.Core /// public class GenericSshClient : Device, ISocketStatusWithStreamDebugging, IAutoReconnect { + private const string SPlusKey = "Uninitialized SshClient"; public CommunicationStreamDebugging StreamDebugging { get; private set; } /// @@ -155,8 +156,9 @@ namespace PepperDash.Core /// S+ Constructor - Must set all properties before calling Connect /// public GenericSshClient() - : base("Uninitialized SshClient") + : base(SPlusKey) { + StreamDebugging = new CommunicationStreamDebugging(SPlusKey); CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler); AutoReconnectIntervalMs = 5000; } @@ -243,7 +245,7 @@ namespace PepperDash.Core try { Client.Connect(); - TheStream = Client.CreateShellStream("PDTShell", 100, 80, 100, 200, 100000); + TheStream = Client.CreateShellStream("PDTShell", 100, 80, 100, 200, 65534); TheStream.DataReceived += Stream_DataReceived; //TheStream.ErrorOccurred += TheStream_ErrorOccurred; Debug.Console(1, this, "Connected"); @@ -437,8 +439,11 @@ namespace PepperDash.Core } } - catch + catch (Exception ex) { + Debug.Console(0, "Exception: {0}", ex.Message); + Debug.Console(0, "Stack Trace: {0}", ex.StackTrace); + Debug.Console(1, this, "Stream write failed. Disconnected, closing"); ClientStatus = SocketStatus.SOCKET_STATUS_BROKEN_REMOTELY; HandleConnectionFailure(); diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs index 3d77ad1..7303d01 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs @@ -15,7 +15,8 @@ namespace PepperDash.Core /// A class to handle basic TCP/IP communications with a server /// public class GenericTcpIpClient : Device, ISocketStatusWithStreamDebugging, IAutoReconnect - { + { + private const string SplusKey = "Uninitialized TcpIpClient"; public CommunicationStreamDebugging StreamDebugging { get; private set; } /// @@ -204,8 +205,9 @@ namespace PepperDash.Core /// Default constructor for S+ /// public GenericTcpIpClient() - : base("Uninitialized TcpIpClient") + : base(SplusKey) { + StreamDebugging = new CommunicationStreamDebugging(SplusKey); CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler); AutoReconnectIntervalMs = 5000; BufferSize = 2000; diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs index 1e9dddd..1ed3d68 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericUdpServer.cs @@ -17,6 +17,7 @@ namespace PepperDash.Core { public class GenericUdpServer : Device, ISocketStatusWithStreamDebugging { + private const string SplusKey = "Uninitialized Udp Server"; public CommunicationStreamDebugging StreamDebugging { get; private set; } /// /// @@ -119,8 +120,9 @@ namespace PepperDash.Core /// Constructor for S+. Make sure to set key, address, port, and buffersize using init method /// public GenericUdpServer() - : base("Uninitialized Udp Server") + : base(SplusKey) { + StreamDebugging = new CommunicationStreamDebugging(SplusKey); BufferSize = 5000; DequeueLock = new CCriticalSection(); MessageQueue = new CrestronQueue(); diff --git a/Readme.md b/Readme.md index bf8facf..ab3ecf9 100644 --- a/Readme.md +++ b/Readme.md @@ -1,5 +1,7 @@ # PepperDash Core (c) 2020 +## [Latest Release](https://github.com/PepperDash/PepperDashCore/releases/latest) + ## License Provided under MIT license