kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
				
				
				
			Squashed commits '${title}'
							rodzic
							
								
									d7a6e20ebe
								
							
						
					
					
						commit
						f5f1d62b32
					
				| 
						 | 
				
			
			@ -154,7 +154,7 @@ linux:package:
 | 
			
		|||
      echo -e "\e[0Ksection_start:`date +%s`:native_build\r\e[0KBuilding native packages"
 | 
			
		||||
      npm install --prefer-offline
 | 
			
		||||
      npm run dist-nix
 | 
			
		||||
      chmod 755 dist/*-linux-*/GridTracker dist/*-linux-*/lib dist/*-linux-*/locales dist/*-linux-*/swiftshader/
 | 
			
		||||
      chmod 755 dist/*-linux-*/GridTracker dist/*-linux-*/lib dist/*-linux-*/locales dist/*-linux-*/swiftshader/ dist/*-linux-*/chrome_crashpad_handler
 | 
			
		||||
      for dir in dist/*-linux-* ; do
 | 
			
		||||
        if [ -d $dir ] ; then
 | 
			
		||||
          cp package.nw/img/gridtracker.png $dir/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,11 @@
 | 
			
		|||
gridtracker (1.23.1009) unstable; urgency=low
 | 
			
		||||
 - System – Support digital mode Q65
 | 
			
		||||
 - System – BIGCTY update from October 7th
 | 
			
		||||
 - System – Push notification services Simplepush.io and Pushover.net added (OAMS tab)
 | 
			
		||||
 - Logging – HamZone.cn service is now HamCQ.cn
 | 
			
		||||
 - Maps – Toner (online), Terrain, Watercolor and Geography Class no longer public access
 | 
			
		||||
-- Tag Loomis <n0ttl@gridtracker.org>  Mon, 09 OCt 2023 00:00:00 -0000
 | 
			
		||||
 | 
			
		||||
gridtracker (1.23.0402) unstable; urgency=low
 | 
			
		||||
 - Roster - fixed Hunting mode not saving
 | 
			
		||||
 - Packager - fixed Arm distribution
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,6 +40,12 @@ DESTDIR=${RPM_BUILD_ROOT} make clean
 | 
			
		|||
%license %{_docdir}/%{name}/
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Mon Oct 09 2023 Tag Loomis <n0ttl@gridtracker.org> - 1.23.1009-1
 | 
			
		||||
 - System – Support digital mode Q65
 | 
			
		||||
 - System – BIGCTY update from October 7th
 | 
			
		||||
 - System – Push notification services Simplepush.io and Pushover.net added (OAMS tab)
 | 
			
		||||
 - Logging – HamZone.cn service is now HamCQ.cn
 | 
			
		||||
 - Maps – Toner (online), Terrain, Watercolor and Geography Class no longer public access
 | 
			
		||||
* Sun Apr 02 2023 Tag Loomis <n0ttl@gridtracker.org> - 1.23.0402-1
 | 
			
		||||
 - Roster - fixed Hunting mode not saving
 | 
			
		||||
 - Packager - fixed Arm distribution
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1593,8 +1593,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td id="workingDateTd" title="Date/Time is UTC">
 | 
			
		||||
                Date <input type="date" id="workingDateValue" value="1970-01-01" style="background-color: green; color: yellow;" onchange="workingDateChanged()" />
 | 
			
		||||
                Time <input type="time" id="workingTimeValue" value="00:00" style="background-color: green; color: yellow;" onchange="workingDateChanged()" />
 | 
			
		||||
                <label data-i18n="settings.logbook.date.date">Date</label> <input type="date" id="workingDateValue" value="1970-01-01" style="background-color: green; color: yellow;" onchange="workingDateChanged()" />
 | 
			
		||||
                <label data-i18n="settings.logbook.date.time">Time</label> <input type="time" id="workingTimeValue" value="00:00" style="background-color: green; color: yellow;" onchange="workingDateChanged()" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </table>
 | 
			
		||||
| 
						 | 
				
			
			@ -2899,7 +2899,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
      <div class="mapItem">
 | 
			
		||||
        <table align="center">
 | 
			
		||||
          <tr>
 | 
			
		||||
            <td data-i18n="settings.OAMS.message.enable.label" title="Messaging Enable">Messaging Enable</td>
 | 
			
		||||
            <td data-i18n="settings.OAMS.message.enable.label" title="hat Messaging">Chat Messaging</td>
 | 
			
		||||
          </tr>
 | 
			
		||||
          <tr>
 | 
			
		||||
            <td>
 | 
			
		||||
| 
						 | 
				
			
			@ -2922,7 +2922,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
          </tr>
 | 
			
		||||
        </table>
 | 
			
		||||
      </div>
 | 
			
		||||
      <br />
 | 
			
		||||
      <div class="mapItem">
 | 
			
		||||
        <table align="center">
 | 
			
		||||
          <tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -2952,11 +2951,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <br />
 | 
			
		||||
      <div id="msgSettingsDiv" class="mapItem" style="padding: 5px">
 | 
			
		||||
      <div id="msgSettingsDiv" class="mapItem" style="padding: 3px">
 | 
			
		||||
      <div id="msgAlertSettingsDiv" class="mapItem" style="padding: 3px">
 | 
			
		||||
        <div class="mapItem">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td data-i18n="settings.OAMS.message.newAlert.label" title="New Message Alert">New Message Alert</td>
 | 
			
		||||
              <td data-i18n="settings.OAMS.message.newAlert.label" title="New Chat Message Alert">New Chat Message Alert</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
| 
						 | 
				
			
			@ -2978,60 +2978,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
            </tr>
 | 
			
		||||
          </table>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="mapItem">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.simplepush.enable.label" for="msgSimplepush">Enable / Disable Simplepush Message forwarding</label>
 | 
			
		||||
                <input title="Enable / Disable Simplepush" type="checkbox" id="msgSimplepush"
 | 
			
		||||
                       onclick="setOamsSimplepush(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td data-i18n="settings.OAMS.simplepush.apikey.label"
 | 
			
		||||
                  title="SimplePush API Key to forward messages to your phone">SimplePush API Key</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <input title="SimplePush API Key to forward messages to your phone" type="text" id="msgSimplePushApiKey"
 | 
			
		||||
                       class="inputTextValue" maxlength="255" size="16"
 | 
			
		||||
                       oninput="ValidateText(this); newMessageSetting(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </table>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="mapItem">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.pushover.enable.label" for="msgPushover">Enable / Disable Pushover Message forwarding</label>
 | 
			
		||||
                <input title="Enable / Disable Pushover" type="checkbox" id="msgPushover"
 | 
			
		||||
                       onclick="setOamsPushover(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td data-i18n="settings.OAMS.pushover.credentials.label"
 | 
			
		||||
                  title="Pushover Credentials to forward messages to your phone">Pushover Credentials</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.pushover.username.label" for="msgPushoverUsername">Username</label>
 | 
			
		||||
                <input title="Pushover Username to forward messages to your phone" type="text" id="msgPushoverUsername"
 | 
			
		||||
                       class="inputTextValue" maxlength="255" size="16"
 | 
			
		||||
                       oninput="ValidateText(this); newMessageSetting(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.pushover.token.label" for="msgPushoverToken">Token</label>
 | 
			
		||||
                <input title="Pushover Token to forward messages to your phone" type="text" id="msgPushoverToken"
 | 
			
		||||
                       class="inputTextValue" maxlength="255" size="16"
 | 
			
		||||
                       oninput="ValidateText(this); newMessageSetting(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </table>
 | 
			
		||||
        </div>
 | 
			
		||||
        <br />
 | 
			
		||||
        <div class="mapItem" id="msgFrequencySelectDiv">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
| 
						 | 
				
			
			@ -3057,7 +3003,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
        <div class="mapItem">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td data-i18n="settings.OAMS.message.newAlert.Action" title="New Message Action">New Message Action</td>
 | 
			
		||||
              <td data-i18n="settings.OAMS.message.newAlert.Action" title="New Chat Message Action">New Chat Message Action</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
| 
						 | 
				
			
			@ -3100,6 +3046,101 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		|||
          </table>
 | 
			
		||||
        </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <br/>
 | 
			
		||||
        <div class="mapItem">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.simplepush.enable.label" for="msgSimplepush" style="cursor: pointer" onclick="require('nw.gui').Shell.openExternal('https://simplepush.io/');">
 | 
			
		||||
                  Enable / Disable Simplepush Message forwarding</label>
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr><td><input title="Enable / Disable Simplepush" type="checkbox" id="msgSimplepush"
 | 
			
		||||
              onclick="setOamsSimplepush(this);" /></td></tr>
 | 
			
		||||
          </table>
 | 
			
		||||
          <div class="mapItem" id="simplePushDiv">
 | 
			
		||||
                <table>
 | 
			
		||||
                  <tr>
 | 
			
		||||
                    <td data-i18n="settings.OAMS.simplepush.apikey.label"
 | 
			
		||||
                  title="SimplePush API Key to forward messages to your phone">SimplePush API Key</td>
 | 
			
		||||
                  </tr>
 | 
			
		||||
                  <tr>
 | 
			
		||||
                    <td>
 | 
			
		||||
                      <input title="SimplePush API Key to forward messages to your phone" type="text" id="msgSimplepushApiKey"
 | 
			
		||||
                       class="inputTextValue" maxlength="255" size="16"
 | 
			
		||||
                       oninput="ValidateText(this); newMessageSetting(this);" />
 | 
			
		||||
                    </td>
 | 
			
		||||
                  </tr>
 | 
			
		||||
                  <tr>
 | 
			
		||||
                    <td><input title="Enable / Disable Chat Message Forward" type="checkbox" id="msgSimplepushChat"
 | 
			
		||||
                      onclick="setOamsSimplepushChat(this);" data-i18n="settings.OAMS.forward.chat" />Forward Chat Messages</td>
 | 
			
		||||
                  </tr>
 | 
			
		||||
                  <tr>
 | 
			
		||||
                    <td><input title="Enable / Disable Roster Alert Forward" type="checkbox" id="msgSimplepushRoster"
 | 
			
		||||
                      onclick="setOamsSimplepushRoster(this);" data-i18n="settings.OAMS.forward.roster" />Forward Roster Alerts</td>
 | 
			
		||||
                  </tr>
 | 
			
		||||
                  <tr>
 | 
			
		||||
                    <td>
 | 
			
		||||
                      <div data-i18n="settings.OAMS.simplepush.test" class="button" onclick="sendSimplePushMessage({'call' : 'Test', 'msg' : 'Test Message'});">Test</div>
 | 
			
		||||
                    </td>
 | 
			
		||||
                  </tr>
 | 
			
		||||
                </table>
 | 
			
		||||
              </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="mapItem">
 | 
			
		||||
          <table align="center">
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.pushover.enable.label" for="msgPushover"  style="cursor: pointer" onclick="require('nw.gui').Shell.openExternal('https://pushover.net/');">
 | 
			
		||||
                  Enable / Disable Pushover Message forwarding
 | 
			
		||||
                </label>
 | 
			
		||||
               </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr><td><input title="Enable / Disable Pushover" type="checkbox" id="msgPushover"
 | 
			
		||||
              onclick="setOamsPushover(this);" /></td></tr>
 | 
			
		||||
              </table>
 | 
			
		||||
             <div class="mapItem" id="pushOverDiv">
 | 
			
		||||
              <table>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td data-i18n="settings.OAMS.pushover.credentials.label"
 | 
			
		||||
                  title="Pushover Credentials to forward messages to your phone">Pushover Credentials</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.pushover.userkey.label" for="msgPushoverUserKey">User Key</label>
 | 
			
		||||
                <input title="Pushover User Key to forward messages to your phone" type="text" id="msgPushoverUserKey"
 | 
			
		||||
                       class="inputTextValue" maxlength="255" size="16"
 | 
			
		||||
                       oninput="ValidateText(this); newMessageSetting(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <label data-i18n="settings.OAMS.pushover.token.label" for="msgPushoverToken">API Token</label>
 | 
			
		||||
                <input title="Pushover API Token to forward messages to your phone" type="text" id="msgPushoverToken"
 | 
			
		||||
                       class="inputTextValue" maxlength="255" size="16"
 | 
			
		||||
                       oninput="ValidateText(this); newMessageSetting(this);" />
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td><input title="Enable / Disable Chat Message Forward" type="checkbox" id="msgPushoverChat"
 | 
			
		||||
                onclick="setOamsPushoverChat(this);" data-i18n="settings.OAMS.forward.chat" />Forward Chat Messages</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td><input title="Enable / Disable Roster Alert Forward" type="checkbox" id="msgPushoverRoster"
 | 
			
		||||
                onclick="setOamsPushoverRoster(this);" data-i18n="settings.OAMS.forward.roster" />Forward Roster Alerts</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
            <tr>
 | 
			
		||||
              <td>
 | 
			
		||||
                <div data-i18n="settings.OAMS.pushover.test" class="button" onclick="sendPushOverMessage({'call' : 'Test', 'msg' : 'Test Message'}, true);">Test
 | 
			
		||||
                </div>
 | 
			
		||||
                <div id="pushOverTestResultsDiv"></div>
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
      
 | 
			
		||||
          </table>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="aboutDiv" class="settingsTabcontent">
 | 
			
		||||
      <div class="mapItem" style="padding: 4px">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,36 +17,6 @@
 | 
			
		|||
    "minZoom": 0,
 | 
			
		||||
    "maxZoom": 18
 | 
			
		||||
  },
 | 
			
		||||
  "Terrain by Stamen (English)": {
 | 
			
		||||
    "url": "http://stamen-tiles-{a-d}.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a target=\"_blank\" href=\"http://stamen.com\">Stamen Design</a>",
 | 
			
		||||
    "minZoom": 0,
 | 
			
		||||
    "maxZoom": 18
 | 
			
		||||
  },
 | 
			
		||||
  "Terrain by Stamen (No Labels)": {
 | 
			
		||||
    "url": "http://stamen-tiles-{a-d}.a.ssl.fastly.net/terrain-background/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a target=\"_blank\" href=\"http://stamen.com\">Stamen Design</a>",
 | 
			
		||||
    "minZoom": 0,
 | 
			
		||||
    "maxZoom": 18
 | 
			
		||||
  },
 | 
			
		||||
  "Toner by Stamen (English)": {
 | 
			
		||||
    "url": "http://stamen-tiles-{a-d}.a.ssl.fastly.net/toner/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a target=\"_blank\" href=\"http://stamen.com\">Stamen Design</a>",
 | 
			
		||||
    "minZoom": 0,
 | 
			
		||||
    "maxZoom": 20
 | 
			
		||||
  },
 | 
			
		||||
  "Toner by Stamen (No Labels)": {
 | 
			
		||||
    "url": "http://stamen-tiles-{a-d}.a.ssl.fastly.net/toner-background/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a target=\"_blank\" href=\"http://stamen.com\">Stamen Design</a>",
 | 
			
		||||
    "minZoom": 0,
 | 
			
		||||
    "maxZoom": 20
 | 
			
		||||
  },
 | 
			
		||||
  "TonerLite by Stamen (English)": {
 | 
			
		||||
    "url": "http://stamen-tiles-{a-d}.a.ssl.fastly.net/toner-lite/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a target=\"_blank\" href=\"http://stamen.com\">Stamen Design</a>",
 | 
			
		||||
    "minZoom": 0,
 | 
			
		||||
    "maxZoom": 20
 | 
			
		||||
  },
 | 
			
		||||
  "Toner by Stamen (No Labels)(Offline)": {
 | 
			
		||||
    "url": "/map/toner-background/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "Stamen Design",
 | 
			
		||||
| 
						 | 
				
			
			@ -89,12 +59,6 @@
 | 
			
		|||
    "minZoom": 1,
 | 
			
		||||
    "maxZoom": 19
 | 
			
		||||
  },
 | 
			
		||||
  "Watercolor by Stamen (No Labels)": {
 | 
			
		||||
    "url": "http://stamen-tiles-{a-d}.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a target=\"_blank\" href=\"http://stamen.com\">Stamen Design</a>",
 | 
			
		||||
    "minZoom": 1,
 | 
			
		||||
    "maxZoom": 19
 | 
			
		||||
  },
 | 
			
		||||
  "Humanitarian by OpenStreetMap (Intl)": {
 | 
			
		||||
    "url": "http://{a-c}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "<a href=\"http://openstreetmap.org/\" target=\"_blank\">OpenStreetMap</a>",
 | 
			
		||||
| 
						 | 
				
			
			@ -162,11 +126,6 @@
 | 
			
		|||
    "attributions": "© Carto",
 | 
			
		||||
    "maxZoom": 19
 | 
			
		||||
  },
 | 
			
		||||
  "Geography Class by Mapbox (English)": {
 | 
			
		||||
    "url": "http://{a-b}.tiles.mapbox.com/v3/aj.1x1-degrees/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "© mapbox",
 | 
			
		||||
    "maxZoom": 19
 | 
			
		||||
  },
 | 
			
		||||
  "Flat Blue by Carto (No Labels)": {
 | 
			
		||||
    "url": "https://cartocdn_{a-d}.global.ssl.fastly.net/base-flatblue/{z}/{x}/{y}.png",
 | 
			
		||||
    "attributions": "© Carto",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												Plik diff jest za duży
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -95,6 +95,7 @@
 | 
			
		|||
  "PSKFEC31": false,
 | 
			
		||||
  "PSKHELL": false,
 | 
			
		||||
  "Q15": false,
 | 
			
		||||
  "Q65": false,
 | 
			
		||||
  "QPSK31": false,
 | 
			
		||||
  "QPSK63": false,
 | 
			
		||||
  "QPSK125": false,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,6 +95,7 @@
 | 
			
		|||
  "PSKFEC31": true,
 | 
			
		||||
  "PSKHELL": true,
 | 
			
		||||
  "Q15": true,
 | 
			
		||||
  "Q65": true,
 | 
			
		||||
  "QPSK31": true,
 | 
			
		||||
  "QPSK63": true,
 | 
			
		||||
  "QPSK125": true,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,7 @@
 | 
			
		|||
    <title>Callsign Lookup</title>
 | 
			
		||||
    <link rel="stylesheet" href="./lib/style.css" />
 | 
			
		||||
    <script src="./lib/protos.js" type="text/javascript"></script>
 | 
			
		||||
    <script src="./lib/screens.js"></script>
 | 
			
		||||
    <script src="./lib/jquery-3.6.1.min.js"></script>
 | 
			
		||||
    <script src="./lib/CLDRPluralRuleParser.js" type="text/javascript"></script>
 | 
			
		||||
    <script src="./lib/jquery.i18n.js" type="text/javascript"></script>
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +30,6 @@
 | 
			
		|||
    <script src="./lib/jquery.i18n.emitter.js" type="text/javascript"></script>
 | 
			
		||||
    <script src="./lib/jquery.i18n.language.js" type="text/javascript"></script>
 | 
			
		||||
    <script src="./lib/i18n.js" type="text/javascript"></script>
 | 
			
		||||
    <script src="./lib/screens.js"></script>
 | 
			
		||||
    <script>
 | 
			
		||||
      document.oncontextmenu = function () {
 | 
			
		||||
        return false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Plik binarny nie jest wyświetlany.
										
									
								
							
										
											Plik binarny nie jest wyświetlany.
										
									
								
							| 
						 | 
				
			
			@ -166,12 +166,16 @@
 | 
			
		|||
    "settings.Alerts.label": "警報",
 | 
			
		||||
    "settings.CallRoster.label": "呼叫清單",
 | 
			
		||||
    "settings.OAMS.label": "OAMS",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush Message Forwarding on/off",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush.io Message Forwarding",
 | 
			
		||||
    "settings.OAMS.simplepush.apikey.label": "Simplepush API Key",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover Message Forwarding on/off",
 | 
			
		||||
    "settings.OAMS.simplepush.test": "Test",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover.net Message Forwarding",
 | 
			
		||||
    "settings.OAMS.pushover.credentials.label": "Pushover Credentials",
 | 
			
		||||
    "settings.OAMS.pushover.username.label": "Username",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "Token",
 | 
			
		||||
    "settings.OAMS.pushover.userkey.label": "User Key",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "API Token",
 | 
			
		||||
    "settings.OAMS.pushover.test": "Test",
 | 
			
		||||
    "settings.OAMS.forward.chat": "Forward Chat Messages",
 | 
			
		||||
    "settings.OAMS.forward.roster": "Forward Roster Alerts",
 | 
			
		||||
    "settings.Logbook.label": "日志",
 | 
			
		||||
    "settings.Update.label": "更新",
 | 
			
		||||
    "settings.About.label": "關於",
 | 
			
		||||
| 
						 | 
				
			
			@ -242,6 +246,8 @@
 | 
			
		|||
    "settings.logbook.date.hover": "在此日期之前過濾日志QSO",
 | 
			
		||||
    "settings.logbook.date.label": "通聯日期",
 | 
			
		||||
    "settings.logbook.date.enable": "啟用?",
 | 
			
		||||
    "settings.logbook.date.date": "Date",
 | 
			
		||||
    "settings.logbook.date.time": "Time",
 | 
			
		||||
    "settings.logbook.apply.hover": "套用更改並重新匯入日志",
 | 
			
		||||
    "settings.logbook.apply.label": "套用更改",
 | 
			
		||||
    "settings.grids.reset.title": "網格顏色",
 | 
			
		||||
| 
						 | 
				
			
			@ -590,6 +596,7 @@
 | 
			
		|||
    "stats.tabs.WASWAC": "WAC/WAS",
 | 
			
		||||
    "stats.tabs.live": "在線",
 | 
			
		||||
    "stats.noDecodes": "還沒有解碼",
 | 
			
		||||
    "stats.viewing": "Viewing",
 | 
			
		||||
    "COMMENT_adif.js": "",
 | 
			
		||||
    "adif.TestResult.invalid": "測試無效",
 | 
			
		||||
    "adif.TestResult.error": "未知錯誤",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,12 +166,16 @@
 | 
			
		|||
    "settings.Alerts.label": "警报",
 | 
			
		||||
    "settings.CallRoster.label": "呼叫列表",
 | 
			
		||||
    "settings.OAMS.label": "OAMS",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush Message Forwarding on/off",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush.io Message Forwarding",
 | 
			
		||||
    "settings.OAMS.simplepush.apikey.label": "Simplepush API Key",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover Message Forwarding on/off",
 | 
			
		||||
    "settings.OAMS.simplepush.test": "Test",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover.net Message Forwarding",
 | 
			
		||||
    "settings.OAMS.pushover.credentials.label": "Pushover Credentials",
 | 
			
		||||
    "settings.OAMS.pushover.username.label": "Username",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "Token",
 | 
			
		||||
    "settings.OAMS.pushover.userkey.label": "User Key",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "API Token",
 | 
			
		||||
    "settings.OAMS.pushover.test": "Test",
 | 
			
		||||
    "settings.OAMS.forward.chat": "Forward Chat Messages",
 | 
			
		||||
    "settings.OAMS.forward.roster": "Forward Roster Alerts",
 | 
			
		||||
    "settings.Logbook.label": "日志",
 | 
			
		||||
    "settings.Update.label": "更新",
 | 
			
		||||
    "settings.About.label": "关于",
 | 
			
		||||
| 
						 | 
				
			
			@ -242,6 +246,8 @@
 | 
			
		|||
    "settings.logbook.date.hover": "在此日期之前过滤日志QSO",
 | 
			
		||||
    "settings.logbook.date.label": "通联日期",
 | 
			
		||||
    "settings.logbook.date.enable": "启用?",
 | 
			
		||||
    "settings.logbook.date.date": "Date",
 | 
			
		||||
    "settings.logbook.date.time": "Time",
 | 
			
		||||
    "settings.logbook.apply.hover": "应用更改并重新导入日志",
 | 
			
		||||
    "settings.logbook.apply.label": "应用更改",
 | 
			
		||||
    "settings.grids.reset.title": "网格颜色",
 | 
			
		||||
| 
						 | 
				
			
			@ -590,6 +596,7 @@
 | 
			
		|||
    "stats.tabs.WASWAC": "WAC/WAS",
 | 
			
		||||
    "stats.tabs.live": "实时",
 | 
			
		||||
    "stats.noDecodes": "还没有解码",
 | 
			
		||||
    "stats.viewing": "Viewing",
 | 
			
		||||
    "COMMENT_adif.js": "",
 | 
			
		||||
    "adif.TestResult.invalid": "测试失败",
 | 
			
		||||
    "adif.TestResult.error": "未知错误",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,12 +166,16 @@
 | 
			
		|||
    "settings.Alerts.label": "Alarme",
 | 
			
		||||
    "settings.CallRoster.label": "Rufzeichenliste",
 | 
			
		||||
    "settings.OAMS.label": "OAMS",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush Nachrichtenweiterleitung ein/aus",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush Nachrichtenweiterleitung",
 | 
			
		||||
    "settings.OAMS.simplepush.apikey.label": "Simplepush API Key",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover Nachrichtenweiterleitung ein/aus",
 | 
			
		||||
    "settings.OAMS.simplepush.test": "Test",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover Nachrichtenweiterleitung",
 | 
			
		||||
    "settings.OAMS.pushover.credentials.label": "Pushover Zugangsdaten",
 | 
			
		||||
    "settings.OAMS.pushover.username.label": "Benutzername",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "Token",
 | 
			
		||||
    "settings.OAMS.pushover.userkey.label": "User Key",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "API Token",
 | 
			
		||||
    "settings.OAMS.pushover.test": "Test",
 | 
			
		||||
    "settings.OAMS.forward.chat": "Chat-Nachrichten weiterleiten",
 | 
			
		||||
    "settings.OAMS.forward.roster": "Roster-Treffer weiterleiten",
 | 
			
		||||
    "settings.Logbook.label": "Logbook",
 | 
			
		||||
    "settings.Update.label": "Update",
 | 
			
		||||
    "settings.About.label": "Über",
 | 
			
		||||
| 
						 | 
				
			
			@ -248,6 +252,8 @@
 | 
			
		|||
    "settings.logbook.date.hover": "Logbuch filtern, so dass nur QSOs nach folgendem Datum angezeigt werden",
 | 
			
		||||
    "settings.logbook.date.label": "Arbeitsdatum",
 | 
			
		||||
    "settings.logbook.date.enable": "Eingeschaltet?",
 | 
			
		||||
    "settings.logbook.date.date": "Datum",
 | 
			
		||||
    "settings.logbook.date.time": "Uhrzeit",
 | 
			
		||||
    "settings.logbook.apply.hover": "Änderungen anwenden und Logbuch/Logbücher neu laden",
 | 
			
		||||
    "settings.logbook.apply.label": "Änderungen anwenden",
 | 
			
		||||
    "settings.grids.reset.title": "Locatorfeldfarben",
 | 
			
		||||
| 
						 | 
				
			
			@ -362,6 +368,13 @@
 | 
			
		|||
    "settings.logging.HRDLogbook.source": "HRD Logbook",
 | 
			
		||||
    "settings.logging.HRDLogbook.details.IP": "IP",
 | 
			
		||||
    "settings.logging.HRDLogbook.details.Port": "Port",
 | 
			
		||||
    "settings.logging.other.title": "Andere Dienste",
 | 
			
		||||
    "settings.logging.otherheader.service": "Service",
 | 
			
		||||
    "settings.logging.otherheader.active": "Aktiv?",
 | 
			
		||||
    "settings.logging.otherheader.details": "Details",
 | 
			
		||||
    "settings.logging.pstrotator.label": "CatRotator / PstRotator",
 | 
			
		||||
    "settings.logging.pstrotator.details.IP": "IP",
 | 
			
		||||
    "settings.logging.pstrotator.details.Port": "UDP Port",
 | 
			
		||||
    "settings.callroster.AlwaysOnTop.label": "Fenster immer oben halten",
 | 
			
		||||
    "settings.callroster.AlwaysOnTop.hover": "Rufzeichenliste immer oben halten",
 | 
			
		||||
    "settings.callroster.MaxAge.label": "Maximales Alter Rufzeichenliste",
 | 
			
		||||
| 
						 | 
				
			
			@ -582,6 +595,7 @@
 | 
			
		|||
    "stats.tabs.WASWAC": "WAC / WAS",
 | 
			
		||||
    "stats.tabs.live": "Live",
 | 
			
		||||
    "stats.noDecodes": "Noch keine Nachrichten",
 | 
			
		||||
    "stats.viewing": "Ansicht",
 | 
			
		||||
    "COMMENT_adif.js": "",
 | 
			
		||||
    "adif.TestResult.invalid": "Ungültig",
 | 
			
		||||
    "adif.TestResult.error": "Unbekannter Fehler",
 | 
			
		||||
| 
						 | 
				
			
			@ -755,7 +769,7 @@
 | 
			
		|||
    "gt.TitleInfo.Mode": "Betriebsart:",
 | 
			
		||||
    "gt.TitleInfo.Worked": "Gearbeitet",
 | 
			
		||||
    "gt.TitleInfo.Confirmed": "Bestätigt",
 | 
			
		||||
    "gt.TitleInfo.Needed": "Gebraucht",
 | 
			
		||||
    "gt.TitleInfo.Needed": "Benötigt",
 | 
			
		||||
    "gt.moonOver.Moon": "Mond",
 | 
			
		||||
    "gt.moonOver.Azimuth": "Azimut",
 | 
			
		||||
    "gt.moonOver.Elevation": "Elevation",
 | 
			
		||||
| 
						 | 
				
			
			@ -770,7 +784,7 @@
 | 
			
		|||
    "gt.wcTable.Band": "Band",
 | 
			
		||||
    "gt.wcTable.Mode": "Betriebsart",
 | 
			
		||||
    "gt.wcTable.Confirmed": "Bestätigt",
 | 
			
		||||
    "gt.wcTable.Needed": "Gebraucht",
 | 
			
		||||
    "gt.wcTable.Needed": "Benötigt",
 | 
			
		||||
    "gt.gridTable.Dist": "Dist",
 | 
			
		||||
    "gt.gridTable.Azim": "Azim",
 | 
			
		||||
    "gt.gridTable.Lat": "Breite",
 | 
			
		||||
| 
						 | 
				
			
			@ -836,14 +850,14 @@
 | 
			
		|||
    "gt.dxccBox.Flag": "Flagge",
 | 
			
		||||
    "gt.dxccBox.DXCC": "DXCC",
 | 
			
		||||
    "gt.dxccBox.Confirmed": "Bestätigt",
 | 
			
		||||
    "gt.dxccBox.Needed": "Gebraucht",
 | 
			
		||||
    "gt.dxccBox.Needed": "Benötigt",
 | 
			
		||||
    "gt.CQZoneBox.Worked": "Gearbeitete CQ-Zonen",
 | 
			
		||||
    "gt.ITUZoneBox.Worked": "Gearbeitete ITU-Zonen",
 | 
			
		||||
    "gt.WASWACBox.WAC": "Worked All Continents",
 | 
			
		||||
    "gt.WASWACBox.WAS": "Worked All States",
 | 
			
		||||
    "gt.displayItemsList.Worked": "Gearbeitet",
 | 
			
		||||
    "gt.displayItemsList.Confirmed": "Bestätigt",
 | 
			
		||||
    "gt.displayItemsList.Needed": "Gebraucht",
 | 
			
		||||
    "gt.displayItemsList.Needed": "Benötigt",
 | 
			
		||||
    "gt.WPXBox.worked": "Gearbeitete Präfixe",
 | 
			
		||||
    "gt.WPXBox.confirmed": "Bestätigte Präfixe",
 | 
			
		||||
    "gt.statBox.Parsing": "...Lade Logeinträge...",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -165,12 +165,16 @@
 | 
			
		|||
    "settings.Alerts.label": "Alerts",
 | 
			
		||||
    "settings.CallRoster.label": "Call Roster",
 | 
			
		||||
    "settings.OAMS.label": "OAMS",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush Message Forwarding on/off",
 | 
			
		||||
    "settings.OAMS.simplepush.enable.label": "Simplepush.io Message Forwarding",
 | 
			
		||||
    "settings.OAMS.simplepush.apikey.label": "Simplepush API Key",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover Message Forwarding on/off",
 | 
			
		||||
    "settings.OAMS.simplepush.test": "Test",
 | 
			
		||||
    "settings.OAMS.pushover.enable.label": "Pushover.net Message Forwarding",
 | 
			
		||||
    "settings.OAMS.pushover.credentials.label": "Pushover Credentials",
 | 
			
		||||
    "settings.OAMS.pushover.username.label": "Username",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "Token",
 | 
			
		||||
    "settings.OAMS.pushover.userkey.label": "User Key",
 | 
			
		||||
    "settings.OAMS.pushover.token.label": "API Token",
 | 
			
		||||
    "settings.OAMS.pushover.test": "Test",
 | 
			
		||||
    "settings.OAMS.forward.chat": "Forward Chat Messages",
 | 
			
		||||
    "settings.OAMS.forward.roster": "Forward Roster Alerts",
 | 
			
		||||
    "settings.Logbook.label": "Logbook",
 | 
			
		||||
    "settings.Update.label": "Update",
 | 
			
		||||
    "settings.About.label": "About",
 | 
			
		||||
| 
						 | 
				
			
			@ -241,6 +245,8 @@
 | 
			
		|||
    "settings.logbook.date.hover": "Filter Logbook QSOs from before this date",
 | 
			
		||||
    "settings.logbook.date.label": "Working Date",
 | 
			
		||||
    "settings.logbook.date.enable": "Enable?",
 | 
			
		||||
    "settings.logbook.date.date": "Date",
 | 
			
		||||
    "settings.logbook.date.time": "Time",
 | 
			
		||||
    "settings.logbook.apply.hover": "Apply Changes and Re-Import Logbook(s)",
 | 
			
		||||
    "settings.logbook.apply.label": "Apply Changes",
 | 
			
		||||
    "settings.grids.reset.title": "Gridsquare Colors",
 | 
			
		||||
| 
						 | 
				
			
			@ -430,8 +436,8 @@
 | 
			
		|||
    "settings.alerts.CustomAlerts.new.repeat.once": "Only Once",
 | 
			
		||||
    "settings.alerts.CustomAlerts.new.repeat.never": "Never Repeat",
 | 
			
		||||
    "settings.alerts.CustomAlerts.new.addButton": "ADD",
 | 
			
		||||
    "settings.OAMS.message.enable.label": "Messaging",
 | 
			
		||||
    "settings.OAMS.message.enable.hover": "Messaging",
 | 
			
		||||
    "settings.OAMS.message.enable.label": "Chat Messaging",
 | 
			
		||||
    "settings.OAMS.message.enable.hover": "Chat Messaging",
 | 
			
		||||
    "settings.OAMS.spotting.enable.label": "Spotting",
 | 
			
		||||
    "settings.OAMS.spotting.enable.hover": "Send and Receive Spot Reports through the OAMS network",
 | 
			
		||||
    "settings.OAMS.BandActivity.enable.label": "Band Activity",
 | 
			
		||||
| 
						 | 
				
			
			@ -590,6 +596,7 @@
 | 
			
		|||
    "stats.tabs.WASWAC": "WAC / WAS",
 | 
			
		||||
    "stats.tabs.live": "Live",
 | 
			
		||||
    "stats.noDecodes": "No decodes yet",
 | 
			
		||||
    "stats.viewing": "Viewing",
 | 
			
		||||
    "COMMENT_adif.js": "",
 | 
			
		||||
    "adif.TestResult.invalid": "Invalid",
 | 
			
		||||
    "adif.TestResult.error": "Unknown Error",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -217,6 +217,11 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile)
 | 
			
		|||
          // Internal assigment only
 | 
			
		||||
          finalMode = "FT4"
 | 
			
		||||
        }
 | 
			
		||||
        if (subMode == "Q65" && (finalMode == "MFSK" || finalMode == "DATA"))
 | 
			
		||||
        {
 | 
			
		||||
          // Internal assigment only
 | 
			
		||||
          finalMode = "Q65"
 | 
			
		||||
        }
 | 
			
		||||
        if (subMode == "JS8" && finalMode == "MFSK")
 | 
			
		||||
        {
 | 
			
		||||
          // Internal assigment only
 | 
			
		||||
| 
						 | 
				
			
			@ -830,7 +835,7 @@ function grabQrzComLog(test)
 | 
			
		|||
 | 
			
		||||
function ValidateQrzApi(inputText)
 | 
			
		||||
{
 | 
			
		||||
  inputText.value = inputText.value.toUpperCase();
 | 
			
		||||
  inputText.value = inputText.value.toUpperCase().trim();
 | 
			
		||||
  if (inputText.value.length == 19)
 | 
			
		||||
  {
 | 
			
		||||
    var passed = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -1456,16 +1461,7 @@ function startupAdifLoadCheck()
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getABuffer(
 | 
			
		||||
  file_url,
 | 
			
		||||
  callback,
 | 
			
		||||
  flag,
 | 
			
		||||
  mode,
 | 
			
		||||
  port,
 | 
			
		||||
  imgToGray,
 | 
			
		||||
  stringOfFlag,
 | 
			
		||||
  timeoutX
 | 
			
		||||
)
 | 
			
		||||
function getABuffer(file_url, callback, flag, mode, port, imgToGray, stringOfFlag, timeoutX)
 | 
			
		||||
{
 | 
			
		||||
  var url = require("url");
 | 
			
		||||
  var http = require(mode);
 | 
			
		||||
| 
						 | 
				
			
			@ -1476,7 +1472,8 @@ function getABuffer(
 | 
			
		|||
    host: url.parse(file_url).host, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
    port: port,
 | 
			
		||||
    path: url.parse(file_url).path, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
    method: "get"
 | 
			
		||||
    method: "get",
 | 
			
		||||
    timeout: 15000
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  if (typeof stringOfFlag != "undefined") window[stringOfFlag] = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -1590,6 +1587,7 @@ function getAPostBuffer(
 | 
			
		|||
    port: port,
 | 
			
		||||
    path: url.parse(file_url).path, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
    method: "post",
 | 
			
		||||
    timeout: 15000,
 | 
			
		||||
    headers: {
 | 
			
		||||
      "Content-Type": "application/x-www-form-urlencoded",
 | 
			
		||||
      "Content-Length": postData.length
 | 
			
		||||
| 
						 | 
				
			
			@ -1866,7 +1864,8 @@ GT.adifLookupMap = {
 | 
			
		|||
  cqzone: "CQZ",
 | 
			
		||||
  ituzone: "ITUZ",
 | 
			
		||||
  email: "EMAIL",
 | 
			
		||||
  county: "CNTY"
 | 
			
		||||
  county: "CNTY",
 | 
			
		||||
  state: "STATE"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function sendToLogger(ADIF)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -194,11 +194,15 @@ var def_msgSettings = {
 | 
			
		|||
  msgActionSelect: 1,
 | 
			
		||||
  msgAwaySelect: 0,
 | 
			
		||||
  msgAwayText: "I am away from the shack at the moment",
 | 
			
		||||
  msgSimplepush: 0,
 | 
			
		||||
  msgSimplePushApiKey: "",
 | 
			
		||||
  msgPushover: 0,
 | 
			
		||||
  msgPushoverUsername: "",
 | 
			
		||||
  msgPushoverToken: ""
 | 
			
		||||
  msgSimplepush: false,
 | 
			
		||||
  msgSimplepushApiKey: "",
 | 
			
		||||
  msgSimplepushChat: true,
 | 
			
		||||
  msgSimplepushRoster: false,
 | 
			
		||||
  msgPushover: false,
 | 
			
		||||
  msgPushoverUserKey: "",
 | 
			
		||||
  msgPushoverToken: "",
 | 
			
		||||
  msgPushoverChat: true,
 | 
			
		||||
  msgPushoverRoster: false
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
var def_receptionSettings = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5054,7 +5054,7 @@ function getCurrentBandModeHTML()
 | 
			
		|||
  var band = GT.appSettings.gtBandFilter == "auto" ? GT.appSettings.myBand + " (Auto)" : GT.appSettings.gtBandFilter.length == 0 ? "Mixed Bands" : GT.appSettings.gtBandFilter;
 | 
			
		||||
  var mode = GT.appSettings.gtModeFilter == "auto" ? GT.appSettings.myMode + " (Auto)" : GT.appSettings.gtModeFilter.length == 0 ? "Mixed Modes" : GT.appSettings.gtModeFilter;
 | 
			
		||||
  return (
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-bottom:3px;color:lightgreen;font-weight:bold;font-size:larger'>Viewing: <text style='color:yellow'>" +
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-bottom:3px;color:lightgreen;font-weight:bold;font-size:larger'>" + $.i18n("stats.viewing") + ": <text style='color:yellow'>" +
 | 
			
		||||
    band +
 | 
			
		||||
    "</text> / <text style='color:orange'>" +
 | 
			
		||||
    mode +
 | 
			
		||||
| 
						 | 
				
			
			@ -6658,7 +6658,12 @@ function finalWsjtxDecode(newMessage, isFox = false, foxMessage)
 | 
			
		|||
    {
 | 
			
		||||
      for (const i in decodeWords)
 | 
			
		||||
      {
 | 
			
		||||
        decodeWords[i] = decodeWords[i].replace("<", "").replace(">", "").replace("...", "UNKNOWN");
 | 
			
		||||
        decodeWords[i] = decodeWords[i].replace("<", "").replace(">", "");
 | 
			
		||||
        if (decodeWords[i].indexOf("...") != 1)
 | 
			
		||||
        {
 | 
			
		||||
          // simply ignore <...> , we don't know who they are and we aint talking to them.
 | 
			
		||||
          return;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -8408,9 +8413,12 @@ function showDXCCsBox()
 | 
			
		|||
    worker +=
 | 
			
		||||
      "<div  style='vertical-align:top;display:inline-block;margin-right:2px;overflow:auto;overflow-x:hidden;height:" +
 | 
			
		||||
      Math.min(Object.keys(List).length * 23 + 45, getStatsWindowHeight()) +
 | 
			
		||||
      "px;'><table class='darkTable' align=center><tr><th colspan=5 style='font-weight:bold'>Worked (" +
 | 
			
		||||
      worked +
 | 
			
		||||
      ")</th><tr><th align=left>Name</th><th>Flag</th><th align=left>DXCC</th></tr>";
 | 
			
		||||
      "px;'><table class='darkTable' align=center>" +
 | 
			
		||||
        "<tr><th colspan=5 style='font-weight:bold'>" +
 | 
			
		||||
        "" + $.i18n("gt.dxccBox.Worked") + " (" + worked + ")</th>" +
 | 
			
		||||
        "<tr><th align=left>" + $.i18n("gt.dxccBox.Name") + "</th>" +
 | 
			
		||||
        "<th>" + $.i18n("gt.dxccBox.Flag") + "</th>" +
 | 
			
		||||
        "<th align=left>" + $.i18n("gt.dxccBox.DXCC") + "</th></tr>";
 | 
			
		||||
    Object.keys(List)
 | 
			
		||||
      .sort()
 | 
			
		||||
      .forEach(function (key, i)
 | 
			
		||||
| 
						 | 
				
			
			@ -8442,9 +8450,12 @@ function showDXCCsBox()
 | 
			
		|||
        Object.keys(ListConfirmed).length * 23 + 45,
 | 
			
		||||
        getStatsWindowHeight()
 | 
			
		||||
      ) +
 | 
			
		||||
      "px;'><table class='darkTable' align=center><tr><th colspan=5 style='font-weight:bold'>Confirmed (" +
 | 
			
		||||
      confirmed +
 | 
			
		||||
      ")</th><tr><th align=left>Name</th><th>Flag</th><th align=left>DXCC</th></tr>";
 | 
			
		||||
      "px;'><table class='darkTable' align=center>" +
 | 
			
		||||
        "<tr><th colspan=5 style='font-weight:bold'>" + $.i18n("gt.dxccBox.Confirmed") +
 | 
			
		||||
        " (" + confirmed + ")</th>" +
 | 
			
		||||
        "<tr><th align=left>" + $.i18n("gt.dxccBox.Name") + "</th>" +
 | 
			
		||||
        "<th>" + $.i18n("gt.dxccBox.Flag") + "</th>" +
 | 
			
		||||
        "<th align=left>" + $.i18n("gt.dxccBox.DXCC") + "</th></tr>";
 | 
			
		||||
    Object.keys(ListConfirmed)
 | 
			
		||||
      .sort()
 | 
			
		||||
      .forEach(function (key, i)
 | 
			
		||||
| 
						 | 
				
			
			@ -8469,9 +8480,12 @@ function showDXCCsBox()
 | 
			
		|||
        Object.keys(ListNotWorked).length * 23 + 45,
 | 
			
		||||
        getStatsWindowHeight()
 | 
			
		||||
      ) +
 | 
			
		||||
      "px;'><table class='darkTable' align=center><tr><th colspan=3 style='font-weight:bold'>Needed (" +
 | 
			
		||||
      needed +
 | 
			
		||||
      ")</th><tr><th align=left>Name</th><th>Flag</th><th align=left>DXCC</th></tr>";
 | 
			
		||||
      "px;'><table class='darkTable' align=center>" +
 | 
			
		||||
        "<tr><th colspan=3 style='font-weight:bold'>" + $.i18n("gt.dxccBox.Needed") +
 | 
			
		||||
        " (" + needed + ")</th>" +
 | 
			
		||||
        "<tr><th align=left>" + $.i18n("gt.dxccBox.Name") + "</th>" +
 | 
			
		||||
        "<th>" + $.i18n("gt.dxccBox.Flag") + "</th>" +
 | 
			
		||||
        "<th align=left>" + $.i18n("gt.dxccBox.DXCC") + "</th></tr>";
 | 
			
		||||
    Object.keys(ListNotWorked)
 | 
			
		||||
      .sort()
 | 
			
		||||
      .forEach(function (key, i)
 | 
			
		||||
| 
						 | 
				
			
			@ -8544,7 +8558,8 @@ function showCQzoneBox()
 | 
			
		|||
  var worker = getCurrentBandModeHTML();
 | 
			
		||||
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'><b>Worked CQ Zones</b><br/>";
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'>" +
 | 
			
		||||
      "<b>" + $.i18n("gt.CQZoneBox.Worked") + "</b><br/>";
 | 
			
		||||
  worker += displayItemList(GT.cqZones, "#FFFFFF");
 | 
			
		||||
  worker += "</div>";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -8556,7 +8571,8 @@ function showITUzoneBox()
 | 
			
		|||
  var worker = getCurrentBandModeHTML();
 | 
			
		||||
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'><b>Worked ITU Zones</b><br/>";
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'>" +
 | 
			
		||||
      "<b>" + $.i18n("gt.ITUZoneBox.Worked") + "</b><br/>";
 | 
			
		||||
  worker += displayItemList(GT.ituZones, "#FFFFFF");
 | 
			
		||||
  worker += "</div>";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -8568,12 +8584,14 @@ function showWASWACzoneBox()
 | 
			
		|||
  var worker = getCurrentBandModeHTML();
 | 
			
		||||
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'><b>Worked All Continents</b><br/>";
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'>" +
 | 
			
		||||
      "<b>" + $.i18n("gt.WASWACBox.WAC") + "</b><br/>";
 | 
			
		||||
  worker += displayItemList(GT.wacZones, "#90EE90");
 | 
			
		||||
  worker += "</div>";
 | 
			
		||||
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'><b>Worked All States</b><br/>";
 | 
			
		||||
    "<div style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'>" +
 | 
			
		||||
      "<b>" + $.i18n("gt.WASWACBox.WAS") + "</b><br/>";
 | 
			
		||||
  worker += displayItemList(GT.wasZones, "#00DDDD");
 | 
			
		||||
  worker += "</div>";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -8609,11 +8627,11 @@ function displayItemList(table, color)
 | 
			
		|||
    "px;'>";
 | 
			
		||||
  worker += "<table class='darkTable' align=center>";
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<tr><th style='font-weight:bold'>Worked (" + worked + ")</th></tr>";
 | 
			
		||||
    "<tr><th style='font-weight:bold'>" + $.i18n("gt.displayItemsList.Worked") + " (" + worked + ")</th></tr>";
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<tr><th style='font-weight:bold'>Confirmed (" + confirmed + ")</th></tr>";
 | 
			
		||||
    "<tr><th style='font-weight:bold'>" + $.i18n("gt.displayItemsList.Confirmed") + " (" + confirmed + ")</th></tr>";
 | 
			
		||||
  worker +=
 | 
			
		||||
    "<tr><th style='font-weight:bold'>Needed (" + needed + ")</th></tr>";
 | 
			
		||||
    "<tr><th style='font-weight:bold'>" + $.i18n("gt.displayItemsList.Needed") + " (" + needed + ")</th></tr>";
 | 
			
		||||
  worker += "<tr><th align=left>Name</th></tr>";
 | 
			
		||||
 | 
			
		||||
  var inversionAlpha = "DD";
 | 
			
		||||
| 
						 | 
				
			
			@ -8684,7 +8702,8 @@ function showWPXBox()
 | 
			
		|||
  if (worked > 0)
 | 
			
		||||
  {
 | 
			
		||||
    worker +=
 | 
			
		||||
      "<div  style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'><b>Worked Prefixes (<font color='#fff'>" +
 | 
			
		||||
      "<div  style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'>" +
 | 
			
		||||
        "<b>" + $.i18n("gt.WPXBox.worked") + " (<font color='#fff'>" +
 | 
			
		||||
      worked +
 | 
			
		||||
      "</font>)</b><br/>";
 | 
			
		||||
    worker +=
 | 
			
		||||
| 
						 | 
				
			
			@ -8710,7 +8729,8 @@ function showWPXBox()
 | 
			
		|||
  if (confirmed > 0)
 | 
			
		||||
  {
 | 
			
		||||
    worker +=
 | 
			
		||||
      "<div  style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'><b>Confirmed Prefixes (<font color='#fff'>" +
 | 
			
		||||
      "<div  style='vertical-align:top;display:inline-block;margin-right:8px;overflow:auto;overflow-x:hidden;color:cyan;'>" +
 | 
			
		||||
        "<b>" + $.i18n("gt.WPXBox.confirmed") + " (<font color='#fff'>" +
 | 
			
		||||
      confirmed +
 | 
			
		||||
      "</font>)</b><br/>";
 | 
			
		||||
    worker +=
 | 
			
		||||
| 
						 | 
				
			
			@ -10681,12 +10701,58 @@ function setOamsBandActivityNeighbors(checkbox)
 | 
			
		|||
function setOamsSimplepush(checkbox)
 | 
			
		||||
{
 | 
			
		||||
  GT.msgSettings.msgSimplepush = checkbox.checked;
 | 
			
		||||
  simplePushDiv.style.display = (GT.msgSettings.msgSimplepush == true ? "inline-block" : "none");
 | 
			
		||||
  localStorage.msgSettings = JSON.stringify(GT.msgSettings);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setOamsSimplepushChat(checkbox)
 | 
			
		||||
{
 | 
			
		||||
  GT.msgSettings.msgSimplepushChat = checkbox.checked;
 | 
			
		||||
  // One must be checked, otherwise why is the service enabled?
 | 
			
		||||
  if (GT.msgSettings.msgSimplepushChat == false && GT.msgSettings.msgSimplepushRoster == false)
 | 
			
		||||
  {
 | 
			
		||||
    GT.msgSettings.msgSimplepushRoster = msgSimplepushRoster.checked = true;
 | 
			
		||||
  }
 | 
			
		||||
  localStorage.msgSettings = JSON.stringify(GT.msgSettings);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setOamsSimplepushRoster(checkbox)
 | 
			
		||||
{
 | 
			
		||||
  GT.msgSettings.msgSimplepushRoster = checkbox.checked;
 | 
			
		||||
  // One must be checked, otherwise why is the service enabled?
 | 
			
		||||
  if (GT.msgSettings.msgSimplepushRoster == false && GT.msgSettings.msgSimplepushChat == false)
 | 
			
		||||
  {
 | 
			
		||||
    GT.msgSettings.msgSimplepushChat = msgSimplepushChat.checked = true;
 | 
			
		||||
  }
 | 
			
		||||
  localStorage.msgSettings = JSON.stringify(GT.msgSettings);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setOamsPushover(checkbox)
 | 
			
		||||
{
 | 
			
		||||
  GT.msgSettings.msgPushover = checkbox.checked;
 | 
			
		||||
  pushOverDiv.style.display = (GT.msgSettings.msgPushover == true ? "inline-block" : "none");
 | 
			
		||||
  localStorage.msgSettings = JSON.stringify(GT.msgSettings);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setOamsPushoverChat(checkbox)
 | 
			
		||||
{
 | 
			
		||||
  GT.msgSettings.msgPushoverChat = checkbox.checked;
 | 
			
		||||
  // One must be checked, otherwise why is the service enabled?
 | 
			
		||||
  if (GT.msgSettings.msgPushoverChat == false && GT.msgSettings.msgPushoverRoster == false)
 | 
			
		||||
  {
 | 
			
		||||
    GT.msgSettings.msgPushoverRoster = msgPushoverRoster.checked = true;
 | 
			
		||||
  }
 | 
			
		||||
  localStorage.msgSettings = JSON.stringify(GT.msgSettings);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setOamsPushoverRoster(checkbox)
 | 
			
		||||
{
 | 
			
		||||
  GT.msgSettings.msgPushoverRoster = checkbox.checked;
 | 
			
		||||
  // One must be checked, otherwise why is the service enabled?
 | 
			
		||||
  if (GT.msgSettings.msgPushoverRoster == false && GT.msgSettings.msgPushoverChat == false)
 | 
			
		||||
  {
 | 
			
		||||
    GT.msgSettings.msgPushoverChat = msgPushoverChat.checked = true;
 | 
			
		||||
  }
 | 
			
		||||
  localStorage.msgSettings = JSON.stringify(GT.msgSettings);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -12327,6 +12393,7 @@ function getBuffer(file_url, callback, flag, mode, port, cache = null)
 | 
			
		|||
    host: url.parse(file_url).host, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
    port: port,
 | 
			
		||||
    followAllRedirects: true,
 | 
			
		||||
    timeout: 15000,
 | 
			
		||||
    path: url.parse(file_url).path, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
    headers: { "User-Agent": gtUserAgent, "x-user-agent": gtUserAgent }
 | 
			
		||||
  };
 | 
			
		||||
| 
						 | 
				
			
			@ -12384,7 +12451,8 @@ function getPostBuffer(
 | 
			
		|||
      "Content-Length": postData.length,
 | 
			
		||||
      "User-Agent": gtUserAgent,
 | 
			
		||||
      "x-user-agent": gtUserAgent
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    timeout: 15000
 | 
			
		||||
  };
 | 
			
		||||
  var req = http.request(options, function (res)
 | 
			
		||||
  {
 | 
			
		||||
| 
						 | 
				
			
			@ -13041,7 +13109,13 @@ function loadMsgSettings()
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  msgSimplepush.checked = GT.msgSettings.msgSimplepush;
 | 
			
		||||
  msgSimplepushChat.checked = GT.msgSettings.msgSimplepushChat;
 | 
			
		||||
  msgSimplepushRoster.checked = GT.msgSettings.msgSimplepushRoster;
 | 
			
		||||
 | 
			
		||||
  msgPushover.checked = GT.msgSettings.msgPushover;
 | 
			
		||||
  msgPushoverChat.checked = GT.msgSettings.msgPushoverChat;
 | 
			
		||||
  msgPushoverRoster.checked = GT.msgSettings.msgPushoverRoster;
 | 
			
		||||
 | 
			
		||||
  ValidateText(msgAwayText);
 | 
			
		||||
  setMsgSettingsView();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -13075,6 +13149,13 @@ function setMsgSettingsView()
 | 
			
		|||
 | 
			
		||||
  if (GT.msgSettings.msgAwaySelect > 0) { msgAwayTextDiv.style.display = "inline-block"; }
 | 
			
		||||
  else msgAwayTextDiv.style.display = "none";
 | 
			
		||||
 | 
			
		||||
  simplePushDiv.style.display = (GT.msgSettings.msgSimplepush == true ? "inline-block" : "none");
 | 
			
		||||
  pushOverDiv.style.display = (GT.msgSettings.msgPushover == true ? "inline-block" : "none");
 | 
			
		||||
 | 
			
		||||
  ValidateText(msgSimplepushApiKey);
 | 
			
		||||
  ValidateText(msgPushoverUserKey);
 | 
			
		||||
  ValidateText(msgPushoverToken);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadAdifSettings()
 | 
			
		||||
| 
						 | 
				
			
			@ -13951,7 +14032,7 @@ function updateWsjtxListener(port)
 | 
			
		|||
          newMessage.remote = remote;
 | 
			
		||||
          newMessage.instance = instanceId;
 | 
			
		||||
 | 
			
		||||
          lastMsgTimeDiv.innerHTML = "Received from " + newMessage.Id;
 | 
			
		||||
          lastMsgTimeDiv.innerHTML = $.i18n("gt.newMesg.Recvd") + newMessage.Id;
 | 
			
		||||
 | 
			
		||||
          GT.wsjtHandlers[newMessage.type](newMessage);
 | 
			
		||||
          GT.lastTimeSinceMessageInSeconds = parseInt(Date.now() / 1000);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -570,7 +570,7 @@ function htmlEntities(str)
 | 
			
		|||
function sendSimplePushMessage(jsmesg)
 | 
			
		||||
{
 | 
			
		||||
  const url = "https://api.simplepush.io/send";
 | 
			
		||||
  let data = { key: GT.msgSettings.msgSimplePushApiKey, title: "GridTracker Chat Message", msg: jsmesg.call + ": " + jsmesg.msg };
 | 
			
		||||
  let data = { key: GT.msgSettings.msgSimplepushApiKey, title: "GridTracker Chat Message", msg: jsmesg.call + ": " + jsmesg.msg };
 | 
			
		||||
  getPostBuffer(
 | 
			
		||||
    url,
 | 
			
		||||
    null, // callback,
 | 
			
		||||
| 
						 | 
				
			
			@ -578,17 +578,17 @@ function sendSimplePushMessage(jsmesg)
 | 
			
		|||
    "https",
 | 
			
		||||
    443,
 | 
			
		||||
    data,
 | 
			
		||||
    500, // timeoutMs,
 | 
			
		||||
    5000, // timeoutMs,
 | 
			
		||||
    null, // timeoutCallback,
 | 
			
		||||
    "simplepush"
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function sendPushOverMessage(jsmesg)
 | 
			
		||||
function sendPushOverMessage(jsmesg, test = false)
 | 
			
		||||
{
 | 
			
		||||
  const url = "https://api.pushover.net/1/messages.json";
 | 
			
		||||
  let data = {
 | 
			
		||||
    user: GT.msgSettings.msgPushoverUsername,
 | 
			
		||||
    user: GT.msgSettings.msgPushoverUserKey,
 | 
			
		||||
    token: GT.msgSettings.msgPushoverToken,
 | 
			
		||||
    title:
 | 
			
		||||
        "GridTracker Chat Message",
 | 
			
		||||
| 
						 | 
				
			
			@ -596,17 +596,62 @@ function sendPushOverMessage(jsmesg)
 | 
			
		|||
  };
 | 
			
		||||
  getPostBuffer(
 | 
			
		||||
    url,
 | 
			
		||||
    null, // callback,
 | 
			
		||||
    null,
 | 
			
		||||
    PushoverReply, // callback,
 | 
			
		||||
    test,
 | 
			
		||||
    "https",
 | 
			
		||||
    443,
 | 
			
		||||
    data,
 | 
			
		||||
    500, // timeoutMs,
 | 
			
		||||
    5000, // timeoutMs,
 | 
			
		||||
    null, // timeoutCallback,
 | 
			
		||||
    "pushover"
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PushoverReply(data, isTest)
 | 
			
		||||
{
 | 
			
		||||
  if (isTest)
 | 
			
		||||
  {
 | 
			
		||||
    var result = "Unknown Error";
 | 
			
		||||
    var color = "#F00";
 | 
			
		||||
    var responseJson = JSON.parse(data);
 | 
			
		||||
 | 
			
		||||
    if (typeof responseJson != "undefined" && typeof responseJson.status != "undefined")
 | 
			
		||||
    {
 | 
			
		||||
      if (responseJson.status == 1)
 | 
			
		||||
      {
 | 
			
		||||
        // {"status":1,"request":"1d5ace84-c2e4-4b19-a051-5ac4c9671170"}
 | 
			
		||||
        color = "#FFF";
 | 
			
		||||
        result = "Passed!";
 | 
			
		||||
      }
 | 
			
		||||
      else if (responseJson.status == 0)
 | 
			
		||||
      {
 | 
			
		||||
        color = "#FF0";
 | 
			
		||||
        if (typeof responseJson.user != "undefined")
 | 
			
		||||
        {
 | 
			
		||||
          // {"user":"invalid","errors":["user identifier is not a valid user, group, or subscribed user key, see https://pushover.net/api#identifiers"],"status":0,"request":"3ef45ac6-38d6-47db-b7aa-7731e8ac0fcb"}
 | 
			
		||||
          result = "User Key Invalid";
 | 
			
		||||
        }
 | 
			
		||||
        else if (typeof responseJson.token != "undefined")
 | 
			
		||||
        {
 | 
			
		||||
          //  {"token":"invalid","errors":["application token is invalid, see https://pushover.net/api"],"status":0,"request":"10629fe4-1e37-4c0f-a123-4585a3fb2aea"}
 | 
			
		||||
          result = "API Token Invalid";
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
          result = "Unknown Response";
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        result = "Unknown Status";
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pushOverTestResultsDiv.innerHTML = result;
 | 
			
		||||
    pushOverTestResultsDiv.style.color = color;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function gtChatMessage(jsmesg)
 | 
			
		||||
{
 | 
			
		||||
  if (GT.appSettings.gtMsgEnable == true)
 | 
			
		||||
| 
						 | 
				
			
			@ -629,17 +674,21 @@ function gtChatMessage(jsmesg)
 | 
			
		|||
      GT.gtUnread[cid] = true;
 | 
			
		||||
      GT.gtCurrentMessageCount++;
 | 
			
		||||
 | 
			
		||||
      if (GT.msgSettings.msgSimplepush && GT.msgSettings.msgSimplePushApiKey != null)
 | 
			
		||||
      if (newChatMessage(cid, jsmesg) == false)
 | 
			
		||||
      {
 | 
			
		||||
        // Only notify if you're not in active chat with them.
 | 
			
		||||
        if (GT.msgSettings.msgSimplepush && GT.msgSettings.msgSimplepushChat && GT.msgSettings.msgSimplepushApiKey != null)
 | 
			
		||||
        {
 | 
			
		||||
          sendSimplePushMessage(jsmesg);
 | 
			
		||||
        }
 | 
			
		||||
      if (GT.msgSettings.msgPushover && GT.msgSettings.msgPushoverUsername != null &&
 | 
			
		||||
        if (GT.msgSettings.msgPushover && GT.msgSettings.msgPushoverChat && GT.msgSettings.msgPushoverUserKey != null &&
 | 
			
		||||
            GT.msgSettings.msgPushoverToken != null)
 | 
			
		||||
        {
 | 
			
		||||
          sendPushOverMessage(jsmesg);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
      if (newChatMessage(cid, jsmesg) == false) alertChatMessage();
 | 
			
		||||
        alertChatMessage();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (GT.msgSettings.msgAwaySelect == 1 && !(cid in GT.gtSentAwayToCid))
 | 
			
		||||
      {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1220,7 +1220,8 @@ function getBuffer(file_url, callback, flag, mode, port, cookie)
 | 
			
		|||
      path: url.parse(file_url).path, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
      headers: {
 | 
			
		||||
        Cookie: cookie
 | 
			
		||||
      }
 | 
			
		||||
      },
 | 
			
		||||
      timeout: 15000
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
| 
						 | 
				
			
			@ -1228,7 +1229,8 @@ function getBuffer(file_url, callback, flag, mode, port, cookie)
 | 
			
		|||
    options = {
 | 
			
		||||
      host: url.parse(file_url).host, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
      port: port,
 | 
			
		||||
      path: url.parse(file_url).path // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
      path: url.parse(file_url).path, // eslint-disable-line node/no-deprecated-api
 | 
			
		||||
      timeout: 15000
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
  http.get(options, function (res)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -111,11 +111,11 @@ function sendAlerts(callRoster, rosterSettings)
 | 
			
		|||
        conosle.log(e);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (window.opener.GT.msgSettings.msgPushover)
 | 
			
		||||
    if (window.opener.GT.msgSettings.msgPushover && window.opener.GT.msgSettings.msgPushoverRoster)
 | 
			
		||||
    {
 | 
			
		||||
      sendPushOverAlert(parseCRJson(CR.scriptReport));
 | 
			
		||||
    }
 | 
			
		||||
    if (window.opener.GT.msgSettings.msgSimplepush)
 | 
			
		||||
    if (window.opener.GT.msgSettings.msgSimplepush && window.opener.GT.msgSettings.msgSimplepushRoster)
 | 
			
		||||
    {
 | 
			
		||||
      sendSimplePushMessage(parseCRJson(CR.scriptReport));
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -127,10 +127,11 @@ function sendSimplePushMessage(message)
 | 
			
		|||
{
 | 
			
		||||
  const url = "https://api.simplepush.io/send";
 | 
			
		||||
  let data = {
 | 
			
		||||
    key: window.opener.GT.msgSettings.msgSimplePushApiKey,
 | 
			
		||||
    key: window.opener.GT.msgSettings.msgSimplepushApiKey,
 | 
			
		||||
    title: "GridTracker Alert " + window.opener.GT.appSettings.myCall,
 | 
			
		||||
    msg: message
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  window.opener.GT.getPostBuffer(
 | 
			
		||||
    url,
 | 
			
		||||
    null, // callback,
 | 
			
		||||
| 
						 | 
				
			
			@ -143,16 +144,17 @@ function sendSimplePushMessage(message)
 | 
			
		|||
    "simplepush"
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function sendPushOverAlert(message)
 | 
			
		||||
{
 | 
			
		||||
  const url = "https://api.pushover.net/1/messages.json";
 | 
			
		||||
  let data = {
 | 
			
		||||
    user: window.opener.GT.msgSettings.msgPushoverUsername,
 | 
			
		||||
    user: window.opener.GT.msgSettings.msgPushoverUserKey,
 | 
			
		||||
    token: window.opener.GT.msgSettings.msgPushoverToken,
 | 
			
		||||
    title:
 | 
			
		||||
        "GridTracker Alert " + window.opener.GT.appSettings.myCall,
 | 
			
		||||
    title: "GridTracker Alert " + window.opener.GT.appSettings.myCall,
 | 
			
		||||
    message: message
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  window.opener.GT.getPostBuffer(
 | 
			
		||||
    url,
 | 
			
		||||
    null, // callback,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
{
 | 
			
		||||
  "name": "GridTracker",
 | 
			
		||||
  "product_string_do_not_use": "gridtracker",
 | 
			
		||||
  "version": "1.23.0402",
 | 
			
		||||
  "version": "1.23.1009",
 | 
			
		||||
  "betaVersion": "",
 | 
			
		||||
  "description": "GridTracker, an amateur radio companion",
 | 
			
		||||
  "author": "GridTracker.org",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue