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