Skip to content
This repository has been archived by the owner on Aug 6, 2021. It is now read-only.

Commit

Permalink
Merge pull request #561 from bunqCommunity/master
Browse files Browse the repository at this point in the history
Release 0.9.9
  • Loading branch information
Crecket authored Feb 12, 2020
2 parents e097fd0 + 3279ed0 commit a1e9129
Show file tree
Hide file tree
Showing 129 changed files with 13,748 additions and 13,014 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v12.14.0
Binary file modified .snapcraft/travis_snapcraft.cfg
Binary file not shown.
19 changes: 9 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@ matrix:
- os: osx
osx_image: xcode9.4
language: node_js
node_js: '10'
node_js: '12'
env:
- HOMEBREW_NO_AUTO_UPDATE=1
- ELECTRON_CACHE=$HOME/.cache/electron
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
- os: linux
services: docker
language: generic
sudo: required
node_js: '10'
node_js: '12'

addons:
apt:
Expand All @@ -21,10 +22,13 @@ addons:
cache:
directories:
- node_modules
- docker_images
- "$HOME/.cache/electron"
- "$HOME/.cache/electron-builder"

before_install:
- nvm install
- docker load -i docker_images/images.tar || true
- |
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
mkdir -p /tmp/git-lfs && curl -L https://github.com/github/git-lfs/releases/download/v2.3.1/git-lfs-$([ "$TRAVIS_OS_NAME" == "linux" ] && echo "linux" || echo "darwin")-amd64-2.3.1.tar.gz | tar -xz -C /tmp/git-lfs --strip-components 1
Expand All @@ -37,19 +41,14 @@ before_script:
script:
- |
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
docker run --rm \
--env-file <(env | grep -v '\r' | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|(\b(?!TRAVIS_COMMIT_MESSAGE)TRAVIS)|APPVEYOR_|CSC_|_TOKEN|_KEY|BUILD_') \
-v ${PWD}:/project \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:wine \
/bin/bash -c "yarn --link-duplicates --pure-lockfile && yarn run release --linux"
bash ${TRAVIS_BUILD_DIR}/build/docker/electron-linux/run.sh
else
yarn run release -- --mac --win
fi
before_cache:
- rm -rf $HOME/.cache/electron-builder/wine
- docker save -o docker_images/images.tar $(docker images -a -q)

# On linux create a tar gz file
before_deploy:
Expand Down Expand Up @@ -113,7 +112,7 @@ deploy:


after_success:
- openssl aes-256-cbc -K $encrypted_6a955bf10c5f_key -iv $encrypted_6a955bf10c5f_iv -in .snapcraft/travis_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d
- openssl aes-256-cbc -K $encrypted_68d7de2f7cf4_key -iv $encrypted_68d7de2f7cf4_iv -in .snapcraft/travis_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d

env:
global:
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ Download the latest version of bunqDesktop from the [GitHub releases page](https

There is also a [Nightly build](https://github.com/bunqCommunity/bunqDesktop/releases/snapshot) which is built automatically every night and contains the latest experimental changes and features. Only use this if you want to test new features and are okay with potential errors.

#### [Snapcraft](https://snapcraft.io/bunqdesktop)
#### [Snapcraft](https://snapcraft.io/bunqdesktop) [![bunqDesktop](https://snapcraft.io/bunqdesktop/badge.svg)](https://snapcraft.io/bunqdesktop)

You can directly search for 'bunqDesktop' in the Ubuntu store or use the snap command.

`sudo snap install bunqdesktop`
Expand Down
Binary file added app/images/bunq-mastercard-metal-founders.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/images/bunq-mastercard-metal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions build/docker/electron-linux/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM electronuserland/builder:wine

ENV DEBIAN_FRONTEND=noninteractive

# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh

# add yarn repo
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

# install yarn and clean up
RUN apt-get update && apt-get install -y yarn && apt-get clean && rm -rf /var/lib/apt/lists/*

ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 12.14.0

RUN mkdir $NVM_DIR -p

# install nvm with node and npm
RUN curl -sS -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash

# install node and npm
RUN source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default

# add node and npm to path so the commands are available
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH

# confirm installation
RUN node -v
RUN yarn -v
9 changes: 9 additions & 0 deletions build/docker/electron-linux/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env bash
cd "$(dirname "$0")"
docker run --rm \
--env-file <(env | grep -v '\r' | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|(\b(?!TRAVIS_COMMIT_MESSAGE)TRAVIS)|APPVEYOR_|CSC_|_TOKEN|_KEY|BUILD_') \
-v ${TRAVIS_BUILD_DIR}:/project \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
$(docker build -q .) \
/bin/bash -c 'yarn --link-duplicates --pure-lockfile && yarn run release --linux'
4 changes: 2 additions & 2 deletions bunqdesktop.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
<metadata>
<id>bunqdesktop</id>
<version>0.9.8</version>
<version>0.9.9</version>
<!-- <packageSourceUrl>Where is this Chocolatey package located (think GitHub)? packageSourceUrl is highly recommended for the community feed</packageSourceUrl>-->
<!-- owners is a poor name for maintainers of the package. It sticks around by this name for compatibility reasons. It basically means you. -->
<owners>bunqCommunity</owners>
Expand All @@ -25,7 +25,7 @@
<summary>The unofficial, free and open source desktop application for the bunq API</summary>
<description>A desktop implementation for bunq's API. This app does everything within the application so you don't have to worry about sharing your API key with anyone else!</description>

<releaseNotes>https://github.com/bunqCommunity/bunqDesktop/releases/tag/0.9.8</releaseNotes>
<releaseNotes>https://github.com/bunqCommunity/bunqDesktop/releases/tag/0.9.9</releaseNotes>
</metadata>
<files>
<!-- this section controls what actually gets packaged into the Chocolatey package -->
Expand Down
2 changes: 1 addition & 1 deletion chocolatey/chocolateyInstall.ps1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
$name = 'bunqDesktop'
$installerType = 'exe'
$url = 'https://github.com/bunqCommunity/bunqDesktop/releases/download/0.9.8/bunqDesktop-0.9.8.exe'
$url = 'https://github.com/bunqCommunity/bunqDesktop/releases/download/0.9.9/bunqDesktop-0.9.9.exe'
$silentArgs = '/silent'

Install-ChocolateyPackage $name $installerType $silentArgs $url
84 changes: 45 additions & 39 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "The unofficial, free and open source desktop application for the bunq API",
"productName": "bunqDesktop",
"homepage": "https://bunqdesk.top/",
"version": "0.9.8",
"version": "0.9.9",
"author": {
"name": "bunqCommunity",
"email": "bunqcommunity@gmail.com"
Expand Down Expand Up @@ -40,6 +40,7 @@
"build": {
"artifactName": "${productName}-${version}-${arch}.${ext}",
"appId": "com.bunqdesktop",
"nodeVersion": "v12.4.0",
"files": [
"app/**/*",
"node_modules/**/*",
Expand Down Expand Up @@ -129,7 +130,7 @@
]
},
"dependencies": {
"electron-localshortcut": "^3.1.0",
"electron-localshortcut": "^3.2.1",
"electron-log": "^2.2.9",
"electron-settings": "^3.1.3",
"fs-jetpack": "^1.0.0",
Expand All @@ -139,45 +140,45 @@
"upath": "1.0.5"
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.3.4",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-decorators": "^7.0.0",
"@babel/plugin-proposal-do-expressions": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-proposal-function-bind": "^7.0.0",
"@babel/plugin-proposal-function-sent": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
"@babel/plugin-proposal-numeric-separator": "^7.0.0",
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
"@babel/plugin-proposal-pipeline-operator": "^7.0.0",
"@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-transform-react-constant-elements": "^7.0.0",
"@babel/plugin-transform-react-inline-elements": "^7.0.0",
"@babel/plugin-transform-react-jsx-source": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.3.4",
"@babel/preset-react": "^7.0.0",
"@bunq-community/bunq-js-client": "^0.40.2",
"@babel/cli": "^7.7.7",
"@babel/core": "^7.7.7",
"@babel/plugin-proposal-class-properties": "^7.7.4",
"@babel/plugin-proposal-decorators": "^7.7.4",
"@babel/plugin-proposal-do-expressions": "^7.7.4",
"@babel/plugin-proposal-export-default-from": "^7.7.4",
"@babel/plugin-proposal-export-namespace-from": "^7.7.4",
"@babel/plugin-proposal-function-bind": "^7.7.4",
"@babel/plugin-proposal-function-sent": "^7.7.4",
"@babel/plugin-proposal-json-strings": "^7.7.4",
"@babel/plugin-proposal-logical-assignment-operators": "^7.7.4",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4",
"@babel/plugin-proposal-numeric-separator": "^7.7.4",
"@babel/plugin-proposal-optional-chaining": "^7.7.4",
"@babel/plugin-proposal-pipeline-operator": "^7.7.4",
"@babel/plugin-proposal-throw-expressions": "^7.7.4",
"@babel/plugin-syntax-dynamic-import": "^7.7.4",
"@babel/plugin-syntax-import-meta": "^7.7.4",
"@babel/plugin-transform-react-constant-elements": "^7.7.4",
"@babel/plugin-transform-react-inline-elements": "^7.7.4",
"@babel/plugin-transform-react-jsx-source": "^7.7.4",
"@babel/plugin-transform-runtime": "^7.7.4",
"@babel/preset-env": "^7.7.7",
"@babel/preset-react": "^7.7.4",
"@bunq-community/bunq-js-client": "^1.1.1",
"@bunq-community/bunqdesktop-templates": "^1.2.0",
"@fortawesome/fontawesome-free": "^5.2.0",
"@material-ui/core": "^3.9.2",
"@material-ui/icons": "^3.0.2",
"@material-ui/lab": "^3.0.0-alpha.30",
"@types/jest": "^24.0.9",
"@types/moxios": "^0.4.8",
"@types/node": "^11.10.5",
"@types/jest": "^24.0.25",
"@types/moxios": "^0.4.9",
"@types/node": "^13.1.4",
"@types/react-i18next": "^8.1.0",
"animate.css": "^3.7.0",
"animate.css": "^3.7.2",
"awaiting": "^3.0.0",
"axios": "^0.18.0",
"babel-loader": "^8.0.0",
"babel-plugin-dynamic-import-node": "^2.0.0",
"axios": "0.18.1",
"babel-loader": "^8.0.6",
"babel-plugin-dynamic-import-node": "^2.3.0",
"babel-plugin-react-html-attrs": "^2.1.0",
"babel-plugin-system-import-transformer": "^3.1.0",
"chart.js": "^2.7.2",
Expand All @@ -189,6 +190,7 @@
"dotenv": "^6.1.0",
"electron": "4.2.2",
"electron-builder": "^20.38.5",
"electron-devtools-installer": "^2.2.4",
"electron-reload": "^1.4.0",
"email-validator": "^1.1.1",
"enzyme": "^3.3.0",
Expand All @@ -212,7 +214,7 @@
"mocha": "^5.2.0",
"natives": "1.1.6",
"node-forge": "^0.7.5",
"node-sass": "^4.9.0",
"node-sass": "^4.13.1",
"prettier": "^1.14.2",
"prop-types": "^15.6.2",
"qrcode.react": "^0.8.0",
Expand All @@ -237,7 +239,6 @@
"react-windowed-list": "^2.0.0",
"redux": "^3.7.2",
"redux-form": "^7.4.2",
"redux-logger": "^3.0.6",
"redux-mock-store": "^1.5.1",
"redux-thunk": "^2.2.0",
"rollup": "^0.45.2",
Expand All @@ -254,9 +255,14 @@
"uglifyjs-webpack-plugin": "^1.3.0",
"universal-analytics": "^0.4.15",
"vcf": "^2.0.1",
"webpack": "4.19.0",
"webpack-bundle-analyzer": "^3.3.2",
"webpack-cli": "^3.1.0",
"webpack": "^4.41.5",
"webpack-bundle-analyzer": "^3.6.0",
"webpack-cli": "^3.3.10",
"worker-loader": "^2.0.0"
},
"engines": {
"node": ">=12.9.0",
"npm": ">=6.13.0",
"yarn": ">=1.19.0"
}
}
10 changes: 8 additions & 2 deletions src/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import registerTouchBar from "./helpers/touchbar";
import setupTrayIcon from "./helpers/tray";
import settingsHelper from "./helpers/settings";
import oauth from "./helpers/oauth";
import devTools from "./helpers/devtools";
import env from "./env";

// disable security warnings since we need cross-origin requests
Expand Down Expand Up @@ -88,7 +89,9 @@ log.transports.file.file = `${userDataPath}${path.sep}bunqDesktop.${env.name}.lo

// hot reloading
if (process.env.NODE_ENV === "development") {
require("electron-reload")(path.join(__dirname, `..${path.sep}app${path.sep}**`));
require("electron-reload")(path.join(__dirname, `..${path.sep}app${path.sep}**`), {
electron: path.join(__dirname, "../node_modules/electron")
});
}

// set the correct path before the app loads
Expand Down Expand Up @@ -124,7 +127,10 @@ app.on("ready", () => {
mainWindow.focus();

if (env.name === "development") {
mainWindow.openDevTools();
// Add React dev tools
devTools()
.catch(console.error)
.then(() => mainWindow.openDevTools());
}
});

Expand Down
6 changes: 6 additions & 0 deletions src/helpers/devtools.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default async () => {
const installExtension = require("electron-devtools-installer");
const { REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS } = installExtension;

await Promise.all([installExtension.default(REACT_DEVELOPER_TOOLS), installExtension.default(REDUX_DEVTOOLS)]);
};
10 changes: 5 additions & 5 deletions src/react/Actions/pay.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import BunqErrorHandler from "../Functions/BunqErrorHandler";
import { openSnackbar } from "./snackbar";
import { paymentInfoUpdate } from "./payments";
import { accountsUpdate } from "./accounts";
import { shareInviteBankInquiriesInfoUpdate } from "./share_invite_bank_inquiries";
import { shareInviteBankResponsesInfoUpdate } from "./share_invite_bank_responses";
import { shareInviteMonetaryAccountInquiriesInfoUpdate } from "./share_invite_monetary_account_inquiries";
import { shareInviteMonetaryAccountResponsesInfoUpdate } from "./share_invite_monetary_account_responses";

export function paySend(BunqJSClient, userId, accountId, description, amount, targets, draft = false) {
const failedMessage = window.t("We received the following error while sending your payment");
Expand Down Expand Up @@ -34,7 +34,7 @@ export function paySend(BunqJSClient, userId, accountId, description, amount, ta
dispatch(openSnackbar(notification));

// update the payments, accounts and share list
dispatch(shareInviteBankResponsesInfoUpdate(BunqJSClient, userId));
dispatch(shareInviteMonetaryAccountResponsesInfoUpdate(BunqJSClient, userId));
dispatch(accountsUpdate(BunqJSClient, userId));

dispatch(payNotLoading());
Expand Down Expand Up @@ -79,8 +79,8 @@ export function paySchedule(BunqJSClient, userId, accountId, description, amount

// update the payments, accounts and share list
dispatch(paymentInfoUpdate(BunqJSClient, userId, accountId));
dispatch(shareInviteBankInquiriesInfoUpdate(BunqJSClient, userId, accountId));
dispatch(shareInviteBankResponsesInfoUpdate(BunqJSClient, userId));
dispatch(shareInviteMonetaryAccountInquiriesInfoUpdate(BunqJSClient, userId, accountId));
dispatch(shareInviteMonetaryAccountResponsesInfoUpdate(BunqJSClient, userId));
dispatch(accountsUpdate(BunqJSClient, userId));

dispatch(payNotLoading());
Expand Down
6 changes: 3 additions & 3 deletions src/react/Actions/registration.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { loadStoredRequestInquiries } from "./request_inquiries";
import { loadStoredrequestInquiryBatches } from "./request_inquiry_batches";
import { loadStoredRequestResponses } from "./request_responses";
import { loadStoredContacts } from "./contacts";
import { loadStoredShareInviteBankResponses } from "./share_invite_bank_responses";
import { loadStoredShareInviteBankInquiries } from "./share_invite_bank_inquiries";
import { loadStoredShareInviteMonetaryAccountResponses } from "./share_invite_monetary_account_responses";
import { loadStoredShareInviteBankInquiries } from "./share_invite_monetary_account_inquiries";
import { loadPendingPayments } from "./pending_payments";
import { openSnackbar } from "./snackbar";

Expand Down Expand Up @@ -367,7 +367,7 @@ export function registrationLoadStoredData() {
dispatch(loadStoredRequestInquiries(BunqJSClient));
dispatch(loadStoredrequestInquiryBatches(BunqJSClient));
dispatch(loadStoredRequestResponses(BunqJSClient));
dispatch(loadStoredShareInviteBankResponses(BunqJSClient));
dispatch(loadStoredShareInviteMonetaryAccountResponses(BunqJSClient));
dispatch(loadStoredShareInviteBankInquiries(BunqJSClient));
};
}
Expand Down
Loading

0 comments on commit a1e9129

Please sign in to comment.