Merge pull request 'Beta-8 fixes' (#370) from tobtoht/feather:beta-8-fixes into master

Reviewed-on: https://git.featherwallet.org/feather/feather/pulls/370
This commit is contained in:
tobtoht 2021-07-09 22:28:10 +00:00
commit 438eed8947
7 changed files with 53 additions and 31 deletions

View file

@ -30,14 +30,14 @@ Replace `master` with the desired version tag (e.g. `beta-8`) to build the relea
docker build --tag feather:linux --build-arg THREADS=4 . docker build --tag feather:linux --build-arg THREADS=4 .
``` ```
Building the base image takes a while. You only need to build the base image once. Building the base image takes a while. You only need to build the base image once per release.
#### 3. Build #### 3. Build
##### Standalone binary ##### Standalone binary
```bash ```bash
docker run --rm -it -v $PWD:/feather -w /feather feather:linux sh -c 'CHECK_UPDATES=On make release-static -j4' docker run --rm -it -v $PWD:/feather -w /feather feather:linux sh -c 'WITH_SCANNER=Off make release-static -j8'
``` ```
If you're re-running a build make sure to `rm -rf build/` first. If you're re-running a build make sure to `rm -rf build/` first.
@ -46,9 +46,9 @@ The resulting binary can be found in `build/bin/feather`.
##### AppImage ##### AppImage
First create the standalone binary using the Docker command in the previous step.
```bash ```bash
rm -rf build
docker run --rm -it -v $PWD:/feather -w /feather feather:linux sh -c 'make release-static -j8'
docker run --rm -it -v $PWD:/feather -w /feather/build feather:linux ../contrib/build-appimage.sh docker run --rm -it -v $PWD:/feather -w /feather/build feather:linux ../contrib/build-appimage.sh
``` ```
@ -77,7 +77,7 @@ Building the base image takes a while. You only need to build the base image onc
#### 3. Build #### 3. Build
```bash ```bash
docker run --rm -it -v $PWD:/feather -w /feather feather:win sh -c 'CHECK_UPDATES=On make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j4' docker run --rm -it -v $PWD:/feather -w /feather feather:win sh -c 'make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j4'
``` ```
If you're re-running a build make sure to `rm -rf build/` first. If you're re-running a build make sure to `rm -rf build/` first.

View file

@ -230,9 +230,9 @@ RUN git clone -b v1.2.11 --depth 1 https://github.com/madler/zlib && \
# Tor: Optional for Feather (-DTOR_BIN) # Tor: Optional for Feather (-DTOR_BIN)
# Binary can be embedded in Feather # Binary can be embedded in Feather
ENV TOR_BIN=/usr/local/tor/bin/tor ENV TOR_BIN=/usr/local/tor/bin/tor
RUN git clone -b tor-0.4.5.7 --depth 1 https://git.torproject.org/tor.git && \ RUN git clone -b tor-0.4.6.6 --depth 1 https://git.torproject.org/tor.git && \
cd tor && \ cd tor && \
git reset --hard 83f895c015de55201e5f226f84a866f30f5ee14b && \ git reset --hard 60d1fb3d37274e29e9e88620d77e1636ef922561 && \
./autogen.sh && \ ./autogen.sh && \
./configure \ ./configure \
--disable-asciidoc \ --disable-asciidoc \

View file

@ -154,9 +154,9 @@ RUN wget https://github.com/libevent/libevent/releases/download/release-2.1.11-s
make -j$THREADS install && \ make -j$THREADS install && \
rm -rf $(pwd) rm -rf $(pwd)
RUN git clone -b tor-0.4.5.7 --depth 1 https://git.torproject.org/tor.git && \ RUN git clone -b tor-0.4.6.6 --depth 1 https://git.torproject.org/tor.git && \
cd tor && \ cd tor && \
git reset --hard 83f895c015de55201e5f226f84a866f30f5ee14b && \ git reset --hard 60d1fb3d37274e29e9e88620d77e1636ef922561 && \
./autogen.sh && \ ./autogen.sh && \
./configure --host=x86_64-w64-mingw32 \ ./configure --host=x86_64-w64-mingw32 \
--disable-asciidoc \ --disable-asciidoc \

View file

@ -17,15 +17,29 @@ cp "$PWD/bin/feather" "$APPDIR/usr/bin/feather"
chmod +x "$APPDIR/usr/bin/feather" chmod +x "$APPDIR/usr/bin/feather"
export LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu/:/usr/local/lib/$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu/:/usr/local/lib/$LD_LIBRARY_PATH
linuxdeployqt feather.AppDir/usr/share/applications/feather.desktop -bundle-non-qt-libs linuxdeployqt feather.AppDir/usr/share/applications/feather.desktop -verbose=2 -bundle-non-qt-libs
pushd feather.AppDir/usr/plugins pushd feather.AppDir/usr/plugins
ln -s ../lib/ gstreamer ln -s ../lib/ gstreamer
popd popd
cp -r /usr/lib/x86_64-linux-gnu/gstreamer-1.0/* feather.AppDir/usr/plugins/gstreamer/ GST_PLUGINS=("libgstcamerabin.so libgstcoreelements.so libgstvolume.so libgstapp.so libgstvideoconvert.so
libgstvideoscale.so libgstvideo4linux2.so libgstencoding.so libgstmultifile.so libgstmatroska.so
libgstvpx.so libgstjpegformat.so libgstjpeg.so libgstautodetect.so libgstaudiotestsrc.so
libgstvorbis.so libgstaudiorate.so libgstaudioconvert.so libgstaudioresample.so libgstvideocrop.so")
for plugin in ${GST_PLUGINS[*]}; do
cp /usr/lib/x86_64-linux-gnu/gstreamer-1.0/$plugin feather.AppDir/usr/plugins/gstreamer/
# linuxdeployqt doesn't set RUNPATH on libs that are only loaded at runtime
patchelf --set-rpath "\$ORIGIN" feather.AppDir/usr/plugins/gstreamer/$plugin
done
cp /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner feather.AppDir/usr/plugins/gstreamer/ cp /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner feather.AppDir/usr/plugins/gstreamer/
# Need second deploy for gstreamer dependencies
linuxdeployqt feather.AppDir/usr/share/applications/feather.desktop -verbose=2 -bundle-non-qt-libs
rm "$APPDIR/AppRun" rm "$APPDIR/AppRun"
cp "$PWD/../contrib/AppImage/AppRun" "$APPDIR/" cp "$PWD/../contrib/AppImage/AppRun" "$APPDIR/"
chmod +x "$APPDIR/AppRun" chmod +x "$APPDIR/AppRun"

View file

@ -874,6 +874,10 @@ void MainWindow::closeEvent(QCloseEvent *event) {
m_updateBytes.stop(); m_updateBytes.stop();
m_txTimer.stop(); m_txTimer.stop();
m_ctx->stopTimers();
// Wallet signal may fire after AppContext is gone, causing segv
m_ctx->wallet->disconnect();
this->saveGeo(); this->saveGeo();
m_windowManager->closeWindow(this); m_windowManager->closeWindow(this);
@ -1170,9 +1174,20 @@ void MainWindow::onDeviceError(const QString &error) {
} }
void MainWindow::onDeviceButtonRequest(quint64 code) { void MainWindow::onDeviceButtonRequest(quint64 code) {
qDebug() << "DeviceButtonRequest, code: " << code;
if (m_ctx->wallet->isTrezor()) { if (m_ctx->wallet->isTrezor()) {
switch (code) { switch (code) {
case 1:
{
m_splashDialog->setMessage("Action required on device: Enter your PIN to continue");
m_splashDialog->setIcon(QPixmap(":/assets/images/key.png"));
m_splashDialog->show();
m_splashDialog->setEnabled(true);
break;
}
case 8: case 8:
default:
{ {
// Annoyingly, this code is used for a variety of actions, including: // Annoyingly, this code is used for a variety of actions, including:
// Confirm refresh: Do you really want to start refresh? // Confirm refresh: Do you really want to start refresh?

View file

@ -279,12 +279,9 @@ void SendWidget::onDataPasted(const QString &data) {
if (!data.isEmpty()) { if (!data.isEmpty()) {
QVariantMap uriData = m_ctx->wallet->parse_uri_to_object(data); QVariantMap uriData = m_ctx->wallet->parse_uri_to_object(data);
if (!uriData.contains("error")) { if (!uriData.contains("error")) {
if (uriData.contains("address")) ui->lineAddress->setText(uriData.value("address").toString());
ui->lineAddress->setText(uriData.value("address").toString()); ui->lineDescription->setText(uriData.value("tx_description").toString());
if (uriData.contains("amount")) ui->lineAmount->setText(uriData.value("amount").toString());
ui->lineAmount->setText(uriData.value("amount").toString());
if (uriData.contains("tx_description"))
ui->lineDescription->setText(uriData.value("tx_description").toString());
} else { } else {
ui->lineAddress->setText(data); ui->lineAddress->setText(data);
} }

View file

@ -1,30 +1,26 @@
{ {
"mainnet": { "mainnet": {
"tor": [ "tor": [
"xmrag4hf5xlabmob.onion:18081",
"monero26mmldsallmxok2kwamne4ve3mybvvn2yijsvss7ey63hc4yyd.onion:18081", "monero26mmldsallmxok2kwamne4ve3mybvvn2yijsvss7ey63hc4yyd.onion:18081",
"monero5sjoz5xmjn.onion:18081",
"mxcd4577fldb3ppzy7obmmhnu3tf57gbcbd4qhwr2kxyjj2qi3dnbfqd.onion:18081", "mxcd4577fldb3ppzy7obmmhnu3tf57gbcbd4qhwr2kxyjj2qi3dnbfqd.onion:18081",
"moneroxmrxw44lku6qniyarpwgznpcwml4drq7vb24ppatlcg4kmxpqd.onion:18089", "moneroxmrxw44lku6qniyarpwgznpcwml4drq7vb24ppatlcg4kmxpqd.onion:18089",
"3hvpnd4xejtzcuowvru2wfjum5wjf7synigm44rrizr3k4v5vzam2bad.onion:18081", "3hvpnd4xejtzcuowvru2wfjum5wjf7synigm44rrizr3k4v5vzam2bad.onion:18081",
"aytzr6aoxsegx2y6.onion:18081", "rbpgdckle3h3vi4wwwrh75usqtoc5r3alohy7yyx57isynvay63nacyd.onion:18089",
"rbpgdckle3h3vi4wwwrh75usqtoc5r3alohy7yyx57isynvay63nacyd.onion:18089" "6dsdenp6vjkvqzy4wzsnzn6wixkdzihx3khiumyzieauxuxslmcaeiad.onion:18081",
"56wl7y2ebhamkkiza4b7il4mrzwtyvpdym7bm2bkg3jrei2je646k3qd.onion:18089"
], ],
"clearnet": [ "clearnet": [
"eu-west.node.xmr.pm:18089", "node.melo.tools:18081",
"eu-west-2.node.xmr.pm:18089", "node-1.sethsimmons.me:18089",
"usa-east-va.node.xmr.pm:18089", "selsta1.featherwallet.net:18081",
"selsta2.featherwallet.net:18081",
"xmr-node-eu.cakewallet.com:18081",
"xmr-node-usa-east.cakewallet.com:18081",
"canada.node.xmr.pm:18089", "canada.node.xmr.pm:18089",
"singapore.node.xmr.pm:18089", "singapore.node.xmr.pm:18089",
"nodes.hashvault.pro:18081", "nodes.hashvault.pro:18081",
"node.supportxmr.com:18081", "node.supportxmr.com:18081",
"xmr-node-eu.cakewallet.com:18081", "node.xmr.ru:18081"
"xmr-node-usa-east.cakewallet.com:18081",
"node.xmr.ru:18081",
"selsta1.featherwallet.net:18081",
"selsta2.featherwallet.net:18081",
"node-1.sethsimmons.me:18089",
"node.melo.tools:18081"
] ]
}, },
"testnet": { "testnet": {