mirror of
https://github.com/feather-wallet/feather.git
synced 2024-11-17 01:37:53 +00:00
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:
commit
438eed8947
7 changed files with 53 additions and 31 deletions
10
BUILDING.md
10
BUILDING.md
|
@ -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.
|
||||||
|
|
|
@ -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 \
|
||||||
|
|
|
@ -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 \
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
Loading…
Reference in a new issue