Major overhaul #2
@@ -20,7 +20,7 @@ namespace ntfysh_client
 | 
				
			|||||||
        private readonly HttpClient _httpClient = new();
 | 
					        private readonly HttpClient _httpClient = new();
 | 
				
			||||||
        private bool _isDisposed;
 | 
					        private bool _isDisposed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public readonly Dictionary<string, SubscribedTopic> SubscribedTopicsByUnique = new();
 | 
					        public readonly Dictionary<string, SubscribedTopic?> SubscribedTopicsByUnique = new();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public delegate void NotificationReceiveHandler(object sender, NotificationReceiveEventArgs e);
 | 
					        public delegate void NotificationReceiveHandler(object sender, NotificationReceiveEventArgs e);
 | 
				
			||||||
        public event NotificationReceiveHandler? OnNotificationReceive;
 | 
					        public event NotificationReceiveHandler? OnNotificationReceive;
 | 
				
			||||||
@@ -37,8 +37,8 @@ namespace ntfysh_client
 | 
				
			|||||||
            
 | 
					            
 | 
				
			||||||
            while (!cancellationToken.IsCancellationRequested)
 | 
					            while (!cancellationToken.IsCancellationRequested)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                using HttpResponseMessage response = await _httpClient.SendAsync(message, HttpCompletionOption.ResponseHeadersRead, cancellationToken);
 | 
					                using HttpResponseMessage response = await _httpClient.SendAsync(message, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
 | 
				
			||||||
                using Stream body = await response.Content.ReadAsStreamAsync();
 | 
					                await using Stream body = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
                try
 | 
					                try
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@@ -48,7 +48,7 @@ namespace ntfysh_client
 | 
				
			|||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        //Read as much as possible
 | 
					                        //Read as much as possible
 | 
				
			||||||
                        byte[] buffer = new byte[8192];
 | 
					                        byte[] buffer = new byte[8192];
 | 
				
			||||||
                        int readBytes = await body.ReadAsync(buffer, 0, buffer.Length, cancellationToken);
 | 
					                        int readBytes = await body.ReadAsync(buffer, 0, buffer.Length, cancellationToken).ConfigureAwait(false);
 | 
				
			||||||
                        
 | 
					                        
 | 
				
			||||||
                        //Append it to our main buffer
 | 
					                        //Append it to our main buffer
 | 
				
			||||||
                        mainBuffer.Append(Encoding.UTF8.GetString(buffer, 0, readBytes));
 | 
					                        mainBuffer.Append(Encoding.UTF8.GetString(buffer, 0, readBytes));
 | 
				
			||||||
@@ -134,16 +134,16 @@ namespace ntfysh_client
 | 
				
			|||||||
            #endif
 | 
					            #endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //Topic isn't even subscribed, ignore
 | 
					            //Topic isn't even subscribed, ignore
 | 
				
			||||||
            if (!SubscribedTopicsByUnique.TryGetValue(topicUniqueString, out SubscribedTopic topic)) return;
 | 
					            if (!SubscribedTopicsByUnique.TryGetValue(topicUniqueString, out SubscribedTopic? topic)) return;
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            //Cancel and dispose the task runner
 | 
					            //Cancel and dispose the task runner
 | 
				
			||||||
            topic.RunnerCanceller.Cancel();
 | 
					            topic?.RunnerCanceller.Cancel();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //Wait for the task runner to shut down
 | 
					            //Wait for the task runner to shut down
 | 
				
			||||||
            while (!topic.Runner.IsCompleted) Thread.Sleep(100);
 | 
					            while (topic is not null && !topic.Runner.IsCompleted) Thread.Sleep(100);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            //Dispose task
 | 
					            //Dispose task
 | 
				
			||||||
            topic.Runner.Dispose();
 | 
					            topic?.Runner.Dispose();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //Remove the old topic
 | 
					            //Remove the old topic
 | 
				
			||||||
            SubscribedTopicsByUnique.Remove(topicUniqueString);
 | 
					            SubscribedTopicsByUnique.Remove(topicUniqueString);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@ namespace ntfysh_client
 | 
				
			|||||||
        [STAThread]
 | 
					        [STAThread]
 | 
				
			||||||
        static void Main()
 | 
					        static void Main()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            //Application.SetHighDpiMode(HighDpiMode.SystemAware);
 | 
				
			||||||
            Application.EnableVisualStyles();
 | 
					            Application.EnableVisualStyles();
 | 
				
			||||||
            Application.SetCompatibleTextRenderingDefault(false);
 | 
					            Application.SetCompatibleTextRenderingDefault(false);
 | 
				
			||||||
            Application.Run(new Form1(NotificationListener));
 | 
					            Application.Run(new Form1(NotificationListener));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,36 +0,0 @@
 | 
				
			|||||||
using System.Reflection;
 | 
					 | 
				
			||||||
using System.Runtime.CompilerServices;
 | 
					 | 
				
			||||||
using System.Runtime.InteropServices;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// General Information about an assembly is controlled through the following
 | 
					 | 
				
			||||||
// set of attributes. Change these attribute values to modify the information
 | 
					 | 
				
			||||||
// associated with an assembly.
 | 
					 | 
				
			||||||
[assembly: AssemblyTitle("ntfy.sh")]
 | 
					 | 
				
			||||||
[assembly: AssemblyDescription("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyConfiguration("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCompany("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyProduct("ntfy.sh")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCopyright("Copyright ©  2022")]
 | 
					 | 
				
			||||||
[assembly: AssemblyTrademark("")]
 | 
					 | 
				
			||||||
[assembly: AssemblyCulture("")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Setting ComVisible to false makes the types in this assembly not visible
 | 
					 | 
				
			||||||
// to COM components.  If you need to access a type in this assembly from
 | 
					 | 
				
			||||||
// COM, set the ComVisible attribute to true on that type.
 | 
					 | 
				
			||||||
[assembly: ComVisible(false)]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
 | 
					 | 
				
			||||||
[assembly: Guid("5a18d152-d620-43fe-b844-def30cfa50ef")]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Version information for an assembly consists of the following four values:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//      Major Version
 | 
					 | 
				
			||||||
//      Minor Version
 | 
					 | 
				
			||||||
//      Build Number
 | 
					 | 
				
			||||||
//      Revision
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// You can specify all the values or you can default the Build and Revision Numbers
 | 
					 | 
				
			||||||
// by using the '*' as shown below:
 | 
					 | 
				
			||||||
// [assembly: AssemblyVersion("1.0.*")]
 | 
					 | 
				
			||||||
[assembly: AssemblyVersion("1.0.0.0")]
 | 
					 | 
				
			||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
					 | 
				
			||||||
							
								
								
									
										63
									
								
								ntfysh_client/Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										63
									
								
								ntfysh_client/Properties/Resources.Designer.cs
									
									
									
										generated
									
									
									
								
							@@ -1,63 +0,0 @@
 | 
				
			|||||||
//------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
// <auto-generated>
 | 
					 | 
				
			||||||
//     This code was generated by a tool.
 | 
					 | 
				
			||||||
//     Runtime Version:4.0.30319.42000
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//     Changes to this file may cause incorrect behavior and will be lost if
 | 
					 | 
				
			||||||
//     the code is regenerated.
 | 
					 | 
				
			||||||
// </auto-generated>
 | 
					 | 
				
			||||||
//------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace ntfysh_client.Properties {
 | 
					 | 
				
			||||||
    using System;
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    /// <summary>
 | 
					 | 
				
			||||||
    ///   A strongly-typed resource class, for looking up localized strings, etc.
 | 
					 | 
				
			||||||
    /// </summary>
 | 
					 | 
				
			||||||
    // This class was auto-generated by the StronglyTypedResourceBuilder
 | 
					 | 
				
			||||||
    // class via a tool like ResGen or Visual Studio.
 | 
					 | 
				
			||||||
    // To add or remove a member, edit your .ResX file then rerun ResGen
 | 
					 | 
				
			||||||
    // with the /str option, or rebuild your VS project.
 | 
					 | 
				
			||||||
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
 | 
					 | 
				
			||||||
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
					 | 
				
			||||||
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
 | 
					 | 
				
			||||||
    internal class Resources {
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        private static global::System.Resources.ResourceManager resourceMan;
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        private static global::System.Globalization.CultureInfo resourceCulture;
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
 | 
					 | 
				
			||||||
        internal Resources() {
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///   Returns the cached ResourceManager instance used by this class.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
 | 
					 | 
				
			||||||
        internal static global::System.Resources.ResourceManager ResourceManager {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                if (object.ReferenceEquals(resourceMan, null)) {
 | 
					 | 
				
			||||||
                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ntfysh_client.Properties.Resources", typeof(Resources).Assembly);
 | 
					 | 
				
			||||||
                    resourceMan = temp;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                return resourceMan;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        ///   Overrides the current thread's CurrentUICulture property for all
 | 
					 | 
				
			||||||
        ///   resource lookups using this strongly typed resource class.
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
 | 
					 | 
				
			||||||
        internal static global::System.Globalization.CultureInfo Culture {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return resourceCulture;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            set {
 | 
					 | 
				
			||||||
                resourceCulture = value;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,117 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<root>
 | 
					 | 
				
			||||||
  <!-- 
 | 
					 | 
				
			||||||
    Microsoft ResX Schema 
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    Version 2.0
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    The primary goals of this format is to allow a simple XML format 
 | 
					 | 
				
			||||||
    that is mostly human readable. The generation and parsing of the 
 | 
					 | 
				
			||||||
    various data types are done through the TypeConverter classes 
 | 
					 | 
				
			||||||
    associated with the data types.
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    Example:
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    ... ado.net/XML headers & schema ...
 | 
					 | 
				
			||||||
    <resheader name="resmimetype">text/microsoft-resx</resheader>
 | 
					 | 
				
			||||||
    <resheader name="version">2.0</resheader>
 | 
					 | 
				
			||||||
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
 | 
					 | 
				
			||||||
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
 | 
					 | 
				
			||||||
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
 | 
					 | 
				
			||||||
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
 | 
					 | 
				
			||||||
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
 | 
					 | 
				
			||||||
        <value>[base64 mime encoded serialized .NET Framework object]</value>
 | 
					 | 
				
			||||||
    </data>
 | 
					 | 
				
			||||||
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
					 | 
				
			||||||
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
 | 
					 | 
				
			||||||
        <comment>This is a comment</comment>
 | 
					 | 
				
			||||||
    </data>
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
    There are any number of "resheader" rows that contain simple 
 | 
					 | 
				
			||||||
    name/value pairs.
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    Each data row contains a name, and value. The row also contains a 
 | 
					 | 
				
			||||||
    type or mimetype. Type corresponds to a .NET class that support 
 | 
					 | 
				
			||||||
    text/value conversion through the TypeConverter architecture. 
 | 
					 | 
				
			||||||
    Classes that don't support this are serialized and stored with the 
 | 
					 | 
				
			||||||
    mimetype set.
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    The mimetype is used for serialized objects, and tells the 
 | 
					 | 
				
			||||||
    ResXResourceReader how to depersist the object. This is currently not 
 | 
					 | 
				
			||||||
    extensible. For a given mimetype the value must be set accordingly:
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    Note - application/x-microsoft.net.object.binary.base64 is the format 
 | 
					 | 
				
			||||||
    that the ResXResourceWriter will generate, however the reader can 
 | 
					 | 
				
			||||||
    read any of the formats listed below.
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    mimetype: application/x-microsoft.net.object.binary.base64
 | 
					 | 
				
			||||||
    value   : The object must be serialized with 
 | 
					 | 
				
			||||||
            : System.Serialization.Formatters.Binary.BinaryFormatter
 | 
					 | 
				
			||||||
            : and then encoded with base64 encoding.
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    mimetype: application/x-microsoft.net.object.soap.base64
 | 
					 | 
				
			||||||
    value   : The object must be serialized with 
 | 
					 | 
				
			||||||
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
 | 
					 | 
				
			||||||
            : and then encoded with base64 encoding.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    mimetype: application/x-microsoft.net.object.bytearray.base64
 | 
					 | 
				
			||||||
    value   : The object must be serialized into a byte array 
 | 
					 | 
				
			||||||
            : using a System.ComponentModel.TypeConverter
 | 
					 | 
				
			||||||
            : and then encoded with base64 encoding.
 | 
					 | 
				
			||||||
    -->
 | 
					 | 
				
			||||||
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
 | 
					 | 
				
			||||||
    <xsd:element name="root" msdata:IsDataSet="true">
 | 
					 | 
				
			||||||
      <xsd:complexType>
 | 
					 | 
				
			||||||
        <xsd:choice maxOccurs="unbounded">
 | 
					 | 
				
			||||||
          <xsd:element name="metadata">
 | 
					 | 
				
			||||||
            <xsd:complexType>
 | 
					 | 
				
			||||||
              <xsd:sequence>
 | 
					 | 
				
			||||||
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
 | 
					 | 
				
			||||||
              </xsd:sequence>
 | 
					 | 
				
			||||||
              <xsd:attribute name="name" type="xsd:string" />
 | 
					 | 
				
			||||||
              <xsd:attribute name="type" type="xsd:string" />
 | 
					 | 
				
			||||||
              <xsd:attribute name="mimetype" type="xsd:string" />
 | 
					 | 
				
			||||||
            </xsd:complexType>
 | 
					 | 
				
			||||||
          </xsd:element>
 | 
					 | 
				
			||||||
          <xsd:element name="assembly">
 | 
					 | 
				
			||||||
            <xsd:complexType>
 | 
					 | 
				
			||||||
              <xsd:attribute name="alias" type="xsd:string" />
 | 
					 | 
				
			||||||
              <xsd:attribute name="name" type="xsd:string" />
 | 
					 | 
				
			||||||
            </xsd:complexType>
 | 
					 | 
				
			||||||
          </xsd:element>
 | 
					 | 
				
			||||||
          <xsd:element name="data">
 | 
					 | 
				
			||||||
            <xsd:complexType>
 | 
					 | 
				
			||||||
              <xsd:sequence>
 | 
					 | 
				
			||||||
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
 | 
					 | 
				
			||||||
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
 | 
					 | 
				
			||||||
              </xsd:sequence>
 | 
					 | 
				
			||||||
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
 | 
					 | 
				
			||||||
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
 | 
					 | 
				
			||||||
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
 | 
					 | 
				
			||||||
            </xsd:complexType>
 | 
					 | 
				
			||||||
          </xsd:element>
 | 
					 | 
				
			||||||
          <xsd:element name="resheader">
 | 
					 | 
				
			||||||
            <xsd:complexType>
 | 
					 | 
				
			||||||
              <xsd:sequence>
 | 
					 | 
				
			||||||
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
 | 
					 | 
				
			||||||
              </xsd:sequence>
 | 
					 | 
				
			||||||
              <xsd:attribute name="name" type="xsd:string" use="required" />
 | 
					 | 
				
			||||||
            </xsd:complexType>
 | 
					 | 
				
			||||||
          </xsd:element>
 | 
					 | 
				
			||||||
        </xsd:choice>
 | 
					 | 
				
			||||||
      </xsd:complexType>
 | 
					 | 
				
			||||||
    </xsd:element>
 | 
					 | 
				
			||||||
  </xsd:schema>
 | 
					 | 
				
			||||||
  <resheader name="resmimetype">
 | 
					 | 
				
			||||||
    <value>text/microsoft-resx</value>
 | 
					 | 
				
			||||||
  </resheader>
 | 
					 | 
				
			||||||
  <resheader name="version">
 | 
					 | 
				
			||||||
    <value>2.0</value>
 | 
					 | 
				
			||||||
  </resheader>
 | 
					 | 
				
			||||||
  <resheader name="reader">
 | 
					 | 
				
			||||||
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
					 | 
				
			||||||
  </resheader>
 | 
					 | 
				
			||||||
  <resheader name="writer">
 | 
					 | 
				
			||||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
					 | 
				
			||||||
  </resheader>
 | 
					 | 
				
			||||||
</root>
 | 
					 | 
				
			||||||
							
								
								
									
										26
									
								
								ntfysh_client/Properties/Settings.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										26
									
								
								ntfysh_client/Properties/Settings.Designer.cs
									
									
									
										generated
									
									
									
								
							@@ -1,26 +0,0 @@
 | 
				
			|||||||
//------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
// <auto-generated>
 | 
					 | 
				
			||||||
//     This code was generated by a tool.
 | 
					 | 
				
			||||||
//     Runtime Version:4.0.30319.42000
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//     Changes to this file may cause incorrect behavior and will be lost if
 | 
					 | 
				
			||||||
//     the code is regenerated.
 | 
					 | 
				
			||||||
// </auto-generated>
 | 
					 | 
				
			||||||
//------------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace ntfysh_client.Properties {
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
 | 
					 | 
				
			||||||
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
 | 
					 | 
				
			||||||
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        public static Settings Default {
 | 
					 | 
				
			||||||
            get {
 | 
					 | 
				
			||||||
                return defaultInstance;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,7 +0,0 @@
 | 
				
			|||||||
<?xml version='1.0' encoding='utf-8'?>
 | 
					 | 
				
			||||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
 | 
					 | 
				
			||||||
  <Profiles>
 | 
					 | 
				
			||||||
    <Profile Name="(Default)" />
 | 
					 | 
				
			||||||
  </Profiles>
 | 
					 | 
				
			||||||
  <Settings />
 | 
					 | 
				
			||||||
</SettingsFile>
 | 
					 | 
				
			||||||
@@ -1,119 +1,20 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
 | 
				
			||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
					
 | 
				
			||||||
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
 | 
					 | 
				
			||||||
  <PropertyGroup>
 | 
					  <PropertyGroup>
 | 
				
			||||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
					 | 
				
			||||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | 
					 | 
				
			||||||
    <ProjectGuid>{5A18D152-D620-43FE-B844-DEF30CFA50EF}</ProjectGuid>
 | 
					 | 
				
			||||||
    <OutputType>WinExe</OutputType>
 | 
					    <OutputType>WinExe</OutputType>
 | 
				
			||||||
    <RootNamespace>ntfysh_client</RootNamespace>
 | 
					    <TargetFramework>net6.0-windows</TargetFramework>
 | 
				
			||||||
    <AssemblyName>ntfysh</AssemblyName>
 | 
					    <UseWindowsForms>true</UseWindowsForms>
 | 
				
			||||||
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
 | 
					 | 
				
			||||||
    <FileAlignment>512</FileAlignment>
 | 
					 | 
				
			||||||
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
 | 
					 | 
				
			||||||
    <Deterministic>true</Deterministic>
 | 
					 | 
				
			||||||
    <LangVersion>latest</LangVersion>
 | 
					    <LangVersion>latest</LangVersion>
 | 
				
			||||||
    <Nullable>enable</Nullable>
 | 
					    <Nullable>enable</Nullable>
 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
					 | 
				
			||||||
    <PlatformTarget>AnyCPU</PlatformTarget>
 | 
					 | 
				
			||||||
    <DebugSymbols>true</DebugSymbols>
 | 
					 | 
				
			||||||
    <DebugType>full</DebugType>
 | 
					 | 
				
			||||||
    <Optimize>false</Optimize>
 | 
					 | 
				
			||||||
    <OutputPath>bin\Debug\</OutputPath>
 | 
					 | 
				
			||||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
					 | 
				
			||||||
    <ErrorReport>prompt</ErrorReport>
 | 
					 | 
				
			||||||
    <WarningLevel>4</WarningLevel>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
					 | 
				
			||||||
    <PlatformTarget>AnyCPU</PlatformTarget>
 | 
					 | 
				
			||||||
    <DebugType>pdbonly</DebugType>
 | 
					 | 
				
			||||||
    <Optimize>true</Optimize>
 | 
					 | 
				
			||||||
    <OutputPath>bin\Release\</OutputPath>
 | 
					 | 
				
			||||||
    <DefineConstants>TRACE</DefineConstants>
 | 
					 | 
				
			||||||
    <ErrorReport>prompt</ErrorReport>
 | 
					 | 
				
			||||||
    <WarningLevel>4</WarningLevel>
 | 
					 | 
				
			||||||
  </PropertyGroup>
 | 
					 | 
				
			||||||
  <PropertyGroup>
 | 
					 | 
				
			||||||
    <ApplicationIcon>NotificationHub.ico</ApplicationIcon>
 | 
					    <ApplicationIcon>NotificationHub.ico</ApplicationIcon>
 | 
				
			||||||
  </PropertyGroup>
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
 | 
					    <PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
 | 
				
			||||||
      <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
 | 
					 | 
				
			||||||
    </Reference>
 | 
					 | 
				
			||||||
    <Reference Include="System" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Core" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Web" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Xml.Linq" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Data.DataSetExtensions" />
 | 
					 | 
				
			||||||
    <Reference Include="Microsoft.CSharp" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Data" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Deployment" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Drawing" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Net.Http" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Windows.Forms" />
 | 
					 | 
				
			||||||
    <Reference Include="System.Xml" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <Compile Include="AboutBox.cs">
 | 
					    <Folder Include="Properties" />
 | 
				
			||||||
      <SubType>Form</SubType>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <Compile Include="AboutBox.Designer.cs">
 | 
					 | 
				
			||||||
      <DependentUpon>AboutBox.cs</DependentUpon>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <Compile Include="Form1.cs">
 | 
					 | 
				
			||||||
      <SubType>Form</SubType>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <Compile Include="Form1.Designer.cs">
 | 
					 | 
				
			||||||
      <DependentUpon>Form1.cs</DependentUpon>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <Compile Include="NotificationListener.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="NotificationReceiveEventArgs.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="NtfyEvent.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Program.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
					 | 
				
			||||||
    <Compile Include="SubscribeDialog.cs">
 | 
					 | 
				
			||||||
      <SubType>Form</SubType>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <Compile Include="SubscribeDialog.Designer.cs">
 | 
					 | 
				
			||||||
      <DependentUpon>SubscribeDialog.cs</DependentUpon>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <Compile Include="SubscribedTopic.cs" />
 | 
					 | 
				
			||||||
    <EmbeddedResource Include="AboutBox.resx">
 | 
					 | 
				
			||||||
      <DependentUpon>AboutBox.cs</DependentUpon>
 | 
					 | 
				
			||||||
    </EmbeddedResource>
 | 
					 | 
				
			||||||
    <EmbeddedResource Include="Form1.resx">
 | 
					 | 
				
			||||||
      <DependentUpon>Form1.cs</DependentUpon>
 | 
					 | 
				
			||||||
    </EmbeddedResource>
 | 
					 | 
				
			||||||
    <EmbeddedResource Include="Properties\Resources.resx">
 | 
					 | 
				
			||||||
      <Generator>ResXFileCodeGenerator</Generator>
 | 
					 | 
				
			||||||
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
 | 
					 | 
				
			||||||
      <SubType>Designer</SubType>
 | 
					 | 
				
			||||||
    </EmbeddedResource>
 | 
					 | 
				
			||||||
    <Compile Include="Properties\Resources.Designer.cs">
 | 
					 | 
				
			||||||
      <AutoGen>True</AutoGen>
 | 
					 | 
				
			||||||
      <DependentUpon>Resources.resx</DependentUpon>
 | 
					 | 
				
			||||||
      <DesignTime>True</DesignTime>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
    <EmbeddedResource Include="SubscribeDialog.resx">
 | 
					 | 
				
			||||||
      <DependentUpon>SubscribeDialog.cs</DependentUpon>
 | 
					 | 
				
			||||||
    </EmbeddedResource>
 | 
					 | 
				
			||||||
    <None Include="packages.config" />
 | 
					 | 
				
			||||||
    <None Include="Properties\Settings.settings">
 | 
					 | 
				
			||||||
      <Generator>SettingsSingleFileGenerator</Generator>
 | 
					 | 
				
			||||||
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
 | 
					 | 
				
			||||||
    </None>
 | 
					 | 
				
			||||||
    <Compile Include="Properties\Settings.Designer.cs">
 | 
					 | 
				
			||||||
      <AutoGen>True</AutoGen>
 | 
					 | 
				
			||||||
      <DependentUpon>Settings.settings</DependentUpon>
 | 
					 | 
				
			||||||
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
 | 
					 | 
				
			||||||
    </Compile>
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					
 | 
				
			||||||
    <None Include="App.config" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <Content Include="NotificationHub.ico" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					 | 
				
			||||||
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 | 
					 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user