diff --git a/.gitignore b/.gitignore
index d4073ad..c900259 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ debian/tmp
node_modules
package-lock.json
.vscode
+desktop.ini
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 135a6f2..256ef43 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,9 +10,9 @@ variables:
# We have code in here for releasing on both GS and S3, control it through variables
# on GitLab, do not change it in this file.
#
+ GCLOUD_PROJECT_ID: "cent7-288417"
GCLOUD_SERVICE_ACCOUNT: /dev/null
- GCLOUD_RELEASE_DEPLOY_PATH: gs://download.gridtracker.org/release/$CI_COMMIT_TAG
- GCLOUD_TESTING_DEPLOY_PATH: gs://download.gridtracker.org/testing/$CI_COMMIT_TAG
+ GCLOUD_DEPLOY_PATH: gs://gt_download/$CI_COMMIT_TAG
NR0Q_SERVER_ADDRESS: ""
NR0Q_SERVER_PASSWORD: ""
@@ -86,15 +86,18 @@ win:package:
mkdir -p artifacts
echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies"
apt-get update && apt-get upgrade -y
+ apt-get install p7zip -y
wget https://nsis.sourceforge.io/mediawiki/images/4/47/Registry.zip
- unzip Registry.zip
- mv Desktop/Plugin/registry.dll /usr/share/nsis/Plugins/x86-unicode/
- mv Desktop/Include/Registry.nsh /usr/share/nsis/Include/
- rm -Rf Desktop PocketPC Source
- eval $(ssh-agent -s)
- echo "$NR0Q_PRIV" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh; chmod 700 ~/.ssh
- scp -o StrictHostKeyChecking=no mchambers@$NR0Q_SERVER_ADDRESS:~/codecert.spc ./
+ unzip -bj Registry.zip Desktop/Plugin/registry.dll -d /usr/share/nsis/Plugins/x86-unicode/
+ unzip -bj Registry.zip Desktop/Include/Registry.nsh -d /usr/share/nsis/Include/
+ wget https://nsis.sourceforge.io/mediawiki/images/1/18/NsProcess.zip
+ 7zr e NsProcess.zip -y -o/usr/share/nsis/Include/ Include/nsProcess.nsh
+ 7zr e NsProcess.zip -y -o/usr/share/nsis/Plugins/x86-unicode/ Plugin/nsProcessW.dll
+ mv /usr/share/nsis/Plugins/x86-unicode/nsProcessW.dll /usr/share/nsis/Plugins/x86-unicode/nsProcess.dll
+ ## eval $(ssh-agent -s)
+ ## echo "$NR0Q_PRIV" | tr -d '\r' | ssh-add -
+ ## mkdir -p ~/.ssh; chmod 700 ~/.ssh
+ ## scp -o StrictHostKeyChecking=no -P $NR0Q_SSH_PORT mchambers@$NR0Q_SERVER_ADDRESS:~/codecert.spc ./
script:
- |
# Making our Windows packages
@@ -104,30 +107,22 @@ win:package:
npm install --prefer-offline
npm run dist-win
for dir in dist/*-win-* ; do
- if [ -d $dir ] ; then
- rm $dir/locales/*.info
- mkdir $dir/package.nw
- for file in package.nw/* ; do
- mv $dir/`basename $file` $dir/package.nw
- done
- elif [ -f $dir ] && [[ "$dir" == *"win-x86-Setup.exe"* ]] ; then
+ if [ -f $dir ] && [[ "$dir" == *"-Setup.exe" ]] ; then
echo "deleting broken installer $dir"
rm $dir
fi
done
# Now we need to sign the executable before it get's stuffed into Nullsoft
# using mono signcode
- signcode -spc codecert.spc -t http://time.certum.pl/ -a sha256 dist/GridTracker-*-win-*/*.exe
+ ## signcode -spc codecert.spc -t http://time.certum.pl/ -a sha256 dist/GridTracker-*-win-*/*.exe
# Now the executable should be signed
- sed "s#GridTracker-\${VERSION}-win-x86/#`pwd`/dist/GridTracker-\${VERSION}-win-x86/#g" windows/setup.nsi.tmpl > windows/setup.nsi.tmp.1
- sed "s#GridTracker-Installer.#`pwd`/dist/GridTracker-Installer.#g" windows/setup.nsi.tmp.1 > windows/setup.nsi.tmp.2
- sed "s#define VERSION windows/setup.nsi
+ sed "s##`node version.js`#g" windows/win_installer.nsi > windows/setup.nsi.tmp.1
+ sed "s##`pwd`#g" windows/setup.nsi.tmp.1 > windows/setup.nsi
makensis windows/setup.nsi
# clean up generated files
rm windows/setup.nsi
rm windows/setup.nsi.tmp.1
- rm windows/setup.nsi.tmp.2
- signcode -spc codecert.spc -t http://time.certum.pl/ -a sha256 dist/GridTracker-Installer.*.exe
+ ## signcode -spc codecert.spc -t http://time.certum.pl/ -a sha256 dist/GridTracker-Installer.*.exe
(cd dist ; mv GridTracker-Installer.*.exe ../artifacts)
echo -e "\e[0Ksection_end:`date +%s`:native_build\e[0K"
@@ -282,51 +277,20 @@ arm:package:
echo "we made ARM packages!"
ls -laR artifacts
-# copy test assets to NR0Q's server
-uploadtest:
+# copy test assets to Google Storage
+upload-Google:
stage: deploy
- image: alpine
+ image: google/cloud-sdk
variables:
GIT_STRATEGY: none
rules:
- - if: '$CI_COMMIT_TAG =~ /^(test_).*/ && $NR0Q_SERVER_KEY != ""'
- before_script:
- - |
- apk add openssh-client
- eval $(ssh-agent -s)
- echo "$NR0Q_SERVER_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh; chmod 700 ~/.ssh
+ - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/'
script:
- |
- cd artifacts
- for FILE in *.*
- do
- echo "Calculating MD5 Hash for $FILE"
- md5sum $FILE > $FILE.md5
- done
- ssh -o StrictHostKeyChecking=no gridtracker@$NR0Q_SERVER_ADDRESS "mkdir ~/$CI_COMMIT_TAG" && scp -o StrictHostKeyChecking=no -r ./* gridtracker@$NR0Q_SERVER_ADDRESS:~/$CI_COMMIT_TAG/ && ssh -o StrictHostKeyChecking=no gridtracker@$NR0Q_SERVER_ADDRESS "rm latest_test && ln -s $CI_COMMIT_TAG latest_test"
-
-# copy release assets to NR0Q's server
-uploadrelease:
- stage: deploy
- image: alpine
- rules:
- - if: '$CI_COMMIT_TAG =~ /^(v).*/ && $NR0Q_SERVER_KEY != ""'
- before_script:
- - |
- apk add openssh-client
- eval $(ssh-agent -s)
- echo "$NR0Q_SERVER_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh; chmod 700 ~/.ssh
- script:
- - |
- cd artifacts
- for FILE in *.*
- do
- echo "Calculating MD5 Hash for $FILE"
- md5sum $FILE > $FILE.md5
- done
- ssh -o StrictHostKeyChecking=no gridtracker@$NR0Q_SERVER_ADDRESS "mkdir ~/$CI_COMMIT_TAG" && scp -o StrictHostKeyChecking=no -r ./* gridtracker@$NR0Q_SERVER_ADDRESS:~/$CI_COMMIT_TAG/
+ echo $GCP_SERVICE_KEY > gcloud-service-key.json
+ gcloud auth activate-service-account --key-file gcloud-service-key.json
+ gcloud config set project $GCLOUD_PROJECT_ID
+ gsutil -m cp -R artifacts/* $GCLOUD_DEPLOY_PATH/
# this only creates a "source code release" -- gitlab doesn't specify binaries
# except as links to external storage, which is suboptimal for now
@@ -346,7 +310,7 @@ sourcerelease:
assets:
links:
- name: Release Packages for $CI_COMMIT_TAG
- url: https://fleetwood.mchambersradio.com/gridtracker/$CI_COMMIT_TAG/
+ url: https://https://storage.googleapis.com/gt_download/$CI_COMMIT_TAG/
external: true
link_type: package
script:
@@ -355,8 +319,6 @@ sourcerelease:
update_arch_aur:
stage: deploy
image: archlinux:base-devel
- variables:
- GIT_STRATEGY: none
rules:
# only do this with a manual tag starting with v
- if: '$CI_COMMIT_TAG =~ /^v.*/ && $AUR_KEY != ""'
@@ -386,7 +348,7 @@ update_arch_aur:
sudo -u builder makepkg -si --noconfirm PKGBUILD
# push the new version
- |
- makepkg --printsrcinfo > .SRCINFO
+ sudo -u builder makepkg --printsrcinfo > .SRCINFO
git clone ssh://aur@aur.archlinux.org/gridtracker.git
cp PKGBUILD gridtracker/PKGBUILD
cp .SRCINFO gridtracker/.SRCINFO
diff --git a/README.md b/README.md
index 5d60858..bcba315 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@ Run `npm install` and then `npm start`
Phoenix does not support ARM-based macs, so we have to explicitly tell it to use Intel-based versions of NWJS.
-Run `npm install` and then `npm start-x64`
+Run `npm install` and then `npm run start-x64`
## ARM-based Raspberry
@@ -107,3 +107,19 @@ Final build results are left in:
# Editing GeoJSON files
We've had success using https://vector.rocks/ and then cleaning up the output with https://jsonformatter.org/
+
+# Hacks
+
+### Roster Column Ordering
+
+We've added internal support for reordering roster columns, but have yet to implement a UI to change these settings.
+
+In the meantime you can:
+* Open the roster window, right click on the "More Controls" link on the top right corner and select "Inspect" from the context menu.
+
+* Select the "Console" tab in the Chrome DevTools window that should have appeared.
+
+* Enter `g_rosterSettings.columnOrder` in the Console and press `[return]` to see the current list of columns.
+
+* Enter the following in the Console, changing the values of `columnOrder` to fit your needs: `changeRosterColumnOrder(["Callsign", "Grid", "Spot"]);` and press `[return]`.
+ Any columns included in this list will be shown before all other columns.
diff --git a/arch-linux/PKGBUILD.template b/arch-linux/PKGBUILD.template
index 09f1f89..d83f614 100644
--- a/arch-linux/PKGBUILD.template
+++ b/arch-linux/PKGBUILD.template
@@ -8,7 +8,7 @@ pkgdesc="Companion program for WSJT-X for mapping contacts"
arch=('x86_64')
url="https://gridtracker.org/grid-tracker/"
license=('BSD')
-depends=('nwjs-bin>=0.48.0')
+depends=('nwjs-bin>=0.54.0')
replaces=('gridtracker-bin')
source=("https://gitlab.com/gridtracker.org/$pkgname/-/archive/v$pkgver/$pkgname-v$pkgver.tar.gz")
sha256sums=('REPLACE_WITH_SHASUM')
diff --git a/debian/changelog b/debian/changelog
index 1829cea..680fa9a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,27 @@
+gridtracker (1.22.0503) unstable; urgency=low
+ - Increment version for build with correct NWJS version
+
+ -- Matthew Chambers Mon, 01 May 2022 16:07:00 -0000
+
+gridtracker (1.22.0502) unstable; urgency=low
+ [Bug Fixes]
+ - Fixed broken Call Roster due to online assets being moved from a web server to Google Storage Bucket.
+ - Don't highlight "CQ" rows if filtering by "CQ Only".
+ - Resolved #126 Windows Installer script updated to fix issues with install location and missing registry keys
+ - Resolved #124 removing IP-Geolocation when no all other means of locating failed, we now tell the user to
+ start WSJT-X or enter a location as Geo-Location services are costly and unreliable
+ - Resolved #137 missing libatomic dependency in Linux DEB and RPM spec files
+ [Enhancements]
+ - Include version number in main window title
+ - Call Roster colums refactored and wanted column added
+
+ -- Matthew Chambers Mon, 01 May 2022 02:25:40 -0000
+
+gridtracker (1.21.1217) unstable; urgency=low
+ - Changed to newer NWJS to fix upstream bug that caused media playback to fail.
+
+ -- Matthew Chambers Fri, 17 Dec 2021 20:08:00 -0000
+
gridtracker (1.21.1212) unstable; urgency=low
Release build with the call roster refactor code that's been in the works for some time.
[Bug Fixes]
diff --git a/docker/build-all.sh b/docker/build-all.sh
index 269a4c8..ba02331 100755
--- a/docker/build-all.sh
+++ b/docker/build-all.sh
@@ -15,26 +15,18 @@ for dir in dist/*-linux-* ; do
fi
done
for dir in dist/*-win-* ; do
- if [ -d $dir ] ; then
- mkdir $dir/package.nw
- for file in package.nw/* ; do
- mv $dir/`basename $file` $dir/package.nw
- done
- elif [ -f $dir ] && [[ "$dir" == *"win-x86-Setup.exe"* ]] ; then
+ if [ -f $dir ] && [[ "$dir" == *"-Setup.exe" ]] ; then
echo "deleting broken installer $dir"
rm $dir
fi
done
-sed "s#GridTracker-\${VERSION}-win-x86/#`pwd`/dist/GridTracker-\${VERSION}-win-x86/#g" windows/setup.nsi.tmpl > windows/setup.nsi.tmp.1
-sed "s#GridTracker-Installer.#`pwd`/dist/GridTracker-Installer.#g" windows/setup.nsi.tmp.1 > windows/setup.nsi.tmp.2
-sed "s#define VERSION windows/setup.nsi
-
+sed "s##`node version.js`#g" windows/win_installer.nsi > windows/setup.nsi.tmp.1
+sed "s##`pwd`#g" windows/setup.nsi.tmp.1 > windows/setup.nsi
makensis windows/setup.nsi
# clean up generated files
rm windows/setup.nsi
rm windows/setup.nsi.tmp.1
-rm windows/setup.nsi.tmp.2
mv dist/*{.exe,mac-x64.zip,.tar.gz} ../dist
rpmbuild -D "version `node ./version.js`" --build-in-place -bb gridtracker.i386.spec
diff --git a/gridtracker.spec b/gridtracker.spec
index d791545..77d6189 100644
--- a/gridtracker.spec
+++ b/gridtracker.spec
@@ -1,9 +1,9 @@
-Name: gridtracker
+Name: {{{ git_name name=gridtracker }}}
Summary: GridTracker: An amateur radio companion to WSJT-X or JTDX
-Version: 1.21.1212
+Version: {{{ git_version lead=1.22.0503 }}}
Release: 1%{?dist}
BuildArch: noarch
-Source0: %{name}-%{version}.tar.gz
+Source0: {{{ git_dir_pack }}}
License: BSD 3-Clause License
URL: https://gridtracker.org
@@ -19,7 +19,7 @@ working interesting stations. It also will upload QSO records to multiple
logging frameworks including Logbook of the World.
%prep
-%setup -q GridTracker
+{{{ git_dir_setup_macro }}}
%build
@@ -40,6 +40,21 @@ DESTDIR=${RPM_BUILD_ROOT} make clean
%license %{_docdir}/%{name}/
%changelog
+* Mon May 02 2022 Matthew Chambers - 1.22.0503-1
+- Increment version number for build with correct vesion of NWJS
+* Mon May 02 2022 Matthew Chambers - 1.22.0502-1
+- [Bug Fixes]
+ - Fixed broken Call Roster due to online assets being moved from a web server to Google Storage Bucket.
+ - Don't highlight "CQ" rows if filtering by "CQ Only".
+ - Resolved #126 Windows Installer script updated to fix issues with install location and missing registry keys
+ - Resolved #124 removing IP-Geolocation when no all other means of locating failed, we now tell the user to
+ start WSJT-X or enter a location as Geo-Location services are costly and unreliable
+ - Resolved #137 missing libatomic dependency in Linux DEB and RPM spec files
+- [Enhancements]
+ - Include version number in main window title
+ - Call Roster colums refactored and wanted column added
+* Fri Dec 17 2021 Matthew Chambers - 1.21.1217-1
+- Changed to newer NWJS to fix upstream bug that caused media playback to fail.
* Sun Dec 12 2021 Matthew Chambers - 1.21.1212-1
- Release build with the call roster refactor code that's been in the works for some time.
- [Bug Fixes]
diff --git a/package.json b/package.json
index 40bcd6f..f5c940d 100644
--- a/package.json
+++ b/package.json
@@ -17,9 +17,7 @@
"dist-mac": "build --concurrent --tasks mac-x64 package.nw",
"dist-win": "build --concurrent --tasks win-x86,win-x64 package.nw",
"distsome": "build --debug --tasks linux-x64,mac-x64 package.nw",
- "start": "run package.nw"
- },
- "dependencies": {
- "banana-i18n": "^2.1.0"
+ "start": "run package.nw",
+ "start-x64": "run --x64 package.nw"
}
}
diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html
index 847c012..348bd39 100644
--- a/package.nw/GridTracker.html
+++ b/package.nw/GridTracker.html
@@ -788,6 +788,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
id="myTooltip"
style="
-webkit-user-select: text;
+ user-select: text;
background-color: black;
padding: 5px;
text-align: center;
@@ -1103,7 +1104,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Print
@@ -3555,7 +3556,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>GridTracker.org!
- Copyright © 2021 GridTracker.org
+ Copyright © 2022 GridTracker.org
@@ -3647,6 +3648,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
GridTracker is up to date!
OK
-
+