-
-#include "reportpublisher.h"
-
-const int MAIN_WINDOW_WIDTH = 1024;
-const int MAIN_WINDOW_HEIGHT = 768;
-const int INPUT_ARGUMENTS_COUNT = 6;
-
-const int MINIDUMP_FILE_PATH_ARG_INDEX = 1;
-const int CRASHED_EXECUTABLE_PATH_ARG_INDEX = 2;
-const int LOGS_PATH_INDEX = 5;
-
-int main(int argc, char **argv) {
-
- QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
-
- if (argc != INPUT_ARGUMENTS_COUNT) {
- return 1;
- }
-
- app.setApplicationName("Crash Report");
-
- ReportPublisher reportPublisher(argv[MINIDUMP_FILE_PATH_ARG_INDEX],
- argv[CRASHED_EXECUTABLE_PATH_ARG_INDEX],
- argv[LOGS_PATH_INDEX]);
-
- QQuickView view;
- view.rootContext()->setContextProperty("reportPublisher", &reportPublisher);
- view.setSource(QUrl("qrc:///main.qml"));
- view.setResizeMode(QQuickView::SizeRootObjectToView);
- view.resize(MAIN_WINDOW_WIDTH, MAIN_WINDOW_HEIGHT);
- view.show();
-
- return app.exec();
-}
diff --git a/desktop/reportApp/main.qml b/desktop/reportApp/main.qml
deleted file mode 100644
index 77880b45ab..0000000000
--- a/desktop/reportApp/main.qml
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-import QtQuick 2.4
-import QtQuick.Controls 2.2
-import QtQuick.Layouts 1.3
-
-Rectangle {
- id: root
- width: 384
- height: 640
-
- ColumnLayout {
- anchors.centerIn: parent
- Text {
- Layout.alignment: Qt.AlignCenter
- text: "Oh, no! Status application just crashed!"
- font.bold: true
- font.pointSize: 25
- }
- Text {
- Layout.alignment: Qt.AlignCenter
- Layout.topMargin: 20
- text: "Please report us crash.dmp and Status executable files to allow us fix the issue!"
- font.bold: true
- font.pointSize: 20
- }
- RowLayout {
- Layout.alignment: Qt.AlignCenter
- Layout.topMargin: 40
- spacing: 25
-
- Button {
- Layout.minimumWidth: 150
- text: "Report (highly appreciated)"
- onClicked: reportPublisher.submit()
- }
-
- Button {
- text: "Restart and Quit"
- onClicked: reportPublisher.restartAndQuit()
- }
-
- Button {
- text: "Just Quit"
- onClicked: reportPublisher.quit()
- }
- }
- RowLayout {
- Layout.alignment: Qt.AlignCenter
- Layout.topMargin: 100
-
- TextEdit {
- readOnly: true
- Layout.maximumWidth: 500
- wrapMode: TextEdit.Wrap
- selectByMouse: true
- font.pointSize: 12
- textFormat: TextEdit.RichText
- text: "Please upload both crash.dmp and Status executable files from the report directory:
" + reportPublisher.resolveDataStoragePath() + "
"
- }
-
- Button {
- text: "View"
- onClicked: reportPublisher.showDirectory()
- }
- }
- }
-}
-
diff --git a/desktop/reportApp/main.qrc b/desktop/reportApp/main.qrc
deleted file mode 100644
index 79babe091c..0000000000
--- a/desktop/reportApp/main.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- main.qml
-
-
diff --git a/desktop/reportApp/reportpublisher.cpp b/desktop/reportApp/reportpublisher.cpp
deleted file mode 100644
index 8eff462610..0000000000
--- a/desktop/reportApp/reportpublisher.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#include "reportpublisher.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-const QString REPORT_SUBMIT_URL =
- QStringLiteral("https://goo.gl/forms/0705ZN0EMW3xLDpI2");
-
-ReportPublisher::ReportPublisher(QString minidumpFilePath,
- QString crashedExecutablePath,
- QString logsPath, QObject *parent)
- : QObject(parent), m_minidumpFilePath(minidumpFilePath),
- m_logsPath(logsPath), m_crashedExecutablePath(crashedExecutablePath) {}
-
-void ReportPublisher::submit() {
- QDesktopServices::openUrl(QUrl(REPORT_SUBMIT_URL));
- showDirectory();
-}
-
-void ReportPublisher::restartAndQuit() {
- QString appPath = m_crashedExecutablePath;
-
-#if defined(Q_OS_MACOS) || defined(Q_OS_LINUX)
- QFileInfo crashedExecutableFileInfo(m_crashedExecutablePath);
- QString fullPath = crashedExecutableFileInfo.dir().absolutePath();
- #ifdef Q_OS_MACOS
- const QString bundleExtension = QStringLiteral(".app");
- const QString cmdTemplate = QStringLiteral("open \"%1\"");
- #else
- const QString bundleExtension = QStringLiteral(".AppImage");
- const QString cmdTemplate = QStringLiteral("\"%1\"");
- #endif
- if (fullPath.contains(bundleExtension)) {
- appPath = fullPath.left(fullPath.indexOf(bundleExtension) +
- bundleExtension.size());
- }
- QString cmd = QString(cmdTemplate).arg(appPath);
-#else
- QString cmd = QString("\"%1\"").arg(appPath);;
-#endif
-
- QProcess::startDetached(cmd);
-
- qApp->quit();
-}
-
-void ReportPublisher::quit() { qApp->quit(); }
-
-void ReportPublisher::showDirectory() {
- QString dataStoragePath = resolveDataStoragePath();
- if (!m_logFilesPrepared) {
- m_logFilesPrepared = prepareReportFiles(dataStoragePath);
- }
-
- QDesktopServices::openUrl(QUrl::fromLocalFile(dataStoragePath));
-}
-
-bool ReportPublisher::prepareReportFiles(QString reportDirPath) {
- QFileInfo minidumpFileInfo(m_minidumpFilePath);
- QFileInfo crashedExecutableFileInfo(m_crashedExecutablePath);
- if (!minidumpFileInfo.exists() || !crashedExecutableFileInfo.exists())
- return false;
-
- return QFile::copy(m_minidumpFilePath,
- reportDirPath + QDir::separator() + "crash.dmp") &&
- QFile::copy(m_crashedExecutablePath,
- reportDirPath + QDir::separator() +
- crashedExecutableFileInfo.fileName()) &&
- prepareLogFiles(reportDirPath);
-}
-
-bool ReportPublisher::prepareLogFiles(QString reportDirPath) {
- if (reportDirPath.isEmpty())
- return true;
-
- QDirIterator filesIterator(m_logsPath, QStringList() << "*.log", QDir::Files);
- while (filesIterator.hasNext()) {
- QFileInfo logFile(filesIterator.next());
- QFile::copy(logFile.absoluteFilePath(),
- reportDirPath + QDir::separator() + logFile.fileName());
- }
- return true;
-}
-
-QString ReportPublisher::resolveDataStoragePath() {
- QFileInfo minidumpFileInfo(m_minidumpFilePath);
- QString dataStoragePath =
- QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +
- QDir::separator() + minidumpFileInfo.baseName();
- QDir dir(dataStoragePath);
- if (!dir.exists()) {
- dir.mkpath(".");
- }
- return dir.path();
-}
diff --git a/desktop/reportApp/reportpublisher.h b/desktop/reportApp/reportpublisher.h
deleted file mode 100644
index 695dbd3445..0000000000
--- a/desktop/reportApp/reportpublisher.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#ifndef REPORTPUBLISHER
-#define REPORTPUBLISHER
-
-#include
-#include
-
-class ReportPublisher : public QObject {
- Q_OBJECT
-
-public:
- ReportPublisher(QString minidumpFilePath, QString crashedExecutablePath,
- QString logsPath, QObject *parent = 0);
-
- Q_INVOKABLE void submit();
- Q_INVOKABLE void restartAndQuit();
- Q_INVOKABLE void quit();
- Q_INVOKABLE void showDirectory();
- Q_INVOKABLE QString resolveDataStoragePath();
-
-private:
- bool prepareReportFiles(QString reportDirPath);
- bool prepareLogFiles(QString reportDirPath);
-
- QString m_minidumpFilePath;
- QString m_crashedExecutablePath;
- QString m_logsPath;
- bool m_logFilesPrepared = false;
-};
-
-#endif // REPORTPUBLISHER
diff --git a/desktop/resources/add.png b/desktop/resources/add.png
deleted file mode 100644
index 21b37f431d..0000000000
Binary files a/desktop/resources/add.png and /dev/null differ
diff --git a/desktop/resources/add_contact.png b/desktop/resources/add_contact.png
deleted file mode 100644
index b6dde36dd0..0000000000
Binary files a/desktop/resources/add_contact.png and /dev/null differ
diff --git a/desktop/resources/address.png b/desktop/resources/address.png
deleted file mode 100644
index c3bdccdc79..0000000000
Binary files a/desktop/resources/address.png and /dev/null differ
diff --git a/desktop/resources/arrow_left.png b/desktop/resources/arrow_left.png
deleted file mode 100644
index f44762016d..0000000000
Binary files a/desktop/resources/arrow_left.png and /dev/null differ
diff --git a/desktop/resources/arrow_right.png b/desktop/resources/arrow_right.png
deleted file mode 100644
index 673ef5572e..0000000000
Binary files a/desktop/resources/arrow_right.png and /dev/null differ
diff --git a/desktop/resources/arrow_up.png b/desktop/resources/arrow_up.png
deleted file mode 100644
index 41f9f45652..0000000000
Binary files a/desktop/resources/arrow_up.png and /dev/null differ
diff --git a/desktop/resources/back.png b/desktop/resources/back.png
deleted file mode 100644
index 874105736a..0000000000
Binary files a/desktop/resources/back.png and /dev/null differ
diff --git a/desktop/resources/backspace.png b/desktop/resources/backspace.png
deleted file mode 100644
index f412af1d03..0000000000
Binary files a/desktop/resources/backspace.png and /dev/null differ
diff --git a/desktop/resources/bell.png b/desktop/resources/bell.png
deleted file mode 100644
index 76ee86e868..0000000000
Binary files a/desktop/resources/bell.png and /dev/null differ
diff --git a/desktop/resources/browser.png b/desktop/resources/browser.png
deleted file mode 100644
index c9349a2005..0000000000
Binary files a/desktop/resources/browser.png and /dev/null differ
diff --git a/desktop/resources/camera.png b/desktop/resources/camera.png
deleted file mode 100644
index eae2bedfbf..0000000000
Binary files a/desktop/resources/camera.png and /dev/null differ
diff --git a/desktop/resources/cancel.png b/desktop/resources/cancel.png
deleted file mode 100644
index 89a4086f8c..0000000000
Binary files a/desktop/resources/cancel.png and /dev/null differ
diff --git a/desktop/resources/change.png b/desktop/resources/change.png
deleted file mode 100644
index 143002657f..0000000000
Binary files a/desktop/resources/change.png and /dev/null differ
diff --git a/desktop/resources/check.png b/desktop/resources/check.png
deleted file mode 100644
index acfb992f60..0000000000
Binary files a/desktop/resources/check.png and /dev/null differ
diff --git a/desktop/resources/close.png b/desktop/resources/close.png
deleted file mode 100644
index 65e1b4f735..0000000000
Binary files a/desktop/resources/close.png and /dev/null differ
diff --git a/desktop/resources/commands.png b/desktop/resources/commands.png
deleted file mode 100644
index 06d320983f..0000000000
Binary files a/desktop/resources/commands.png and /dev/null differ
diff --git a/desktop/resources/copy.png b/desktop/resources/copy.png
deleted file mode 100644
index 9c19da8d23..0000000000
Binary files a/desktop/resources/copy.png and /dev/null differ
diff --git a/desktop/resources/corner_left_bottom.png b/desktop/resources/corner_left_bottom.png
deleted file mode 100644
index 1c9c9b446d..0000000000
Binary files a/desktop/resources/corner_left_bottom.png and /dev/null differ
diff --git a/desktop/resources/corner_left_top.png b/desktop/resources/corner_left_top.png
deleted file mode 100644
index 1a0a4e57f8..0000000000
Binary files a/desktop/resources/corner_left_top.png and /dev/null differ
diff --git a/desktop/resources/corner_right_bottom.png b/desktop/resources/corner_right_bottom.png
deleted file mode 100644
index e6071d1ae1..0000000000
Binary files a/desktop/resources/corner_right_bottom.png and /dev/null differ
diff --git a/desktop/resources/corner_right_top.png b/desktop/resources/corner_right_top.png
deleted file mode 100644
index 6eaca3cd9a..0000000000
Binary files a/desktop/resources/corner_right_top.png and /dev/null differ
diff --git a/desktop/resources/dapp.png b/desktop/resources/dapp.png
deleted file mode 100644
index 8cd519e6b0..0000000000
Binary files a/desktop/resources/dapp.png and /dev/null differ
diff --git a/desktop/resources/delete.png b/desktop/resources/delete.png
deleted file mode 100644
index 5c5ed9404e..0000000000
Binary files a/desktop/resources/delete.png and /dev/null differ
diff --git a/desktop/resources/desktop.png b/desktop/resources/desktop.png
deleted file mode 100644
index 2b03362c96..0000000000
Binary files a/desktop/resources/desktop.png and /dev/null differ
diff --git a/desktop/resources/download.png b/desktop/resources/download.png
deleted file mode 100644
index 0da5eaa1cd..0000000000
Binary files a/desktop/resources/download.png and /dev/null differ
diff --git a/desktop/resources/dropdown.png b/desktop/resources/dropdown.png
deleted file mode 100644
index 228e20283e..0000000000
Binary files a/desktop/resources/dropdown.png and /dev/null differ
diff --git a/desktop/resources/dropdown_up.png b/desktop/resources/dropdown_up.png
deleted file mode 100644
index 23efec887e..0000000000
Binary files a/desktop/resources/dropdown_up.png and /dev/null differ
diff --git a/desktop/resources/edit.png b/desktop/resources/edit.png
deleted file mode 100644
index f2e54d497c..0000000000
Binary files a/desktop/resources/edit.png and /dev/null differ
diff --git a/desktop/resources/filter.png b/desktop/resources/filter.png
deleted file mode 100644
index 3c7985a3d9..0000000000
Binary files a/desktop/resources/filter.png and /dev/null differ
diff --git a/desktop/resources/fingerprint.png b/desktop/resources/fingerprint.png
deleted file mode 100644
index 17137fe969..0000000000
Binary files a/desktop/resources/fingerprint.png and /dev/null differ
diff --git a/desktop/resources/flash.png b/desktop/resources/flash.png
deleted file mode 100644
index d2486fa6c0..0000000000
Binary files a/desktop/resources/flash.png and /dev/null differ
diff --git a/desktop/resources/flash_active.png b/desktop/resources/flash_active.png
deleted file mode 100644
index 15bbb77c8e..0000000000
Binary files a/desktop/resources/flash_active.png and /dev/null differ
diff --git a/desktop/resources/group_chat.png b/desktop/resources/group_chat.png
deleted file mode 100644
index 27cf5107b3..0000000000
Binary files a/desktop/resources/group_chat.png and /dev/null differ
diff --git a/desktop/resources/help.png b/desktop/resources/help.png
deleted file mode 100644
index f0e3656711..0000000000
Binary files a/desktop/resources/help.png and /dev/null differ
diff --git a/desktop/resources/history.png b/desktop/resources/history.png
deleted file mode 100644
index c8e753b116..0000000000
Binary files a/desktop/resources/history.png and /dev/null differ
diff --git a/desktop/resources/home.png b/desktop/resources/home.png
deleted file mode 100644
index 19ddc6d532..0000000000
Binary files a/desktop/resources/home.png and /dev/null differ
diff --git a/desktop/resources/home_1.png b/desktop/resources/home_1.png
deleted file mode 100644
index afb65ba21e..0000000000
Binary files a/desktop/resources/home_1.png and /dev/null differ
diff --git a/desktop/resources/ic_background.png b/desktop/resources/ic_background.png
deleted file mode 100644
index 0265779ac7..0000000000
Binary files a/desktop/resources/ic_background.png and /dev/null differ
diff --git a/desktop/resources/ic_foreground.png b/desktop/resources/ic_foreground.png
deleted file mode 100644
index ef8ffe231a..0000000000
Binary files a/desktop/resources/ic_foreground.png and /dev/null differ
diff --git a/desktop/resources/ic_stat_status_notification.png b/desktop/resources/ic_stat_status_notification.png
deleted file mode 100755
index a040aa06c8..0000000000
Binary files a/desktop/resources/ic_stat_status_notification.png and /dev/null differ
diff --git a/desktop/resources/icon_action_back.png b/desktop/resources/icon_action_back.png
deleted file mode 100644
index 89db7e2986..0000000000
Binary files a/desktop/resources/icon_action_back.png and /dev/null differ
diff --git a/desktop/resources/icon_action_forward.png b/desktop/resources/icon_action_forward.png
deleted file mode 100644
index b8abf47c48..0000000000
Binary files a/desktop/resources/icon_action_forward.png and /dev/null differ
diff --git a/desktop/resources/icon_action_fullscreen_collapse.png b/desktop/resources/icon_action_fullscreen_collapse.png
deleted file mode 100644
index 8bc5016f2c..0000000000
Binary files a/desktop/resources/icon_action_fullscreen_collapse.png and /dev/null differ
diff --git a/desktop/resources/icon_action_fullscreen_expand.png b/desktop/resources/icon_action_fullscreen_expand.png
deleted file mode 100644
index d5b72bb768..0000000000
Binary files a/desktop/resources/icon_action_fullscreen_expand.png and /dev/null differ
diff --git a/desktop/resources/icon_arrow_top.png b/desktop/resources/icon_arrow_top.png
deleted file mode 100644
index 193fe2261d..0000000000
Binary files a/desktop/resources/icon_arrow_top.png and /dev/null differ
diff --git a/desktop/resources/icon_avatar.png b/desktop/resources/icon_avatar.png
deleted file mode 100644
index d28594fcf1..0000000000
Binary files a/desktop/resources/icon_avatar.png and /dev/null differ
diff --git a/desktop/resources/icon_check_on.png b/desktop/resources/icon_check_on.png
deleted file mode 100644
index d8318e7fcb..0000000000
Binary files a/desktop/resources/icon_check_on.png and /dev/null differ
diff --git a/desktop/resources/icon_close_light_gray.png b/desktop/resources/icon_close_light_gray.png
deleted file mode 100644
index 4b6d97ccef..0000000000
Binary files a/desktop/resources/icon_close_light_gray.png and /dev/null differ
diff --git a/desktop/resources/icon_forward_gray.png b/desktop/resources/icon_forward_gray.png
deleted file mode 100644
index 9b96935894..0000000000
Binary files a/desktop/resources/icon_forward_gray.png and /dev/null differ
diff --git a/desktop/resources/icon_lock_gray.png b/desktop/resources/icon_lock_gray.png
deleted file mode 100644
index 5e7c958046..0000000000
Binary files a/desktop/resources/icon_lock_gray.png and /dev/null differ
diff --git a/desktop/resources/icon_lock_white.png b/desktop/resources/icon_lock_white.png
deleted file mode 100644
index 700c8fdf81..0000000000
Binary files a/desktop/resources/icon_lock_white.png and /dev/null differ
diff --git a/desktop/resources/icon_menu_group.png b/desktop/resources/icon_menu_group.png
deleted file mode 100644
index 40e9b7dc41..0000000000
Binary files a/desktop/resources/icon_menu_group.png and /dev/null differ
diff --git a/desktop/resources/icon_money_white.png b/desktop/resources/icon_money_white.png
deleted file mode 100755
index 6510ff9c04..0000000000
Binary files a/desktop/resources/icon_money_white.png and /dev/null differ
diff --git a/desktop/resources/icon_muted.png b/desktop/resources/icon_muted.png
deleted file mode 100644
index 2c862042ba..0000000000
Binary files a/desktop/resources/icon_muted.png and /dev/null differ
diff --git a/desktop/resources/icon_notifications_on.png b/desktop/resources/icon_notifications_on.png
deleted file mode 100644
index 207cb4c16f..0000000000
Binary files a/desktop/resources/icon_notifications_on.png and /dev/null differ
diff --git a/desktop/resources/icon_phone_white.png b/desktop/resources/icon_phone_white.png
deleted file mode 100755
index d60a9ac7a2..0000000000
Binary files a/desktop/resources/icon_phone_white.png and /dev/null differ
diff --git a/desktop/resources/in_contacts.png b/desktop/resources/in_contacts.png
deleted file mode 100644
index 704533ffcc..0000000000
Binary files a/desktop/resources/in_contacts.png and /dev/null differ
diff --git a/desktop/resources/info.png b/desktop/resources/info.png
deleted file mode 100644
index 6d1080e39b..0000000000
Binary files a/desktop/resources/info.png and /dev/null differ
diff --git a/desktop/resources/keycard.png b/desktop/resources/keycard.png
deleted file mode 100644
index 8dc1c79dff..0000000000
Binary files a/desktop/resources/keycard.png and /dev/null differ
diff --git a/desktop/resources/keycard_logo.png b/desktop/resources/keycard_logo.png
deleted file mode 100644
index 0546b5458b..0000000000
Binary files a/desktop/resources/keycard_logo.png and /dev/null differ
diff --git a/desktop/resources/language.png b/desktop/resources/language.png
deleted file mode 100644
index 289bf5270f..0000000000
Binary files a/desktop/resources/language.png and /dev/null differ
diff --git a/desktop/resources/launch_logo.png b/desktop/resources/launch_logo.png
deleted file mode 100644
index b6252c8da3..0000000000
Binary files a/desktop/resources/launch_logo.png and /dev/null differ
diff --git a/desktop/resources/link.png b/desktop/resources/link.png
deleted file mode 100644
index 557c9bd19f..0000000000
Binary files a/desktop/resources/link.png and /dev/null differ
diff --git a/desktop/resources/log_out.png b/desktop/resources/log_out.png
deleted file mode 100644
index 370625beeb..0000000000
Binary files a/desktop/resources/log_out.png and /dev/null differ
diff --git a/desktop/resources/logo.png b/desktop/resources/logo.png
deleted file mode 100644
index f703708c1d..0000000000
Binary files a/desktop/resources/logo.png and /dev/null differ
diff --git a/desktop/resources/mailserver.png b/desktop/resources/mailserver.png
deleted file mode 100644
index 51389784c7..0000000000
Binary files a/desktop/resources/mailserver.png and /dev/null differ
diff --git a/desktop/resources/make_admin.png b/desktop/resources/make_admin.png
deleted file mode 100644
index b2d9b8ecdc..0000000000
Binary files a/desktop/resources/make_admin.png and /dev/null differ
diff --git a/desktop/resources/max.png b/desktop/resources/max.png
deleted file mode 100644
index 096b9a0b35..0000000000
Binary files a/desktop/resources/max.png and /dev/null differ
diff --git a/desktop/resources/message.png b/desktop/resources/message.png
deleted file mode 100644
index 74e7ef02a1..0000000000
Binary files a/desktop/resources/message.png and /dev/null differ
diff --git a/desktop/resources/mobile.png b/desktop/resources/mobile.png
deleted file mode 100644
index 0a8e141fab..0000000000
Binary files a/desktop/resources/mobile.png and /dev/null differ
diff --git a/desktop/resources/more.png b/desktop/resources/more.png
deleted file mode 100644
index d7acbc6758..0000000000
Binary files a/desktop/resources/more.png and /dev/null differ
diff --git a/desktop/resources/network.png b/desktop/resources/network.png
deleted file mode 100644
index 801c5fdc51..0000000000
Binary files a/desktop/resources/network.png and /dev/null differ
diff --git a/desktop/resources/next.png b/desktop/resources/next.png
deleted file mode 100644
index 9bb116be24..0000000000
Binary files a/desktop/resources/next.png and /dev/null differ
diff --git a/desktop/resources/notification.png b/desktop/resources/notification.png
deleted file mode 100644
index a0a02e2152..0000000000
Binary files a/desktop/resources/notification.png and /dev/null differ
diff --git a/desktop/resources/one_on_one_chat.png b/desktop/resources/one_on_one_chat.png
deleted file mode 100644
index b94487fe60..0000000000
Binary files a/desktop/resources/one_on_one_chat.png and /dev/null differ
diff --git a/desktop/resources/password.png b/desktop/resources/password.png
deleted file mode 100644
index e22a7f6f4e..0000000000
Binary files a/desktop/resources/password.png and /dev/null differ
diff --git a/desktop/resources/paste.png b/desktop/resources/paste.png
deleted file mode 100644
index fd13976457..0000000000
Binary files a/desktop/resources/paste.png and /dev/null differ
diff --git a/desktop/resources/photo.png b/desktop/resources/photo.png
deleted file mode 100644
index 762a6eae62..0000000000
Binary files a/desktop/resources/photo.png and /dev/null differ
diff --git a/desktop/resources/profile.png b/desktop/resources/profile.png
deleted file mode 100644
index 9fd1068266..0000000000
Binary files a/desktop/resources/profile.png and /dev/null differ
diff --git a/desktop/resources/public_chat.png b/desktop/resources/public_chat.png
deleted file mode 100644
index e1a7639071..0000000000
Binary files a/desktop/resources/public_chat.png and /dev/null differ
diff --git a/desktop/resources/qr.png b/desktop/resources/qr.png
deleted file mode 100644
index 2e03d17323..0000000000
Binary files a/desktop/resources/qr.png and /dev/null differ
diff --git a/desktop/resources/receive.png b/desktop/resources/receive.png
deleted file mode 100644
index 6b9a0c09ff..0000000000
Binary files a/desktop/resources/receive.png and /dev/null differ
diff --git a/desktop/resources/refresh.png b/desktop/resources/refresh.png
deleted file mode 100644
index 533559c3dc..0000000000
Binary files a/desktop/resources/refresh.png and /dev/null differ
diff --git a/desktop/resources/remove_contact.png b/desktop/resources/remove_contact.png
deleted file mode 100644
index f801fd89f3..0000000000
Binary files a/desktop/resources/remove_contact.png and /dev/null differ
diff --git a/desktop/resources/reply.png b/desktop/resources/reply.png
deleted file mode 100644
index 144b8512eb..0000000000
Binary files a/desktop/resources/reply.png and /dev/null differ
diff --git a/desktop/resources/rotate_camera.png b/desktop/resources/rotate_camera.png
deleted file mode 100644
index 9e59fd9207..0000000000
Binary files a/desktop/resources/rotate_camera.png and /dev/null differ
diff --git a/desktop/resources/search.png b/desktop/resources/search.png
deleted file mode 100644
index 14ad5a0adf..0000000000
Binary files a/desktop/resources/search.png and /dev/null differ
diff --git a/desktop/resources/security.png b/desktop/resources/security.png
deleted file mode 100644
index 6cc34a5634..0000000000
Binary files a/desktop/resources/security.png and /dev/null differ
diff --git a/desktop/resources/send.png b/desktop/resources/send.png
deleted file mode 100644
index 565006f41b..0000000000
Binary files a/desktop/resources/send.png and /dev/null differ
diff --git a/desktop/resources/settings.png b/desktop/resources/settings.png
deleted file mode 100644
index 3d1d718f74..0000000000
Binary files a/desktop/resources/settings.png and /dev/null differ
diff --git a/desktop/resources/settings_advanced.png b/desktop/resources/settings_advanced.png
deleted file mode 100644
index f7ac1c697a..0000000000
Binary files a/desktop/resources/settings_advanced.png and /dev/null differ
diff --git a/desktop/resources/share.png b/desktop/resources/share.png
deleted file mode 100644
index f70ab8f28b..0000000000
Binary files a/desktop/resources/share.png and /dev/null differ
diff --git a/desktop/resources/stickers.png b/desktop/resources/stickers.png
deleted file mode 100644
index 63acc9b8bd..0000000000
Binary files a/desktop/resources/stickers.png and /dev/null differ
diff --git a/desktop/resources/text.png b/desktop/resources/text.png
deleted file mode 100644
index cab051f138..0000000000
Binary files a/desktop/resources/text.png and /dev/null differ
diff --git a/desktop/resources/tiny_arrow_down.png b/desktop/resources/tiny_arrow_down.png
deleted file mode 100644
index 51ee3d99f8..0000000000
Binary files a/desktop/resources/tiny_arrow_down.png and /dev/null differ
diff --git a/desktop/resources/tiny_check.png b/desktop/resources/tiny_check.png
deleted file mode 100644
index 0f33ab5cd0..0000000000
Binary files a/desktop/resources/tiny_check.png and /dev/null differ
diff --git a/desktop/resources/tiny_clear.png b/desktop/resources/tiny_clear.png
deleted file mode 100644
index b047208c4b..0000000000
Binary files a/desktop/resources/tiny_clear.png and /dev/null differ
diff --git a/desktop/resources/tiny_edit.png b/desktop/resources/tiny_edit.png
deleted file mode 100644
index 60851f1aa8..0000000000
Binary files a/desktop/resources/tiny_edit.png and /dev/null differ
diff --git a/desktop/resources/tiny_external.png b/desktop/resources/tiny_external.png
deleted file mode 100644
index 8a6956b60b..0000000000
Binary files a/desktop/resources/tiny_external.png and /dev/null differ
diff --git a/desktop/resources/tiny_group.png b/desktop/resources/tiny_group.png
deleted file mode 100644
index 9b2a355e1f..0000000000
Binary files a/desktop/resources/tiny_group.png and /dev/null differ
diff --git a/desktop/resources/tiny_lock.png b/desktop/resources/tiny_lock.png
deleted file mode 100644
index 842deab5a3..0000000000
Binary files a/desktop/resources/tiny_lock.png and /dev/null differ
diff --git a/desktop/resources/tiny_lock_broken.png b/desktop/resources/tiny_lock_broken.png
deleted file mode 100644
index c1a89d012c..0000000000
Binary files a/desktop/resources/tiny_lock_broken.png and /dev/null differ
diff --git a/desktop/resources/tiny_new_contact.png b/desktop/resources/tiny_new_contact.png
deleted file mode 100644
index fc273529cd..0000000000
Binary files a/desktop/resources/tiny_new_contact.png and /dev/null differ
diff --git a/desktop/resources/tiny_pending.png b/desktop/resources/tiny_pending.png
deleted file mode 100644
index 912c8ac449..0000000000
Binary files a/desktop/resources/tiny_pending.png and /dev/null differ
diff --git a/desktop/resources/tiny_public.png b/desktop/resources/tiny_public.png
deleted file mode 100644
index b763156f1b..0000000000
Binary files a/desktop/resources/tiny_public.png and /dev/null differ
diff --git a/desktop/resources/tiny_settings.png b/desktop/resources/tiny_settings.png
deleted file mode 100644
index 52d1b24362..0000000000
Binary files a/desktop/resources/tiny_settings.png and /dev/null differ
diff --git a/desktop/resources/tiny_tribute_to_talk.png b/desktop/resources/tiny_tribute_to_talk.png
deleted file mode 100644
index a4f970e105..0000000000
Binary files a/desktop/resources/tiny_tribute_to_talk.png and /dev/null differ
diff --git a/desktop/resources/tribute_to_talk.png b/desktop/resources/tribute_to_talk.png
deleted file mode 100644
index 8bb9575d92..0000000000
Binary files a/desktop/resources/tribute_to_talk.png and /dev/null differ
diff --git a/desktop/resources/two_arrows.png b/desktop/resources/two_arrows.png
deleted file mode 100644
index 7b561d1748..0000000000
Binary files a/desktop/resources/two_arrows.png and /dev/null differ
diff --git a/desktop/resources/user_profile.png b/desktop/resources/user_profile.png
deleted file mode 100644
index 2035b00663..0000000000
Binary files a/desktop/resources/user_profile.png and /dev/null differ
diff --git a/desktop/resources/user_profile_1.png b/desktop/resources/user_profile_1.png
deleted file mode 100644
index 2035b00663..0000000000
Binary files a/desktop/resources/user_profile_1.png and /dev/null differ
diff --git a/desktop/resources/username.png b/desktop/resources/username.png
deleted file mode 100644
index 819ea7d3e3..0000000000
Binary files a/desktop/resources/username.png and /dev/null differ
diff --git a/desktop/resources/wallet.png b/desktop/resources/wallet.png
deleted file mode 100644
index 99d2618ff4..0000000000
Binary files a/desktop/resources/wallet.png and /dev/null differ
diff --git a/desktop/resources/warning.png b/desktop/resources/warning.png
deleted file mode 100644
index 05f8a6db8a..0000000000
Binary files a/desktop/resources/warning.png and /dev/null differ
diff --git a/desktop/run-app.bat.in b/desktop/run-app.bat.in
deleted file mode 100644
index f4dc903d55..0000000000
--- a/desktop/run-app.bat.in
+++ /dev/null
@@ -1,11 +0,0 @@
-@rem Copyright (c) 2017-present, Status Research and Development GmbH.
-@rem All rights reserved.
-@rem
-@rem This source code is licensed under the BSD-style license found in the
-@rem LICENSE file in the root directory of this source tree. An additional grant
-@rem of patent rights can be found in the PATENTS file in the same directory.
-
-
-@rem Run app locally
-@CMAKE_BINARY_DIR@/bin/@APP_NAME@
-
diff --git a/desktop/run-app.sh.in b/desktop/run-app.sh.in
deleted file mode 100755
index 02bae1ad28..0000000000
--- a/desktop/run-app.sh.in
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright (C) 2016, Canonical Ltd.
-# All rights reserved.
-
-# This source code is licensed under the BSD-style license found in the
-# LICENSE file in the root directory of this source tree. An additional grant
-# of patent rights can be found in the PATENTS file in the same directory.
-
-args=""
-on_device=0
-plugins_path=""
-asset_path="share"
-executor=""
-
-# Parse args
-for arg in "$@"
-do
- IFS="=" read -a parts <<< "$arg"
- if [[ $parts == "--on-device" ]]; then
- on_device=1
- elif [[ $parts == "--plugins-path" ]]; then
- plugins_path=${parts[1]}
- args=$args" --plugins-path=./plugins"
- elif [[ $parts == "--asset-path" ]]; then
- asset_path=${parts[1]}
- elif [[ $parts == "--executor" ]]; then
- if [[ $on_device == 1 ]]; then
- # Force net executor for now
- executor="ReactNetExecutor"
- else
- executor=${parts[1]}
- fi
- args=$args" --executor=$executor"
- else
- args=$args" $parts"
- fi
-done
-
-# Handle defaults
-if [[ -z "$executor" ]]; then
- if [[ $on_device == 1 ]]; then
- executor="ReactNetExecutor"
- args=$args" --executor=ReactNetExecutor"
- fi
-
- # The RN application selects pipe executor by default
-fi
-
-# For net case, try and run executor; it is probably OK if this fails - it's
-# just running elsewhere
-if [[ "$executor" == "ReactNetExecutor" ]]; then
- (node @CMAKE_BINARY_DIR@/bin/ubuntu-server.js 2>&1 > /dev/null) &
-fi
-
-if [[ $on_device == 1 ]]; then
- app_path="/home/phablet/@APP_NAME@"
-
-# Push binaries
- adb push @CMAKE_BINARY_DIR@/bin/@APP_NAME@ "$app_path/@APP_NAME@"
- [ -d "$plugins_path" ] && adb push "$plugins_path" "$app_path/plugins/"
- [ -d "$asset_path" ] && adb push "$asset_path" "$app_path/share/"
-# adb reverse --no-rebind tcp:8081 tcp:808
-
-# Run app on device
- react_host=`hostname -I`
-
- adb shell "cd $app_path && REACT_SERVER_HOST=$react_host ./@APP_NAME@ --host $react_host $args -- --desktop_file_hint=/usr/share/applications/webbrowser-app.desktop"
-else
-# Run app locally
- # Note: Needed to add QT_XCB_GL_INTEGRATION=none when migrating to Nix, since running the app in debug mode inside Nix shell was failing at run time with "qt.glx: qglx_findConfig: Failed to finding matching FBConfig (1 1 1 0)\nCould not initialize GLX"
- QT_XCB_GL_INTEGRATION=none @CMAKE_BINARY_DIR@/bin/@APP_NAME@ $args
-fi
-
diff --git a/fiddle/src/status_im/react_native/js_dependencies.cljs b/fiddle/src/status_im/react_native/js_dependencies.cljs
index 396d9f3e8f..ec4e430d4e 100644
--- a/fiddle/src/status_im/react_native/js_dependencies.cljs
+++ b/fiddle/src/status_im/react_native/js_dependencies.cljs
@@ -25,9 +25,6 @@
(def svg (fn [] #js {:default #js {}}))
(def status-keycard (fn [] #js {:default #js {}}))
-(def desktop-linking #js {:addEventListener (fn [])})
-(def desktop-shortcuts #js {:addEventListener (fn [])})
-
(def snoopy (fn [] #js {:default #js {}}))
(def snoopy-filter (fn [] #js {:default #js {}}))
(def snoopy-bars (fn [] #js {:default #js {}}))
@@ -42,7 +39,5 @@
(def keychain (fn [] #js {:setGenericPassword (constantly (.resolve js/Promise true))}))
(def react-navigation #js {:NavigationActions #js {}})
-(def desktop-menu #js {})
-(def desktop-config #js {})
(def react-native-mail (fn [] #js {:mail #js {}}))
(def react-native-navigation-twopane #js {})
diff --git a/fiddle/src/status_im/ui/components/react.cljs b/fiddle/src/status_im/ui/components/react.cljs
index 5acae7d96b..bfeda454ac 100644
--- a/fiddle/src/status_im/ui/components/react.cljs
+++ b/fiddle/src/status_im/ui/components/react.cljs
@@ -92,7 +92,6 @@
(def dimensions nil)
(def keyboard nil)
(def linking nil)
-(def desktop-notification nil)
(def max-font-size-multiplier 1.25)
diff --git a/mobile/js_files/metro.config.js b/metro.config.js
similarity index 100%
rename from mobile/js_files/metro.config.js
rename to metro.config.js
diff --git a/modules/react-native-desktop-config/desktop/CMakeLists.txt b/modules/react-native-desktop-config/desktop/CMakeLists.txt
deleted file mode 100644
index cd4aa2e5c4..0000000000
--- a/modules/react-native-desktop-config/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"DesktopConfig\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/desktopconfig.cpp PARENT_SCOPE)
diff --git a/modules/react-native-desktop-config/desktop/desktopconfig.cpp b/modules/react-native-desktop-config/desktop/desktopconfig.cpp
deleted file mode 100644
index 392f851200..0000000000
--- a/modules/react-native-desktop-config/desktop/desktopconfig.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "desktopconfig.h"
-#include "bridge.h"
-
-#include
-#include
-#include "../../../desktop/appconfig.h"
-
-Q_LOGGING_CATEGORY(DESKTOPCONFIG, "DesktopConfig")
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-} // namespace
-
-
-DesktopConfig::DesktopConfig(QObject *parent)
- : QObject(parent) {
-}
-
-DesktopConfig::~DesktopConfig() {
-}
-
-void DesktopConfig::setBridge(Bridge *bridge) {
- this->bridge = bridge;
-}
-
-QString DesktopConfig::moduleName() { return "DesktopConfigManager"; }
-
-QList DesktopConfig::methodsToExport() {
- return QList{};
-}
-
-QVariantMap DesktopConfig::constantsToExport() { return QVariantMap(); }
-
-void DesktopConfig::getValue(const QString& name, double callback) {
- //qCDebug(DESKTOPCONFIG) << "### getValue" << name;
- bridge->invokePromiseCallback(callback, QVariantList{AppConfig::inst().getValue(name)});
-}
-
-void DesktopConfig::setValue(const QString& name, const QVariant& value) {
- //qCDebug(DESKTOPCONFIG) << "### setValue" << name << ": " << value;
- AppConfig::inst().setValue(name, value);
-}
-
-
diff --git a/modules/react-native-desktop-config/desktop/desktopconfig.h b/modules/react-native-desktop-config/desktop/desktopconfig.h
deleted file mode 100644
index e027076956..0000000000
--- a/modules/react-native-desktop-config/desktop/desktopconfig.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef DESKTOPCONFIG_H
-#define DESKTOPCONFIG_H
-
-#include "moduleinterface.h"
-#include
-#include
-
-Q_DECLARE_LOGGING_CATEGORY(CONFIG)
-
-class Bridge;
-class DesktopConfig : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
-public:
- Q_INVOKABLE DesktopConfig(QObject* parent = 0);
- virtual ~DesktopConfig();
-
- void setBridge(Bridge* bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
- Q_INVOKABLE void getValue(const QString& name, double callback);
- Q_INVOKABLE void setValue(const QString& name, const QVariant& value);
-
-private:
- Bridge* bridge = nullptr;
-};
-
-#endif // DESKTOPCONFIG_H
diff --git a/modules/react-native-desktop-config/index.js b/modules/react-native-desktop-config/index.js
deleted file mode 100644
index 90ed0275a3..0000000000
--- a/modules/react-native-desktop-config/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-
-const NativeModules = require('react-native').NativeModules;
-
-class DesktopConfig {
-
- static getValue(name, callbackFn) {
- NativeModules.DesktopConfigManager.getValue(name, callbackFn);
- }
-
- static setValue(name, value) {
- NativeModules.DesktopConfigManager.setValue(name, value);
-
- }
-}
-
-module.exports = DesktopConfig;
diff --git a/modules/react-native-desktop-config/package.json b/modules/react-native-desktop-config/package.json
deleted file mode 100644
index 17f2bd9e9a..0000000000
--- a/modules/react-native-desktop-config/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "private": true,
- "nativePackage": true,
- "name": "react-native-desktop-config",
- "version": "1.0.0",
- "description": "Configuration backend for Desktop",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": ""
-}
diff --git a/modules/react-native-desktop-gesture-handler/desktop/CMakeLists.txt b/modules/react-native-desktop-gesture-handler/desktop/CMakeLists.txt
deleted file mode 100644
index 2524fde7ff..0000000000
--- a/modules/react-native-desktop-gesture-handler/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"GestureHandlerModule\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/gesturehandlermodule.cpp PARENT_SCOPE)
-
-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
diff --git a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.cpp b/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.cpp
deleted file mode 100644
index a594a2dace..0000000000
--- a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#include "gesturehandlermodule.h"
-#include "bridge.h"
-#include "eventdispatcher.h"
-
-#include
-#include
-#include
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-} // namespace
-
-
-class GestureHandlerModulePrivate {
-public:
- Bridge* bridge = nullptr;
-};
-
-GestureHandlerModule::GestureHandlerModule(QObject* parent) : QObject(parent), d_ptr(new GestureHandlerModulePrivate) {}
-
-GestureHandlerModule::~GestureHandlerModule() {}
-
-void GestureHandlerModule::setBridge(Bridge* bridge) {
- Q_D(GestureHandlerModule);
- d->bridge = bridge;
-}
-
-QString GestureHandlerModule::moduleName() {
- return "RNGestureHandlerModule";
-}
-
-QList GestureHandlerModule::methodsToExport() {
- return QList{};
-}
-
-QVariantMap GestureHandlerModule::constantsToExport() {
- Q_D(GestureHandlerModule);
-
- QVariantMap directionValues{{"RIGHT", 1}, {"LEFT", 2}, {"UP", 4}, {"DOWN", 8}};
-
- // QRect screenGeometry = screen->geometry();
- // QVariantMap screenValues{{"fontScale", 8},
- // {"width", screenGeometry.width()},
- // {"height", screenGeometry.height()},
- // {"scale", screen->devicePixelRatio()}};
-
- // QVariantMap values{{"screen", screenValues}, {"window", windowValues}};
-
- return QVariantMap{{"Direction", directionValues}};
-}
-
-void GestureHandlerModule::handleSetJSResponder(int viewTag, void* blockNativeResponder) {}
-
-void GestureHandlerModule::handleClearJSResponder() {}
-
-void GestureHandlerModule::createGestureHandler(const QString& handlerName, int handlerTag, void* config) {}
-void GestureHandlerModule::attachGestureHandler(int handlerTag, int viewTag) {}
-void GestureHandlerModule::updateGestureHandler(int handlerTag, void* config) {}
-void GestureHandlerModule::dropGestureHandler(int handlerTag) {}
diff --git a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.h b/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.h
deleted file mode 100644
index 0d0d2c32a2..0000000000
--- a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#ifndef GESTUREHANDLER_H
-#define GESTUREHANDLER_H
-
-#include "moduleinterface.h"
-
-#include
-
-class GestureHandlerModulePrivate;
-class GestureHandlerModule : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
- Q_DECLARE_PRIVATE(GestureHandlerModule)
-
-public:
- Q_INVOKABLE GestureHandlerModule(QObject* parent = 0);
- ~GestureHandlerModule();
-
- void setBridge(Bridge* bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
- Q_INVOKABLE void handleSetJSResponder(int viewTag, void* blockNativeResponder);
- Q_INVOKABLE void handleClearJSResponder();
- Q_INVOKABLE void createGestureHandler(const QString& handlerName, int handlerTag, void* config);
- Q_INVOKABLE void attachGestureHandler(int handlerTag, int viewTag);
- Q_INVOKABLE void updateGestureHandler(int handlerTag, void* config);
- Q_INVOKABLE void dropGestureHandler(int handlerTag);
-
-
-private:
- QScopedPointer d_ptr;
-};
-
-#endif // GESTUREHANDLER_H
diff --git a/modules/react-native-desktop-gesture-handler/index.js b/modules/react-native-desktop-gesture-handler/index.js
deleted file mode 100644
index 82276071aa..0000000000
--- a/modules/react-native-desktop-gesture-handler/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict';
-
-var RNGestureHandlerModule = require('react-native').NativeModules.RNGestureHandlerModule;
-
-module.exports = RNGestureHandlerModule;
diff --git a/modules/react-native-desktop-gesture-handler/package.json b/modules/react-native-desktop-gesture-handler/package.json
deleted file mode 100644
index 11d321c131..0000000000
--- a/modules/react-native-desktop-gesture-handler/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "private": true,
- "nativePackage": true,
- "name": "react-native-desktop-gesture-handler",
- "version": "1.0.0",
- "description": "Mock for react-native-gesture-handler package",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": ""
-}
diff --git a/modules/react-native-desktop-linking/desktop/CMakeLists.txt b/modules/react-native-desktop-linking/desktop/CMakeLists.txt
deleted file mode 100644
index 1d917eb236..0000000000
--- a/modules/react-native-desktop-linking/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"DesktopLinking\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/desktoplinking.cpp PARENT_SCOPE)
-
-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
\ No newline at end of file
diff --git a/modules/react-native-desktop-linking/desktop/desktoplinking.cpp b/modules/react-native-desktop-linking/desktop/desktoplinking.cpp
deleted file mode 100644
index 4a64442728..0000000000
--- a/modules/react-native-desktop-linking/desktop/desktoplinking.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "desktoplinking.h"
-#include "bridge.h"
-#include "eventdispatcher.h"
-
-#include
-#include
-#include
-#include
-#include
-
-Q_LOGGING_CATEGORY(LINKING, "RCTLinking")
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-} // namespace
-
-class DesktopLinkingPrivate {
-public:
- Bridge *bridge = nullptr;
-};
-
-DesktopLinking::DesktopLinking(QObject *parent)
- : QObject(parent), d_ptr(new DesktopLinkingPrivate) {
-
- QCoreApplication::instance()->installEventFilter(this);
- connect(this, &DesktopLinking::urlOpened, this, &DesktopLinking::handleURL);
-}
-
-DesktopLinking::~DesktopLinking() {
-}
-
-void DesktopLinking::setBridge(Bridge *bridge) {
- Q_D(DesktopLinking);
- d->bridge = bridge;
-}
-
-QString DesktopLinking::moduleName() { return "DesktopLinking"; }
-
-QList DesktopLinking::methodsToExport() {
- return QList{};
-}
-
-QVariantMap DesktopLinking::constantsToExport() { return QVariantMap(); }
-
-void DesktopLinking::handleURL(const QString url) {
- Q_D(DesktopLinking);
- qCDebug(LINKING) << "::handleURL - path:" << url;
- d->bridge->eventDispatcher()->sendDeviceEvent("urlOpened", QVariantMap{{"url", url}});
-}
-
-bool DesktopLinking::eventFilter(QObject* obj, QEvent* event) {
- if (event->type() == QEvent::FileOpen)
- {
- QFileOpenEvent* fileEvent = static_cast(event);
- if (!fileEvent->url().isEmpty())
- {
- auto m_lastUrl = fileEvent->url().toString();
- emit urlOpened(m_lastUrl);
- }
- else if (!fileEvent->file().isEmpty())
- {
- emit fileOpened(fileEvent->file());
- }
-
- return false;
- }
- else
- {
- // standard event processing
- return QObject::eventFilter(obj, event);
- }
-}
\ No newline at end of file
diff --git a/modules/react-native-desktop-linking/desktop/desktoplinking.h b/modules/react-native-desktop-linking/desktop/desktoplinking.h
deleted file mode 100644
index 461e792efe..0000000000
--- a/modules/react-native-desktop-linking/desktop/desktoplinking.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef DESKTOPLINKING_H
-#define DESKTOPLINKING_H
-
-#include "moduleinterface.h"
-
-#include
-#include
-
-Q_DECLARE_LOGGING_CATEGORY(LINKING)
-
-class DesktopLinkingPrivate;
-class DesktopLinking : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
- Q_DECLARE_PRIVATE(DesktopLinking)
-
-public:
- Q_INVOKABLE DesktopLinking(QObject* parent = 0);
- ~DesktopLinking();
-
- void setBridge(Bridge* bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
-signals:
- void urlOpened(QString path);
- void fileOpened(QString path);
-
-public slots:
- void handleURL(const QString url);
-
-private:
- QScopedPointer d_ptr;
- bool eventFilter(QObject* obj, QEvent* event) override;
-
-};
-
-#endif // DESKTOPLINKING_H
diff --git a/modules/react-native-desktop-linking/index.js b/modules/react-native-desktop-linking/index.js
deleted file mode 100644
index 6e2dd3735c..0000000000
--- a/modules/react-native-desktop-linking/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-
-const NativeModules = require('NativeModules');
-module.exports = NativeModules.DesktopLinking;
\ No newline at end of file
diff --git a/modules/react-native-desktop-linking/package.json b/modules/react-native-desktop-linking/package.json
deleted file mode 100644
index dbc4fcdf72..0000000000
--- a/modules/react-native-desktop-linking/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "private": true,
- "nativePackage": true,
- "name": "react-native-desktop-linking",
- "version": "1.0.0",
- "description": "Handle status-im:// links",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": ""
-}
\ No newline at end of file
diff --git a/modules/react-native-desktop-menu/desktop/CMakeLists.txt b/modules/react-native-desktop-menu/desktop/CMakeLists.txt
deleted file mode 100644
index f031325742..0000000000
--- a/modules/react-native-desktop-menu/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"DesktopMenu\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/desktopmenu.cpp PARENT_SCOPE)
-
-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
diff --git a/modules/react-native-desktop-menu/desktop/desktopmenu.cpp b/modules/react-native-desktop-menu/desktop/desktopmenu.cpp
deleted file mode 100644
index e0c99c029d..0000000000
--- a/modules/react-native-desktop-menu/desktop/desktopmenu.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#include "desktopmenu.h"
-#include "bridge.h"
-
-#include
-#include
-#include
-#include
-
-Q_LOGGING_CATEGORY(DESKTOPMENU, "DesktopMenu")
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-} // namespace
-
-class DesktopMenuPrivate {
-public:
- Bridge *bridge = nullptr;
- void createMenu(const QStringList& items, double callback);
-private:
- void onTriggered(QAction* action);
-};
-
-void DesktopMenuPrivate::createMenu(const QStringList& items, double callback) {
- QMenu* menu = new QMenu();
- for (const QString& name : items) {
- menu->addAction(name);
- }
- QObject::connect(menu, &QMenu::triggered, [=](QAction* action) {
- bridge->invokePromiseCallback(callback, QVariantList{action->text()});
- });
- QObject::connect(menu, &QMenu::triggered, menu, &QMenu::deleteLater);
- menu->popup(QCursor::pos());
-}
-
-DesktopMenu::DesktopMenu(QObject *parent)
- : QObject(parent), d_ptr(new DesktopMenuPrivate) {
-}
-
-DesktopMenu::~DesktopMenu() {
-}
-
-void DesktopMenu::setBridge(Bridge *bridge) {
- Q_D(DesktopMenu);
-
- d->bridge = bridge;
-}
-
-QString DesktopMenu::moduleName() { return "DesktopMenuManager"; }
-
-QList DesktopMenu::methodsToExport() {
- return QList{};
-}
-
-QVariantMap DesktopMenu::constantsToExport() { return QVariantMap(); }
-
-void DesktopMenu::show(const QStringList& items, double callback) {
- Q_D(DesktopMenu);
- d_ptr->createMenu(items, callback);
-
-}
-
-
diff --git a/modules/react-native-desktop-menu/desktop/desktopmenu.h b/modules/react-native-desktop-menu/desktop/desktopmenu.h
deleted file mode 100644
index dff2fddbc6..0000000000
--- a/modules/react-native-desktop-menu/desktop/desktopmenu.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef DESKTOPMENU_H
-#define DESKTOPMENU_H
-
-#include "moduleinterface.h"
-
-#include
-#include
-
-Q_DECLARE_LOGGING_CATEGORY(MENU)
-
-class DesktopMenuPrivate;
-class DesktopMenu : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
- Q_DECLARE_PRIVATE(DesktopMenu)
-
-public:
- Q_INVOKABLE DesktopMenu(QObject* parent = 0);
- virtual ~DesktopMenu();
-
- void setBridge(Bridge* bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
- Q_INVOKABLE void show(const QStringList& items, double callback);
-
-private:
- QScopedPointer d_ptr;
-};
-
-#endif // DESKTOPMENU_H
diff --git a/modules/react-native-desktop-menu/index.js b/modules/react-native-desktop-menu/index.js
deleted file mode 100644
index fbc69bea6b..0000000000
--- a/modules/react-native-desktop-menu/index.js
+++ /dev/null
@@ -1,29 +0,0 @@
-'use strict';
-
-type MenuItems = Array<{
- text?: string,
- onPress?: ?Function,
-}>;
-
-const NativeModules = require('react-native').NativeModules;
-
-class DesktopMenu {
-
- static show(
- menuItems?: MenuItems
- ): void {
- var itemNames = menuItems.map(i => i.text);
- var itemMap = new Map();
- for (let i = 0; i < menuItems.length; ++i) {
- itemMap.set(menuItems[i].text, menuItems[i].onPress);
- }
- NativeModules.DesktopMenuManager.show(
- itemNames,
- (name) => {
- (itemMap.get(name))();
- }
- );
- }
-}
-
-module.exports = DesktopMenu;
diff --git a/modules/react-native-desktop-menu/package.json b/modules/react-native-desktop-menu/package.json
deleted file mode 100644
index 7fe2fbee49..0000000000
--- a/modules/react-native-desktop-menu/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "private": true,
- "nativePackage": true,
- "name": "react-native-desktop-menu",
- "version": "1.0.0",
- "description": "Native popup and context menus for Desktop",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": ""
-}
diff --git a/modules/react-native-desktop-notification/desktop/CMakeLists.txt b/modules/react-native-desktop-notification/desktop/CMakeLists.txt
deleted file mode 100644
index 8b90fb2a3e..0000000000
--- a/modules/react-native-desktop-notification/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"DesktopNotification\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/desktopnotification.cpp PARENT_SCOPE)
-
-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
-
-set(SN_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/SnoreNotify_ep-prefix/src/SnoreNotify_ep)
-if (WIN32)
- set(SnoreNotifyWindowsToast_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_windowstoast${CMAKE_STATIC_LIBRARY_SUFFIX})
-
- set(SnoreNotify_LIBS ${SnoreNotifyWindowsToast_STATIC_LIB})
-
- set(SnoreNotify_CMAKE_ARGS -DMINGW=1 -DBUILD_osxnotificationcenter=OFF -DBUILD_sound=OFF -DBUILD_speech=OFF -DBUILD_toasty=OFF
- -DBUILD_freedesktop_backend=OFF -DBUILD_snarl=OFF -DBUILD_growl=OFF -DBUILD_trayicon=OFF -DBUILD_pushover_backend=OFF)
-endif()
-
-set(SN_LIBPATHSUFFIX /${CMAKE_LIBRARY_ARCHITECTURE})
-if (UNIX AND NOT APPLE)
- set(SnoreNotifyFreedesktop_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_freedesktop${CMAKE_STATIC_LIBRARY_SUFFIX})
-
- set(SnoreNotify_LIBS ${SnoreNotifyFreedesktop_STATIC_LIB})
-
- set(SnoreNotify_CMAKE_ARGS -DBUILD_osxnotificationcenter=OFF -DBUILD_sound=OFF -DBUILD_speech=OFF -DBUILD_toasty=OFF
- -DBUILD_snarl=OFF -DBUILD_growl=OFF -DBUILD_trayicon=OFF -DBUILD_pushover_backend=OFF)
-endif()
-
-if (APPLE)
- set(SnoreNotifyOSXNotificationCenter_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_osxnotificationcenter${CMAKE_STATIC_LIBRARY_SUFFIX})
- set(SnoreNotify_LIBS ${SnoreNotifyOSXNotificationCenter_STATIC_LIB})
- set(SnoreNotify_CMAKE_ARGS -DBUILD_sound=OFF -DBUILD_speech=OFF -DBUILD_toasty=OFF -DBUILD_snarl=OFF -DBUILD_growl=OFF
- -DBUILD_freedesktop_backend=OFF -DBUILD_trayicon=OFF -DBUILD_pushover_backend=OFF)
-endif()
-
-set(SnoreNotify_INCLUDE_DIR ${SN_PREFIX}/include)
-set(SnoreNotify_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore-qt5${CMAKE_STATIC_LIBRARY_SUFFIX})
-set(SnoreNotifyBackend_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_snore${CMAKE_STATIC_LIBRARY_SUFFIX})
-set(SnoreNotifyBackendSettings_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_settings_backend_snore${CMAKE_STATIC_LIBRARY_SUFFIX})
-set(SnoreNotifySettings_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snoresettings-qt5${CMAKE_STATIC_LIBRARY_SUFFIX})
-set(SnoreNotify_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${SN_PREFIX} -DCMAKE_INSTALL_LIBDIR=lib${SN_LIBPATHSUFFIX}
- -DSNORE_STATIC=ON -DBUILD_daemon=OFF -DBUILD_settings=OFF
- -DBUILD_snoresend=OFF ${SnoreNotify_CMAKE_ARGS})
-set(SnoreNotify_CMAKE_ARGS ${SnoreNotify_CMAKE_ARGS}
- "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
- "-DCMAKE_C_COMPILER_AR=${CMAKE_C_COMPILER_AR}"
- "-DCMAKE_C_COMPILER_RANLIB=${CMAKE_C_COMPILER_RANLIB}"
- "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
- "-DCMAKE_CXX_COMPILER_AR=${CMAKE_CXX_COMPILER_AR}"
- "-DCMAKE_CXX_COMPILER_RANLIB=${CMAKE_CXX_COMPILER_RANLIB}"
- "-DCMAKE_LINKER=${CMAKE_LINKER}")
-if (CMAKE_CROSSCOMPILING)
- set(SnoreNotify_CMAKE_ARGS ${SnoreNotify_CMAKE_ARGS}
- "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}"
- "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
- "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
- "-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}"
- # These are only useful if you're cross-compiling.
- # They, however, will not hurt regardless.
- "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}"
- "-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}"
- "-DCMAKE_AR=${CMAKE_AR}"
- "-DCMAKE_RC_COMPILER=${CMAKE_RC_COMPILER}"
- "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}"
- "-DCMAKE_COMPILER_PREFIX=${CMAKE_COMPILER_PREFIX}"
- "-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}")
-endif()
-
-ExternalProject_Add(SnoreNotify_ep
- URL $ENV{SNORENOTIFY_SOURCES} # The source is defined in /nix/desktop/macos/snorenotify/default.nix
- CMAKE_ARGS ${SnoreNotify_CMAKE_ARGS}
- BUILD_BYPRODUCTS ${SnoreNotify_STATIC_LIB} ${SnoreNotify_LIBS} ${SnoreNotifyBackend_STATIC_LIB}
- ${SnoreNotifyBackendSettings_STATIC_LIB} ${SnoreNotifySettings_STATIC_LIB}
-)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS ${REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS} SnoreNotify_ep PARENT_SCOPE)
-
-if (APPLE)
- set(SNORENOTIFY_DEPS_LIBS "-framework Cocoa")
-endif()
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS}
- ${SnoreNotify_LIBS} ${SnoreNotify_STATIC_LIB} ${SnoreNotifyBackend_STATIC_LIB}
- ${SnoreNotifyBackendSettings_STATIC_LIB} ${SnoreNotifySettings_STATIC_LIB} ${SNORENOTIFY_DEPS_LIBS} PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS}
- ${SnoreNotify_INCLUDE_DIR} PARENT_SCOPE)
-
diff --git a/modules/react-native-desktop-notification/desktop/desktopnotification.cpp b/modules/react-native-desktop-notification/desktop/desktopnotification.cpp
deleted file mode 100644
index a2d2984841..0000000000
--- a/modules/react-native-desktop-notification/desktop/desktopnotification.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#include "desktopnotification.h"
-#include "bridge.h"
-#include "eventdispatcher.h"
-
-#include "libsnore/application.h"
-#include "libsnore/snore.h"
-
-#ifdef Q_OS_MAC
-#include "libsnore/snore_static_plugins.h"
-#endif
-
-#include
-#include
-
-Q_LOGGING_CATEGORY(NOTIFICATION, "RCTNotification")
-
-#if defined(Q_OS_LINUX) || defined(Q_OS_WIN)
-namespace SnorePlugin {}
-
-
-using namespace SnorePlugin;
-#if defined(Q_OS_LINUX)
-Q_IMPORT_PLUGIN(Freedesktop)
-#elif defined(Q_OS_WIN)
-Q_IMPORT_PLUGIN(WindowsToast)
-#endif
-Q_IMPORT_PLUGIN(Snore)
-
-static void loadSnoreResources()
-{
- // prevent multiple symbols
- static const auto load = []() {
- Q_INIT_RESOURCE(snore);
- Q_INIT_RESOURCE(snore_notification);
- };
- load();
-}
-
-Q_COREAPP_STARTUP_FUNCTION(loadSnoreResources)
-#endif // defined(Q_OS_LINUX) || defined(Q_OS_WIN)
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-
-const QString NewMessageAlert = QStringLiteral("NewMessage");
-} // namespace
-
-class DesktopNotificationPrivate {
-public:
- Bridge *bridge = nullptr;
- Snore::Application snoreApp;
-};
-
-DesktopNotification::DesktopNotification(QObject *parent)
- : QObject(parent), d_ptr(new DesktopNotificationPrivate) {
- connect(qApp, &QGuiApplication::focusWindowChanged, this, [=](QWindow *focusWindow){
- m_appHasFocus = (focusWindow != nullptr);
- });
-
- if (Snore::SnoreCore::instance().pluginNames().isEmpty()) {
- Snore::SnoreCore::instance().loadPlugins(Snore::SnorePlugin::Backend);
- }
-
- qCDebug(NOTIFICATION) << "DesktopNotification::DesktopNotification List of all loaded Snore plugins:"
- << Snore::SnoreCore::instance().pluginNames();
-
- Snore::Icon icon(":/icon.png");
- d_ptr->snoreApp = Snore::Application(QCoreApplication::applicationName(), icon);
- d_ptr->snoreApp.hints().setValue("windows-app-id", "StatusIm.Status.Desktop.1");
- d_ptr->snoreApp.addAlert(Snore::Alert(NewMessageAlert, icon));
-
- Snore::SnoreCore::instance().registerApplication(d_ptr->snoreApp);
- Snore::SnoreCore::instance().setDefaultApplication(d_ptr->snoreApp);
-
- qCDebug(NOTIFICATION) << "DesktopNotification::DesktopNotification Current notification backend:"
- << Snore::SnoreCore::instance().primaryNotificationBackend();
-}
-
-DesktopNotification::~DesktopNotification() {
- Snore::SnoreCore::instance().deregisterApplication(d_ptr->snoreApp);
-}
-
-void DesktopNotification::setBridge(Bridge *bridge) {
- Q_D(DesktopNotification);
- d->bridge = bridge;
-}
-
-QString DesktopNotification::moduleName() { return "DesktopNotification"; }
-
-QList DesktopNotification::methodsToExport() {
- return QList{};
-}
-
-QVariantMap DesktopNotification::constantsToExport() { return QVariantMap(); }
-
-void DesktopNotification::displayNotification(QString title, QString body, bool prioritary) {
- Q_D(DesktopNotification);
- qCDebug(NOTIFICATION) << "::displayNotification";
-
- if (m_appHasFocus) {
- qCDebug(NOTIFICATION) << "Not displaying notification since an application window is active";
- return;
- }
-
- Snore::Notification notification(
- d_ptr->snoreApp, d_ptr->snoreApp.alerts()[NewMessageAlert], title,
- body, Snore::Icon::defaultIcon(),
- prioritary ? Snore::Notification::Prioritys::High : Snore::Notification::Prioritys::Normal);
- Snore::SnoreCore::instance().broadcastNotification(notification);
-}
-
-void DesktopNotification::setDockBadgeLabel(const QString label) {
- Snore::SnoreCore::instance().setDockBadgeLabel(label);
-}
diff --git a/modules/react-native-desktop-notification/desktop/desktopnotification.h b/modules/react-native-desktop-notification/desktop/desktopnotification.h
deleted file mode 100644
index ae928256b7..0000000000
--- a/modules/react-native-desktop-notification/desktop/desktopnotification.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#ifndef DESKTOPNOTIFICATION_H
-#define DESKTOPNOTIFICATION_H
-
-#include "moduleinterface.h"
-
-#include
-#include
-
-Q_DECLARE_LOGGING_CATEGORY(NOTIFICATION)
-
-class DesktopNotificationPrivate;
-class DesktopNotification : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
- Q_DECLARE_PRIVATE(DesktopNotification)
-
-public:
- Q_INVOKABLE DesktopNotification(QObject* parent = 0);
- ~DesktopNotification();
-
- void setBridge(Bridge* bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
- Q_INVOKABLE void displayNotification(QString title, QString body, bool prioritary);
- Q_INVOKABLE void setDockBadgeLabel(const QString label);
-private:
- QScopedPointer d_ptr;
- bool m_appHasFocus = false;
-};
-
-#endif // DESKTOPNOTIFICATION_H
diff --git a/modules/react-native-desktop-notification/index.js b/modules/react-native-desktop-notification/index.js
deleted file mode 100644
index fd66bbfe8a..0000000000
--- a/modules/react-native-desktop-notification/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-
-import { NativeModules } from 'react-native';
-module.exports = NativeModules.DesktopNotification;
diff --git a/modules/react-native-desktop-notification/package.json b/modules/react-native-desktop-notification/package.json
deleted file mode 100644
index 5d5ea1d175..0000000000
--- a/modules/react-native-desktop-notification/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "private": true,
- "nativePackage": true,
- "name": "react-native-desktop-notification",
- "version": "1.0.0",
- "description": "Send desktop notifications",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": ""
-}
\ No newline at end of file
diff --git a/modules/react-native-desktop-shortcuts/desktop/CMakeLists.txt b/modules/react-native-desktop-shortcuts/desktop/CMakeLists.txt
deleted file mode 100644
index 7d7cd958bf..0000000000
--- a/modules/react-native-desktop-shortcuts/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"DesktopShortcuts\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/desktopshortcuts.cpp PARENT_SCOPE)
-
-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
diff --git a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.cpp b/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.cpp
deleted file mode 100644
index 8b4a63dbb4..0000000000
--- a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#include "desktopshortcuts.h"
-#include "bridge.h"
-
-#include "eventdispatcher.h"
-#include
-#include
-#include
-#include
-#include
-
-Q_LOGGING_CATEGORY(DESKTOPSHORTCUTS, "DesktopShortcuts")
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-} // namespace
-
-DesktopShortcuts::DesktopShortcuts(QObject *parent)
- : QObject(parent) {
- QCoreApplication::instance()->installEventFilter(this);
- connect(this, &DesktopShortcuts::shortcutInvoked, this, &DesktopShortcuts::onShortcutInvoked);
-}
-
-DesktopShortcuts::~DesktopShortcuts() {
-}
-
-void DesktopShortcuts::setBridge(Bridge *bridge) {
- this->bridge = bridge;
-}
-
-QString DesktopShortcuts::moduleName() { return "DesktopShortcutsManager"; }
-
-QList DesktopShortcuts::methodsToExport() {
- return QList{};
-}
-
-QVariantMap DesktopShortcuts::constantsToExport() { return QVariantMap(); }
-
-void DesktopShortcuts::registerShortcuts(const QStringList& shortcuts) {
- //qCDebug(DESKTOPSHORTCUTS) << "registerShortcuts" << shortcuts << " " << shortcuts.size();
- this->registeredShortcuts = shortcuts;
-}
-
-bool DesktopShortcuts::eventFilter(QObject* obj, QEvent* event) {
- if (event->type() == QEvent::KeyPress) {
- QKeyEvent* ke = static_cast(event);
-
- QString modifier;
-
- if (ke->modifiers() & Qt::ShiftModifier) {
- modifier += "Shift+";
- }
- if (ke->modifiers() & Qt::ControlModifier) {
- modifier += "Ctrl+";
- }
- if (ke->modifiers() & Qt::AltModifier) {
- modifier += "Alt+";
- }
- if (ke->modifiers() & Qt::MetaModifier) {
- modifier += "Meta+";
- }
- QString key = QKeySequence(ke->key()).toString();
-
- //qCDebug(DESKTOPSHORTCUTS) << "### arrow " << key;
- if (registeredShortcuts.contains(modifier+key)) {
- emit shortcutInvoked(modifier+key);
- return true;
- }
- else {
- return false;
- }
- }
- else {
- return QObject::eventFilter(obj, event);
- }
-}
-
-void DesktopShortcuts::onShortcutInvoked(const QString& shortcut) {
- //qCDebug(DESKTOPSHORTCUTS) << "onShortcutInvoked " << shortcut << " " << registeredShortcuts.size();
- bridge->eventDispatcher()->sendDeviceEvent("shortcutInvoked", QVariantList{shortcut});
-}
-
diff --git a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.h b/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.h
deleted file mode 100644
index 58cfb95635..0000000000
--- a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef DESKTOPSHORTCUTS_H
-#define DESKTOPSHORTCUTS_H
-
-#include "moduleinterface.h"
-
-#include
-#include
-
-Q_DECLARE_LOGGING_CATEGORY(SHORTCUTS)
-
-class DesktopShortcutsPrivate;
-class DesktopShortcuts : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
-public:
- Q_INVOKABLE DesktopShortcuts(QObject* parent = 0);
- virtual ~DesktopShortcuts();
-
- void setBridge(Bridge* bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
- Q_INVOKABLE void registerShortcuts(const QStringList& shortcuts);
-
-signals:
- void shortcutInvoked(const QString& shortcut);
-
-public slots:
- void onShortcutInvoked(const QString& shortcut);
-
-private:
- Bridge* bridge;
-
- QStringList registeredShortcuts;
- bool eventFilter(QObject* obj, QEvent* event) override;
-};
-
-#endif // DESKTOPSHORTCUTS_H
diff --git a/modules/react-native-desktop-shortcuts/index.js b/modules/react-native-desktop-shortcuts/index.js
deleted file mode 100644
index 06a0f56fda..0000000000
--- a/modules/react-native-desktop-shortcuts/index.js
+++ /dev/null
@@ -1,44 +0,0 @@
-'use strict';
-
-const NativeModules = require('react-native').NativeModules;
-const NativeEventEmitter = require('react-native').NativeEventEmitter;
-
-type Shortcuts = Array<{
- shortcut?: string,
- onPress?: ?Function,
-}>;
-
-class DesktopShortcuts {
- constructor() {
- this.shortcuts = new Map();
- this.eventEmitter = new NativeEventEmitter(NativeModules.DesktopShortcutsManager);
- this.eventEmitter.addListener('shortcutInvoked', this.handleShortcut.bind(this));
- }
-
- handleShortcut(shortcut) {
- var fn;// = this.shortcuts.get(shortcut);
- for (var [key, value] of this.shortcuts) {
- if (shortcut == key) {
- fn = value;
- break;
- }
- }
- if (fn) {
- fn();
- };
- }
-
- register(shortcuts: Shortcuts): void {
- //console.log('### register(shortcuts)' + JSON.stringify(shortcuts));
- this.shortcuts = new Map();
-
- var shortcutKeys = shortcuts.map(s => s.shortcut);
- for (let i = 0; i < shortcuts.length; ++i) {
- this.shortcuts.set(shortcuts[i].shortcut, shortcuts[i].onPress);
- }
-
- NativeModules.DesktopShortcutsManager.registerShortcuts(shortcutKeys);
- }
-}
-
-module.exports = new DesktopShortcuts();
diff --git a/modules/react-native-desktop-shortcuts/package.json b/modules/react-native-desktop-shortcuts/package.json
deleted file mode 100644
index 75bf6363e7..0000000000
--- a/modules/react-native-desktop-shortcuts/package.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "private": true,
- "nativePackage": true,
- "name": "react-native-desktop-shortcuts",
- "version": "1.0.0",
- "description": "App-global keyboard shortcuts for Desktop",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "author": "",
- "license": ""
-}
diff --git a/modules/react-native-status/desktop/CMakeLists.txt b/modules/react-native-status/desktop/CMakeLists.txt
deleted file mode 100755
index 2ae6ae6475..0000000000
--- a/modules/react-native-status/desktop/CMakeLists.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
-
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR})
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES}
- \"RCTStatus\" PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC}
- ${CMAKE_CURRENT_SOURCE_DIR}/rctstatus.cpp PARENT_SCOPE)
-
-if (WIN32)
- #
- # Right now we only build status-go from source for Windows, since that needs to be cross-compiled with the toolchain in Conan
- #
- include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
- include(JSONParser.cmake)
-
- find_package(Go REQUIRED)
-
- set(versionJSONFilePath "../../../status-go-version.json")
- file(READ ${versionJSONFilePath} versionJSON)
- sbeParseJson(json versionJSON)
- set(owner ${json.owner})
- if(NOT owner)
- set(owner "status-im")
- message(WARNING "Repository owner name missing from ${versionJSONFilePath}, defaulting to ${owner}")
- endif()
- set(version ${json.version})
- if(NOT version)
- message(FATAL_ERROR "Version name missing from ${versionJSONFilePath}")
- endif()
- if($ENV{STATUS_GO_SRC_OVERRIDE})
- message(INFO "CMake: Using local version of status-go from $ENV{STATUS_GO_SRC_OVERRIDE}")
- set(commit "unknown") # This value is defined in https://github.com/status-im/status-react/blob/develop/nix/status-go/default.nix, in `srcData.shortRev`
- else()
- set(commit ${json.commit-sha1})
- endif()
- if(NOT commit)
- message(FATAL_ERROR "Commit SHA1 missing from ${versionJSONFilePath}")
- endif()
-
- if (CUSTOM_STATUSGO_BUILD_DIR_PATH)
- set(StatusGo_ROOT ${CUSTOM_STATUSGO_BUILD_DIR_PATH})
- else()
- set(StatusGo_ROOT "${CMAKE_CURRENT_BINARY_DIR}/StatusGo")
- endif()
- set(StatusGo_PREFIX "${StatusGo_ROOT}/src/github.com/${owner}")
- set(StatusGo_SOURCE_DIR "${StatusGo_PREFIX}/status-go")
- set(StatusGo_INCLUDE_DIR "${StatusGo_SOURCE_DIR}/build/bin")
- set(StatusGo_STATIC_LIB
- "${StatusGo_SOURCE_DIR}/build/bin/${CMAKE_STATIC_LIBRARY_PREFIX}status${CMAKE_STATIC_LIBRARY_SUFFIX}")
-
- include_directories(${StatusGo_INCLUDE_DIR})
-
- set(CONFIGURE_SCRIPT build-status-go.sh)
-
- ExternalProject_Add(StatusGo_ep
- PREFIX ${StatusGo_PREFIX}
- SOURCE_DIR ${StatusGo_SOURCE_DIR}
- URL https://status-go.ams3.digitaloceanspaces.com/status-go-desktop-${version}.zip
- https://github.com/${owner}/status-go/archive/${commit}.zip
- BUILD_BYPRODUCTS ${StatusGo_STATIC_LIB}
- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${CONFIGURE_SCRIPT} ${CMAKE_SYSTEM_NAME} ${GO_ROOT_PATH} ${StatusGo_ROOT} ${StatusGo_SOURCE_DIR} ${CMAKE_C_COMPILER} ${CMAKE_CXX_COMPILER}
- BUILD_COMMAND ""
- INSTALL_COMMAND ""
- )
-
- set(REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS ${REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS} StatusGo_ep PARENT_SCOPE)
-else (WIN32)
- # For Linux and Darwin just use the Nix build of status-go
- set(StatusGo_INCLUDE_DIR $ENV{STATUS_GO_DESKTOP_INCLUDEDIR})
- if (APPLE)
- set(StatusGo_PLATFORM "x86_64-darwin")
- else()
- set(StatusGo_PLATFORM "x86_64-linux")
- endif()
- set(StatusGo_STATIC_LIB
- "$ENV{STATUS_GO_DESKTOP_LIBDIR}/${StatusGo_PLATFORM}/${CMAKE_STATIC_LIBRARY_PREFIX}status${CMAKE_STATIC_LIBRARY_SUFFIX}")
-
- include_directories(${StatusGo_INCLUDE_DIR})
-
- message(STATUS "StatusGo_STATIC_LIB=${StatusGo_STATIC_LIB}")
- message(STATUS "StatusGo_INCLUDE_DIR=${StatusGo_INCLUDE_DIR}")
-endif (WIN32)
-
-if (APPLE)
- set(STATUSGO_DEPS_LIBS "-framework Foundation"
- "-framework CoreServices"
- "-framework IOKit"
- "-framework Security" pthread)
-elseif (WIN32)
- set(STATUSGO_DEPS_LIBS -lwinmm -lws2_32 -lsetupapi)
-else()
- set(STATUSGO_DEPS_LIBS pthread)
-endif()
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS}
- ${StatusGo_STATIC_LIB} ${STATUSGO_DEPS_LIBS} PARENT_SCOPE)
-
-set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS}
- ${StatusGo_INCLUDE_DIR} PARENT_SCOPE)
diff --git a/modules/react-native-status/desktop/FindGo.cmake b/modules/react-native-status/desktop/FindGo.cmake
deleted file mode 100644
index 96de42dd88..0000000000
--- a/modules/react-native-status/desktop/FindGo.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# The module defines the following variables:
-# GO_FOUND - true if the Go was found
-# GO_EXECUTABLE - path to the executable
-# GO_VERSION - Go version number
-# GO_PLATFORM - i.e. linux
-# GO_ARCH - i.e. amd64
-# Example usage:
-# find_package(Go 1.2 REQUIRED)
-
-
-find_program(GO_EXECUTABLE go PATHS ENV GOROOT GOPATH GOBIN PATH_SUFFIXES bin)
-if (GO_EXECUTABLE)
- get_filename_component(GO_ROOT_PATH ${GO_EXECUTABLE} REALPATH)
- get_filename_component(GO_ROOT_PATH ${GO_ROOT_PATH}/../.. REALPATH)
- message(STATUS "GO_ROOT_PATH is set to: ${GO_ROOT_PATH}")
- execute_process(COMMAND ${GO_EXECUTABLE} version OUTPUT_VARIABLE GO_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(GO_VERSION_OUTPUT MATCHES "go([0-9]+\\.[0-9]+\\.?[0-9]*)[a-zA-Z0-9]* ([^/]+)/(.*)")
- set(GO_VERSION ${CMAKE_MATCH_1})
- set(GO_PLATFORM ${CMAKE_MATCH_2})
- set(GO_ARCH ${CMAKE_MATCH_3})
- elseif(GO_VERSION_OUTPUT MATCHES "go version devel .* ([^/]+)/(.*)$")
- set(GO_VERSION "99-devel")
- set(GO_PLATFORM ${CMAKE_MATCH_1})
- set(GO_ARCH ${CMAKE_MATCH_2})
- message("WARNING: Development version of Go being used, can't determine compatibility.")
- endif()
-endif()
-mark_as_advanced(GO_EXECUTABLE)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Go REQUIRED_VARS GO_EXECUTABLE GO_VERSION GO_PLATFORM GO_ARCH VERSION_VAR GO_VERSION)
\ No newline at end of file
diff --git a/modules/react-native-status/desktop/JSONParser.cmake b/modules/react-native-status/desktop/JSONParser.cmake
deleted file mode 100644
index 5fc130ffa4..0000000000
--- a/modules/react-native-status/desktop/JSONParser.cmake
+++ /dev/null
@@ -1,300 +0,0 @@
-# https://github.com/sbellus/json-cmake/blob/master/JSONParser.cmake
-
-cmake_minimum_required(VERSION 3.1)
-
-if (DEFINED JSonParserGuard)
- return()
-endif()
-
-set(JSonParserGuard yes)
-
-macro(sbeParseJson prefix jsonString)
- cmake_policy(PUSH)
-
- set(json_string "${${jsonString}}")
- string(LENGTH "${json_string}" json_jsonLen)
- set(json_index 0)
- set(json_AllVariables ${prefix})
- set(json_ArrayNestingLevel 0)
- set(json_MaxArrayNestingLevel 0)
-
- _sbeParse(${prefix})
-
- unset(json_index)
- unset(json_AllVariables)
- unset(json_jsonLen)
- unset(json_string)
- unset(json_value)
- unset(json_inValue)
- unset(json_name)
- unset(json_inName)
- unset(json_newPrefix)
- unset(json_reservedWord)
- unset(json_arrayIndex)
- unset(json_char)
- unset(json_end)
- unset(json_ArrayNestingLevel)
- foreach(json_nestingLevel RANGE ${json_MaxArrayNestingLevel})
- unset(json_${json_nestingLevel}_arrayIndex)
- endforeach()
- unset(json_nestingLevel)
- unset(json_MaxArrayNestingLevel)
-
- cmake_policy(POP)
-endmacro()
-
-macro(sbeClearJson prefix)
- foreach(json_var ${${prefix}})
- unset(${json_var})
- endforeach()
-
- unset(${prefix})
- unset(json_var)
-endmacro()
-
-macro(sbePrintJson prefix)
- foreach(json_var ${${prefix}})
- message("${json_var} = ${${json_var}}")
- endforeach()
-endmacro()
-
-macro(_sbeParse prefix)
-
- while(${json_index} LESS ${json_jsonLen})
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- if("\"" STREQUAL "${json_char}")
- _sbeParseNameValue(${prefix})
- elseif("{" STREQUAL "${json_char}")
- _sbeMoveToNextNonEmptyCharacter()
- _sbeParseObject(${prefix})
- elseif("[" STREQUAL "${json_char}")
- _sbeMoveToNextNonEmptyCharacter()
- _sbeParseArray(${prefix})
- endif()
-
- if(${json_index} LESS ${json_jsonLen})
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
- else()
- break()
- endif()
-
- if ("}" STREQUAL "${json_char}" OR "]" STREQUAL "${json_char}")
- break()
- endif()
-
- _sbeMoveToNextNonEmptyCharacter()
- endwhile()
-endmacro()
-
-macro(_sbeParseNameValue prefix)
- set(json_name "")
- set(json_inName no)
-
- while(${json_index} LESS ${json_jsonLen})
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- # check if name ends
- if("\"" STREQUAL "${json_char}" AND json_inName)
- set(json_inName no)
- _sbeMoveToNextNonEmptyCharacter()
- if(NOT ${json_index} LESS ${json_jsonLen})
- break()
- endif()
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
- set(json_newPrefix ${prefix}.${json_name})
- set(json_name "")
-
- if(":" STREQUAL "${json_char}")
- _sbeMoveToNextNonEmptyCharacter()
- if(NOT ${json_index} LESS ${json_jsonLen})
- break()
- endif()
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- if("\"" STREQUAL "${json_char}")
- _sbeParseValue(${json_newPrefix})
- break()
- elseif("{" STREQUAL "${json_char}")
- _sbeMoveToNextNonEmptyCharacter()
- _sbeParseObject(${json_newPrefix})
- break()
- elseif("[" STREQUAL "${json_char}")
- _sbeMoveToNextNonEmptyCharacter()
- _sbeParseArray(${json_newPrefix})
- break()
- else()
- # reserved word starts
- _sbeParseReservedWord(${json_newPrefix})
- break()
- endif()
- else()
- # name without value
- list(APPEND ${json_AllVariables} ${json_newPrefix})
- set(${json_newPrefix} "")
- break()
- endif()
- endif()
-
- if(json_inName)
- # remove escapes
- if("\\" STREQUAL "${json_char}")
- math(EXPR json_index "${json_index} + 1")
- if(NOT ${json_index} LESS ${json_jsonLen})
- break()
- endif()
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
- endif()
-
- set(json_name "${json_name}${json_char}")
- endif()
-
- # check if name starts
- if("\"" STREQUAL "${json_char}" AND NOT json_inName)
- set(json_inName yes)
- endif()
-
- _sbeMoveToNextNonEmptyCharacter()
- endwhile()
-endmacro()
-
-macro(_sbeParseReservedWord prefix)
- set(json_reservedWord "")
- set(json_end no)
- while(${json_index} LESS ${json_jsonLen} AND NOT json_end)
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- if("," STREQUAL "${json_char}" OR "}" STREQUAL "${json_char}" OR "]" STREQUAL "${json_char}")
- set(json_end yes)
- else()
- set(json_reservedWord "${json_reservedWord}${json_char}")
- math(EXPR json_index "${json_index} + 1")
- endif()
- endwhile()
-
- list(APPEND ${json_AllVariables} ${prefix})
- string(STRIP "${json_reservedWord}" json_reservedWord)
- set(${prefix} ${json_reservedWord})
-endmacro()
-
-macro(_sbeParseValue prefix)
- cmake_policy(SET CMP0054 NEW) # turn off implicit expansions in if statement
-
- set(json_value "")
- set(json_inValue no)
-
- while(${json_index} LESS ${json_jsonLen})
- # fast path for copying strings
- if (json_inValue)
- # attempt to gobble up to 128 bytes of string
- string(SUBSTRING "${json_string}" ${json_index} 128 try_gobble)
- # consume a piece of string we can just straight copy before encountering \ or "
- string(REGEX MATCH "^[^\"\\\\]+" simple_copy "${try_gobble}")
- string(CONCAT json_value "${json_value}" "${simple_copy}")
- string(LENGTH "${simple_copy}" copy_length)
- math(EXPR json_index "${json_index} + ${copy_length}")
- endif()
-
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- # check if json_value ends, it is ended by "
- if("\"" STREQUAL "${json_char}" AND json_inValue)
- set(json_inValue no)
-
- set(${prefix} ${json_value})
- list(APPEND ${json_AllVariables} ${prefix})
- _sbeMoveToNextNonEmptyCharacter()
- break()
- endif()
-
- if(json_inValue)
- # if " is escaped consume
- if("\\" STREQUAL "${json_char}")
- math(EXPR json_index "${json_index} + 1")
- if(NOT ${json_index} LESS ${json_jsonLen})
- break()
- endif()
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
- if(NOT "\"" STREQUAL "${json_char}")
- # if it is not " then copy also escape character
- set(json_char "\\${json_char}")
- endif()
- endif()
-
- _sbeAddEscapedCharacter("${json_char}")
- endif()
-
- # check if value starts
- if("\"" STREQUAL "${json_char}" AND NOT json_inValue)
- set(json_inValue yes)
- endif()
-
- math(EXPR json_index "${json_index} + 1")
- endwhile()
-endmacro()
-
-macro(_sbeAddEscapedCharacter char)
- string(CONCAT json_value "${json_value}" "${char}")
-endmacro()
-
-macro(_sbeParseObject prefix)
- _sbeParse(${prefix})
- _sbeMoveToNextNonEmptyCharacter()
-endmacro()
-
-macro(_sbeParseArray prefix)
- math(EXPR json_ArrayNestingLevel "${json_ArrayNestingLevel} + 1")
- set(json_${json_ArrayNestingLevel}_arrayIndex 0)
-
- set(${prefix} "")
- list(APPEND ${json_AllVariables} ${prefix})
-
- while(${json_index} LESS ${json_jsonLen})
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- if("\"" STREQUAL "${json_char}")
- # simple value
- list(APPEND ${prefix} ${json_${json_ArrayNestingLevel}_arrayIndex})
- _sbeParseValue(${prefix}_${json_${json_ArrayNestingLevel}_arrayIndex})
- elseif("{" STREQUAL "${json_char}")
- # object
- _sbeMoveToNextNonEmptyCharacter()
- list(APPEND ${prefix} ${json_${json_ArrayNestingLevel}_arrayIndex})
- _sbeParseObject(${prefix}_${json_${json_ArrayNestingLevel}_arrayIndex})
- else()
- list(APPEND ${prefix} ${json_${json_ArrayNestingLevel}_arrayIndex})
- _sbeParseReservedWord(${prefix}_${json_${json_ArrayNestingLevel}_arrayIndex})
- endif()
-
- if(NOT ${json_index} LESS ${json_jsonLen})
- break()
- endif()
-
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
-
- if("]" STREQUAL "${json_char}")
- _sbeMoveToNextNonEmptyCharacter()
- break()
- elseif("," STREQUAL "${json_char}")
- math(EXPR json_${json_ArrayNestingLevel}_arrayIndex "${json_${json_ArrayNestingLevel}_arrayIndex} + 1")
- endif()
-
- _sbeMoveToNextNonEmptyCharacter()
- endwhile()
-
- if(${json_MaxArrayNestingLevel} LESS ${json_ArrayNestingLevel})
- set(json_MaxArrayNestingLevel ${json_ArrayNestingLevel})
- endif()
- math(EXPR json_ArrayNestingLevel "${json_ArrayNestingLevel} - 1")
-endmacro()
-
-macro(_sbeMoveToNextNonEmptyCharacter)
- math(EXPR json_index "${json_index} + 1")
- if(${json_index} LESS ${json_jsonLen})
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
- while(${json_char} MATCHES "[ \t\n\r]" AND ${json_index} LESS ${json_jsonLen})
- math(EXPR json_index "${json_index} + 1")
- string(SUBSTRING "${json_string}" ${json_index} 1 json_char)
- endwhile()
- endif()
-endmacro()
diff --git a/modules/react-native-status/desktop/build-status-go.sh b/modules/react-native-status/desktop/build-status-go.sh
deleted file mode 100755
index db79f14ee2..0000000000
--- a/modules/react-native-status/desktop/build-status-go.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-export GOROOT=$2
-export GOPATH=$3
-export PATH=$GOROOT/bin:$GOROOT:$GOPATH:$PATH
-if [ "$1" = 'Windows' ]; then
- export GOOS=windows
- export GOARCH=amd64
- export CGO_ENABLED=1
-fi
-export CC=$5
-export CC_FOR_TARGET=$5
-export CXX_FOR_TARGET=$6
-
-cd $4/lib
-go get ./
-cd ..
-
-make statusgo-library
diff --git a/modules/react-native-status/desktop/rctstatus.cpp b/modules/react-native-status/desktop/rctstatus.cpp
deleted file mode 100644
index 332e518269..0000000000
--- a/modules/react-native-status/desktop/rctstatus.cpp
+++ /dev/null
@@ -1,678 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#include "rctstatus.h"
-#include "bridge.h"
-#include "eventdispatcher.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "libstatus.h"
-
-extern QString getDataStoragePath();
-extern QString getLogFilePath();
-
-namespace {
-struct RegisterQMLMetaType {
- RegisterQMLMetaType() { qRegisterMetaType(); }
-} registerMetaType;
-} // namespace
-
-class RCTStatusPrivate {
-public:
- static Bridge *bridge;
- static RCTStatus *rctStatus;
-};
-
-Bridge *RCTStatusPrivate::bridge = nullptr;
-RCTStatus *RCTStatusPrivate::rctStatus = nullptr;
-
-Q_LOGGING_CATEGORY(RCTSTATUS, "RCTStatus")
-
-RCTStatus::RCTStatus(QObject *parent)
- : QObject(parent), d_ptr(new RCTStatusPrivate) {
- RCTStatusPrivate::rctStatus = this;
- SetSignalEventCallback((void *)&RCTStatus::statusGoEventCallback);
- connect(this, &RCTStatus::statusGoEvent, this, &RCTStatus::onStatusGoEvent);
-}
-
-RCTStatus::~RCTStatus() {}
-
-void RCTStatus::setBridge(Bridge *bridge) {
- Q_D(RCTStatus);
- d->bridge = bridge;
-}
-
-QString RCTStatus::moduleName() { return "Status"; }
-
-QList RCTStatus::methodsToExport() {
- return QList{};
-}
-
-QVariantMap RCTStatus::constantsToExport() { return QVariantMap(); }
-
-void RCTStatus::shouldMoveToInternalStorage(double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::shouldMoveToInternalStorage call";
-
- d->bridge->invokePromiseCallback(callbackId, QVariantList{QVariant()});
-}
-
-void RCTStatus::moveToInternalStorage(double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::moveToInternalStorage call";
-
- d->bridge->invokePromiseCallback(callbackId, QVariantList{QVariant()});
-}
-
-QString RCTStatus::prepareDirAndUpdateConfig(QString configString) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::prepareDirAndUpdateConfig call - configString:"
- << configString;
-
- QJsonParseError jsonError;
- const QJsonDocument &jsonDoc =
- QJsonDocument::fromJson(configString.toUtf8(), &jsonError);
- if (jsonError.error != QJsonParseError::NoError) {
- qCWarning(RCTSTATUS) << jsonError.errorString();
- }
-
- QVariantMap configJSON = jsonDoc.toVariant().toMap();
- QVariantMap shhextConfig = configJSON["ShhextConfig"].toMap();
- qCDebug(RCTSTATUS) << "::startNode configString: " << configJSON;
-
- int networkId = configJSON["NetworkId"].toInt();
- QString relativeDataDirPath = configJSON["DataDir"].toString();
- if (!relativeDataDirPath.startsWith("/"))
- relativeDataDirPath.prepend("/");
-
- QString rootDirPath = getDataStoragePath();
- QDir rootDir(rootDirPath);
- QString absDataDirPath = rootDirPath + relativeDataDirPath;
- QDir dataDir(absDataDirPath);
- if (!dataDir.exists()) {
- dataDir.mkpath(".");
- }
-
- d_gethLogFilePath = dataDir.absoluteFilePath("geth.log");
- configJSON["DataDir"] = absDataDirPath;
- configJSON["KeyStoreDir"] = rootDir.absoluteFilePath("keystore");
- configJSON["LogFile"] = d_gethLogFilePath;
-
- shhextConfig["BackupDisabledDataDir"] = rootDirPath;
-
- configJSON["ShhExtConfig"] = shhextConfig;
-
- const QJsonDocument &updatedJsonDoc = QJsonDocument::fromVariant(configJSON);
- qCInfo(RCTSTATUS) << "::startNode updated configString: "
- << updatedJsonDoc.toVariant().toMap();
- return QString(updatedJsonDoc.toJson(QJsonDocument::Compact));
-}
-
-void RCTStatus::prepareDirAndUpdateConfig(QString configString,
- double callbackId) {
- Q_D(RCTStatus);
- qCInfo(RCTSTATUS) << "::prepareDirAndUpdateConfig call - callbackId:"
- << callbackId;
- QtConcurrent::run(
- [&](QString configString, double callbackId) {
- QString updatedConfig = prepareDirAndUpdateConfig(configString);
- d->bridge->invokePromiseCallback(
- callbackId, QVariantList{updatedConfig.toUtf8().data()});
- },
- configString, callbackId);
-}
-
-void RCTStatus::initKeystore() {
- qCInfo(RCTSTATUS) << "::initKeystore call";
- QString rootDir = getDataStoragePath();
- const char *result = InitKeystore(rootDir.toUtf8().data());
- logStatusGoResult("::initKeystore InitKeystore", result);
-}
-
-#include
-#include
-#include
-#include
-#include
-
-void showFileInGraphicalShell(QWidget *parent, const QFileInfo &fileInfo) {
-// Mac, Windows support folder or file.
-#ifdef Q_OS_WIN
- const QString explorer =
- QStandardPaths::findExecutable(QLatin1String("explorer.exe"));
- if (explorer.isEmpty()) {
- QMessageBox::warning(
- parent, QApplication::translate("Core::Internal",
- "Launching Windows Explorer Failed"),
- QApplication::translate(
- "Core::Internal",
- "Could not find explorer.exe in path to launch Windows Explorer."));
- return;
- }
- QStringList param;
- if (!fileInfo.isDir())
- param += QLatin1String("/select,");
- param += QDir::toNativeSeparators(fileInfo.canonicalFilePath());
- QProcess::startDetached(explorer, param);
-#elif defined(Q_OS_MAC)
- QStringList scriptArgs;
- scriptArgs << QLatin1String("-e")
- << QString::fromLatin1(
- "tell application \"Finder\" to reveal POSIX file \"%1\"")
- .arg(fileInfo.canonicalFilePath());
- QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
- scriptArgs.clear();
- scriptArgs << QLatin1String("-e")
- << QLatin1String("tell application \"Finder\" to activate");
- QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs);
-#else
- // we cannot select a file here, because no file browser really supports it...
- const QString folder = fileInfo.isDir() ? fileInfo.absoluteFilePath()
- : fileInfo.dir().absolutePath();
- QProcess browserProc;
- browserProc.setProgram("xdg-open");
- browserProc.setArguments(QStringList(folder));
- bool success = browserProc.startDetached();
- const QString error =
- QString::fromLocal8Bit(browserProc.readAllStandardError());
- success = success && error.isEmpty();
- if (!success) {
- QMessageBox::warning(parent, "Launching Explorer Failed", error);
- return;
- }
-#endif
-}
-
-void RCTStatus::sendLogs(QString dbJSON, QString jsLogs, double callbackId) {
- Q_D(RCTStatus);
-
- qCDebug(RCTSTATUS) << "::sendLogs call - logFilePath:" << getLogFilePath()
- << "d_gethLogFilePath:" << d_gethLogFilePath
- << "dbJSON:" << dbJSON;
-
- QString tmpDirName("Status.im");
- QDir tmpDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
- if (!tmpDir.mkpath(tmpDirName)) {
- qCWarning(RCTSTATUS) << "::sendLogs could not create temp dir:"
- << tmpDirName;
- return;
- }
-
- // Check that at least 20MB are available for log generation
- QStorageInfo storage(tmpDir);
- if (storage.bytesAvailable() < 20 * 1024 * 1024) {
- QMessageBox dlg;
- dlg.warning(QApplication::activeWindow(), "Error",
- QString("Insufficient storage space available in %1 for log "
- "generation. Please free up some space.")
- .arg(storage.rootPath()),
- QMessageBox::Close);
- return;
- }
-
- QFile zipFile(tmpDir.absoluteFilePath(tmpDirName + QDir::separator() +
- "Status-debug-logs.zip"));
- QZipWriter zipWriter(&zipFile);
- QFile gethLogFile(d_gethLogFilePath);
- QFile logFile(getLogFilePath());
- zipWriter.addFile("db.json", dbJSON.toUtf8());
- zipWriter.addFile("js_logs.log", jsLogs.toUtf8());
- if (gethLogFile.exists()) {
- zipWriter.addFile(QFileInfo(gethLogFile).fileName(), &gethLogFile);
- }
- if (logFile.exists()) {
- zipWriter.addFile(QFileInfo(logFile).fileName(), &logFile);
- }
- zipWriter.close();
-
- showFileInGraphicalShell(QApplication::activeWindow(), QFileInfo(zipFile));
-}
-
-void RCTStatus::exportLogs(double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](double callbackId) {
- const char *result = ExportNodeLogs();
- logStatusGoResult("::exportLogs", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- callbackId);
-}
-
-void RCTStatus::addPeer(QString enode, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::addPeer call - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString enode, double callbackId) {
- const char *result = AddPeer(enode.toUtf8().data());
- logStatusGoResult("::addPeer AddPeer", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- enode, callbackId);
-}
-
-void RCTStatus::saveAccountAndLogin(QString accountData, QString password,
- QString config, QString subAccountsData) {
-
- Q_D(RCTStatus);
- QString finalConfig = prepareDirAndUpdateConfig(config);
- QtConcurrent::run(
- [&](QString accountData, QString password, QString finalConfig,
- QString subAccountsData) {
- const char *result = SaveAccountAndLogin(
- accountData.toUtf8().data(), password.toUtf8().data(),
- finalConfig.toUtf8().data(), subAccountsData.toUtf8().data());
- logStatusGoResult("::saveAccountAndLogin", result);
- },
- accountData, password, finalConfig, subAccountsData);
-}
-
-// void RCTStatus::saveAccountAndLoginWithKeycard(QString accountData,
-// QString password, QString
-// config,
-// QString chatKey) {
-// Q_D(RCTStatus);
-// QString finalConfig = prepareDirAndUpdateConfig(config);
-// QtConcurrent::run(
-// [&](QString accountData, QString password, QString finalConfig,
-// QString chatKey) {
-// const char *result = SaveAccountAndLoginWithKeycard(
-// accountData.toUtf8().data(), password.toUtf8().data(),
-// finalConfig.toUtf8().data(), chatKey.toUtf8().data());
-// logStatusGoResult("::saveAccountAndLoginWithKeycard", result);
-// },
-// accountData, password, finalConfig, chatKey);
-//}
-
-void RCTStatus::login(QString accountData, QString password) {
-
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString accountData, QString password) {
- const char *result =
- Login(accountData.toUtf8().data(), password.toUtf8().data());
- logStatusGoResult("::login", result);
- },
- accountData, password);
-}
-
-// void RCTStatus::loginWithKeycard(QString accountData, QString password,
-// QString chatKey) {
-//
-// Q_D(RCTStatus);
-// QtConcurrent::run(
-// [&](QString accountData, QString password, QString chatKey) {
-// const char *result =
-// LoginWithKeycard(accountData.toUtf8().data(),
-// password.toUtf8().data(),
-// chatKey.toUtf8().data());
-// logStatusGoResult("::loginWithKeycard", result);
-// },
-// accountData, password, chatKey);
-//}
-
-void RCTStatus::logout() {
- Q_D(RCTStatus);
- QtConcurrent::run([&]() {
- const char *result = Logout();
- logStatusGoResult("::logout", result);
- });
-}
-
-void RCTStatus::openAccounts(double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](double callbackId) {
- QString rootDir = getDataStoragePath();
- const char *result = OpenAccounts(rootDir.toUtf8().data());
- logStatusGoResult("::openAccounts", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- callbackId);
-}
-
-void RCTStatus::multiAccountStoreAccount(QString json, double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString json, double callbackId) {
- const char *result = MultiAccountStoreAccount(json.toUtf8().data());
- logStatusGoResult("::multiAccountStoreAccount", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- json, callbackId);
-}
-
-void RCTStatus::multiAccountLoadAccount(QString json, double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString json, double callbackId) {
- const char *result = MultiAccountLoadAccount(json.toUtf8().data());
- logStatusGoResult("::multiAccountLoadAccount", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- json, callbackId);
-}
-
-void RCTStatus::multiAccountReset(double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](double callbackId) {
- const char *result = MultiAccountReset();
- logStatusGoResult("::multiAccountReset", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- callbackId);
-}
-
-void RCTStatus::multiAccountDeriveAddresses(QString json, double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString json, double callbackId) {
- const char *result = MultiAccountDeriveAddresses(json.toUtf8().data());
- logStatusGoResult("::multiAccountDeriveAddresses", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- json, callbackId);
-}
-
-void RCTStatus::multiAccountStoreDerived(QString json, double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString json, double callbackId) {
- const char *result =
- MultiAccountStoreDerivedAccounts(json.toUtf8().data());
- logStatusGoResult("::multiAccountStoreDerived", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- json, callbackId);
-}
-
-void RCTStatus::multiAccountGenerateAndDeriveAddresses(QString json,
- double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString json, double callbackId) {
- const char *result =
- MultiAccountGenerateAndDeriveAddresses(json.toUtf8().data());
- logStatusGoResult("::multiAccountGenerateAndDeriveAddresses", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- json, callbackId);
-}
-
-void RCTStatus::multiAccountImportMnemonic(QString json, double callbackId) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString json, double callbackId) {
- const char *result = MultiAccountImportMnemonic(json.toUtf8().data());
- logStatusGoResult("::multiAccountImportMnemonic", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- json, callbackId);
-}
-
-void RCTStatus::verify(QString address, QString password, double callbackId) {
- Q_D(RCTStatus);
- qCInfo(RCTSTATUS) << "::verify call - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString address, QString password, double callbackId) {
- QDir rootDir(getDataStoragePath());
- QString keystorePath = rootDir.absoluteFilePath("keystore");
- const char *result = VerifyAccountPassword(keystorePath.toUtf8().data(),
- address.toUtf8().data(),
- password.toUtf8().data());
- logStatusGoResult("::verify VerifyAccountPassword", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- address, password, callbackId);
-}
-
-void RCTStatus::sendTransaction(QString txArgsJSON, QString password,
- double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::sendTransaction call - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString txArgsJSON, QString password, double callbackId) {
- const char *result = SendTransaction(txArgsJSON.toUtf8().data(),
- password.toUtf8().data());
- logStatusGoResult("::sendTransaction SendTransaction", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- txArgsJSON, password, callbackId);
-}
-
-void RCTStatus::signMessage(QString rpcParams, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::signMessage call - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString rpcParams, double callbackId) {
- const char *result = SignMessage(rpcParams.toUtf8().data());
- logStatusGoResult("::signMessage SignMessage", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- rpcParams, callbackId);
-}
-
-void RCTStatus::signTypedData(QString data, QString account, QString password,
- double callbackId) {
-
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::signMessage call - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString data, QString account, QString password, double callbackId) {
- const char *result =
- SignTypedData(data.toUtf8().data(), account.toUtf8().data(),
- password.toUtf8().data());
- logStatusGoResult("::signTypedData signTypedData", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- data, account, password, callbackId);
-}
-void RCTStatus::signGroupMembership(QString content, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::signGroupMembership - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString content, double callbackId) {
- const char *result = SignGroupMembership(content.toUtf8().data());
- logStatusGoResult("::signGroupMembership SignGroupMembership", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- content, callbackId);
-}
-
-void RCTStatus::extractGroupMembershipSignatures(QString signatures,
- double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::extractGroupMembershipSignatures - callbackId:"
- << callbackId;
- QtConcurrent::run(
- [&](QString signatures, double callbackId) {
- const char *result =
- ExtractGroupMembershipSignatures(signatures.toUtf8().data());
- logStatusGoResult("::extractGroupMembershipSignatures "
- "ExtractGroupMembershipSignatures",
- result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- signatures, callbackId);
-}
-
-void RCTStatus::setAdjustResize() {}
-
-void RCTStatus::setAdjustPan() {}
-
-void RCTStatus::setSoftInputMode(int i) {}
-
-void RCTStatus::clearCookies() {}
-
-void RCTStatus::clearStorageAPIs() {}
-
-void RCTStatus::callRPC(QString payload, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::callRPC call - payload:" << payload.left(128)
- << "callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString payload, double callbackId) {
- const char *result = CallRPC(payload.toUtf8().data());
- logStatusGoResult("::callRPC CallRPC", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- payload, callbackId);
-}
-
-void RCTStatus::callPrivateRPC(QString payload, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::callPrivateRPC call - payload:" << payload.left(128)
- << "callbackId:" << callbackId;
- QtConcurrent::run(
- [&](QString payload, double callbackId) {
- const char *result = CallPrivateRPC(payload.toUtf8().data());
- logStatusGoResult("::callPrivateRPC CallPrivateRPC", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- payload, callbackId);
-}
-
-void RCTStatus::closeApplication() {}
-
-void RCTStatus::connectionChange(QString type, bool isExpensive) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString type, bool isExpensive) {
- ConnectionChange(type.toUtf8().data(), isExpensive ? 1 : 0);
- qCWarning(RCTSTATUS) << "::connectionChange";
- },
- type, isExpensive);
-}
-
-void RCTStatus::appStateChange(QString type) {
- Q_D(RCTStatus);
- QtConcurrent::run(
- [&](QString type) {
- AppStateChange(type.toUtf8().data());
- qCWarning(RCTSTATUS) << "::appStateChange";
- },
- type);
-}
-
-bool RCTStatus::JSCEnabled() {
- qCDebug(RCTSTATUS) << "::JSCEnabled call";
- return false;
-}
-
-void RCTStatus::statusGoEventCallback(const char *event) {
- qCDebug(RCTSTATUS) << "::statusGoEventCallback call - event: " << event;
- RCTStatusPrivate::rctStatus->emitStatusGoEvent(event);
-}
-
-void RCTStatus::emitStatusGoEvent(QString event) {
- qCDebug(RCTSTATUS) << "::emitStatusGoEvent call - event: " << event;
- Q_EMIT statusGoEvent(event);
-}
-
-void RCTStatus::onStatusGoEvent(QString event) {
- qCDebug(RCTSTATUS) << "::onStatusGoEvent call - event: "
- << event.toUtf8().data();
- RCTStatusPrivate::bridge->eventDispatcher()->sendDeviceEvent(
- "gethEvent", QVariantMap{{"jsonEvent", event.toUtf8().data()}});
-}
-
-void RCTStatus::logStatusGoResult(const char *methodName, const char *result) {
- QJsonParseError jsonError;
- QJsonDocument jsonDoc =
- QJsonDocument::fromJson(QString(result).toUtf8(), &jsonError);
- if (jsonError.error != QJsonParseError::NoError) {
- qCWarning(RCTSTATUS) << qUtf8Printable(jsonError.errorString());
- return;
- }
-
- QString error = jsonDoc.toVariant().toMap().value("error").toString();
- if (error.isEmpty()) {
- qCDebug(RCTSTATUS) << methodName << "succeeded";
- } else {
- qCWarning(RCTSTATUS) << methodName << "- error:" << qUtf8Printable(error);
- }
-}
-
-void RCTStatus::getNodesFromContract(QString url, QString address,
- double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::getNodesFromContract call - callbackId:"
- << callbackId;
- QtConcurrent::run(
- [&](QString url, QString address, double callbackId) {
- const char *result =
- GetNodesFromContract(url.toUtf8().data(), address.toUtf8().data());
- logStatusGoResult("::getNodesFromContract GetNodesFromContract",
- result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- url, address, callbackId);
-}
-
-void RCTStatus::chaosModeUpdate(bool on, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::chaosModeUpdate call - callbackId:" << callbackId;
- QtConcurrent::run(
- [&](bool on, double callbackId) {
- const char *result = ChaosModeUpdate(on);
- logStatusGoResult("::chaosModeUpdate ChaosModeUpdate", result);
- d->bridge->invokePromiseCallback(callbackId, QVariantList{result});
- },
- on, callbackId);
-}
-
-QString RCTStatus::generateAlias(QString publicKey) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::generateAlias call";
- return "";
-}
-
-void RCTStatus::generateAliasAsync(QString publicKey, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::generateAliasAsync call";
- QByteArray b = publicKey.toUtf8();
- const char *result = GenerateAlias({b.data(), b.length()});
- qCDebug(RCTSTATUS) << "::generateAliasAsync call result"<bridge->invokePromiseCallback(callbackId, QVariantList{result});
-}
-
-QString RCTStatus::identicon(QString publicKey) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::identicon call";
- return "";
-}
-
-void RCTStatus::identiconAsync(QString publicKey, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::identiconAsync call";
- QByteArray b = publicKey.toUtf8();
- const char *result = Identicon({b.data(), b.length()});
- qCDebug(RCTSTATUS) << "::identiconAsync call result"<bridge->invokePromiseCallback(callbackId, QVariantList{result});
-}
-
-void RCTStatus::generateAliasAndIdenticonAsync(QString publicKey, double callbackId) {
- Q_D(RCTStatus);
- qCDebug(RCTSTATUS) << "::generateAliasAndIdenticonAsync call";
- QByteArray pubKey = publicKey.toUtf8();
- const char *alias = GenerateAlias({pubKey.data(), pubKey.length()});
- const char *identicon = Identicon({pubKey.data(), pubKey.length()});
- d->bridge->invokePromiseCallback(callbackId, QVariantList{alias, identicon});
-}
diff --git a/modules/react-native-status/desktop/rctstatus.h b/modules/react-native-status/desktop/rctstatus.h
deleted file mode 100644
index c85a930998..0000000000
--- a/modules/react-native-status/desktop/rctstatus.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * Copyright (c) 2017-present, Status Research and Development GmbH.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#ifndef RCTSTATUS_H
-#define RCTSTATUS_H
-
-#include "moduleinterface.h"
-
-#include
-#include
-
-Q_DECLARE_LOGGING_CATEGORY(RCTSTATUS)
-
-class RCTStatusPrivate;
-class RCTStatus : public QObject, public ModuleInterface {
- Q_OBJECT
- Q_INTERFACES(ModuleInterface)
-
- Q_DECLARE_PRIVATE(RCTStatus)
-
-public:
- Q_INVOKABLE RCTStatus(QObject *parent = 0);
- ~RCTStatus();
-
- void setBridge(Bridge *bridge) override;
-
- QString moduleName() override;
- QList methodsToExport() override;
- QVariantMap constantsToExport() override;
-
- Q_INVOKABLE void shouldMoveToInternalStorage(double callbackId);
- Q_INVOKABLE void moveToInternalStorage(double callbackId);
- Q_INVOKABLE void initKeystore();
- Q_INVOKABLE void sendLogs(QString dbJSON, QString jsLogs, double callbackId);
- Q_INVOKABLE void exportLogs(double callbackId);
- Q_INVOKABLE void addPeer(QString enode, double callbackId);
- Q_INVOKABLE void prepareDirAndUpdateConfig(QString configString,
- double callbackId);
- Q_INVOKABLE void login(QString accountData, QString password);
- // Q_INVOKABLE void loginWithKeycard(QString accountData, QString password,
- // QString chatKey);
- Q_INVOKABLE void saveAccountAndLogin(QString accountData, QString password,
- QString config, QString subAccountsData);
- // Q_INVOKABLE void saveAccountAndLoginWithKeycard(QString accountData,
- // QString password,
- // QString config,
- // QString chatKey);
- Q_INVOKABLE void logout();
- Q_INVOKABLE void openAccounts(double callbackId);
- Q_INVOKABLE void multiAccountStoreAccount(QString json, double callbackId);
- Q_INVOKABLE void multiAccountLoadAccount(QString json, double callbackId);
- Q_INVOKABLE void multiAccountReset(double callbackId);
- Q_INVOKABLE void multiAccountDeriveAddresses(QString json, double callbackId);
- Q_INVOKABLE void multiAccountImportMnemonic(QString json, double callbackId);
- Q_INVOKABLE void multiAccountStoreDerived(QString json, double callbackId);
- Q_INVOKABLE void multiAccountGenerateAndDeriveAddresses(QString json,
- double callbackId);
- Q_INVOKABLE void verify(QString address, QString password, double callbackId);
- Q_INVOKABLE void sendTransaction(QString txArgsJSON, QString password,
- double callbackId);
- Q_INVOKABLE void signMessage(QString rpcParams, double callbackId);
- Q_INVOKABLE void signTypedData(QString data, QString account,
- QString password, double callbackId);
-
- Q_INVOKABLE void signGroupMembership(QString content, double callbackId);
- Q_INVOKABLE void extractGroupMembershipSignatures(QString signatures,
- double callbackId);
- Q_INVOKABLE void getNodesFromContract(QString url, QString address,
- double callbackId);
- Q_INVOKABLE void chaosModeUpdate(bool on, double callbackId);
-
- Q_INVOKABLE void setAdjustResize();
- Q_INVOKABLE void setAdjustPan();
- Q_INVOKABLE void setSoftInputMode(int i);
-
- Q_INVOKABLE void clearCookies();
- Q_INVOKABLE void clearStorageAPIs();
- Q_INVOKABLE void callRPC(QString payload, double callbackId);
- Q_INVOKABLE void callPrivateRPC(QString payload, double callbackId);
- Q_INVOKABLE void closeApplication();
- Q_INVOKABLE void connectionChange(QString type, bool isExpensive);
- Q_INVOKABLE void appStateChange(QString type);
-
- Q_INVOKABLE static bool JSCEnabled();
- Q_INVOKABLE static void statusGoEventCallback(const char *event);
-
- Q_INVOKABLE QString identicon(QString publicKey);
- Q_INVOKABLE void identiconAsync(QString publicKey, double callbackId);
- Q_INVOKABLE QString generateAlias(QString publicKey);
- Q_INVOKABLE void generateAliasAsync(QString publicKey, double callbackId);
- Q_INVOKABLE void generateAliasAndIdenticonAsync(QString publicKey, double callbackId);
-
- void emitStatusGoEvent(QString event);
-
-Q_SIGNALS:
- void statusGoEvent(QString event);
-
-private Q_SLOTS:
- void onStatusGoEvent(QString event);
-
-private:
- void logStatusGoResult(const char *methodName, const char *result);
-
- QString prepareDirAndUpdateConfig(QString configString);
- QScopedPointer d_ptr;
- QString d_gethLogFilePath;
-};
-
-#endif // RCTSTATUS_H
diff --git a/nix/deps/nodejs/default.nix b/nix/deps/nodejs/default.nix
index 026c3a2b27..7d99c95335 100644
--- a/nix/deps/nodejs/default.nix
+++ b/nix/deps/nodejs/default.nix
@@ -2,8 +2,8 @@
let
version = lib.fileContents ../../../VERSION;
- yarnLock = ../../../mobile/js_files/yarn.lock;
- packageJSON = ../../../mobile/js_files/package.json;
+ yarnLock = ../../../yarn.lock;
+ packageJSON = ../../../package.json;
packageJSONContent = lib.importJSON packageJSON;
in
# Create a yarn package for our project that contains all the dependecies.
diff --git a/nix/desktop/base-image/default.nix b/nix/desktop/base-image/default.nix
deleted file mode 100644
index 6f159268f8..0000000000
--- a/nix/desktop/base-image/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ stdenv, fetchurl, unzip }:
-
-let
- defaultPackageSource = {
- version = "20191002";
- hostSystem = "x86_64-linux";
- };
- packageSources = {
- "linux" = defaultPackageSource // {
- sha256 = "1xqa8k00kgld82d3knfbwn90nsw2f7s8h8r8188q966fk99m4g0h";
- };
- "macos" = defaultPackageSource // {
- sha256 = "0nmv3agaipdlhl38wh58bgyb8pdc454gxxzig9x0sw5zp9jsaziq";
- hostSystem = "x86_64-darwin";
- };
- "windows" = defaultPackageSource // {
- sha256 = "0p6amqz5942100zm3szwbksp2rp08ybfmgiz4bmviggg8391i0zr";
- };
- };
- packageFactory = target-os:
- let packageSource = packageSources."${target-os}";
- in stdenv.mkDerivation rec {
- inherit (packageSource) version;
- pname = "status-im-${target-os}-desktop-files";
-
- src = assert stdenv.lib.asserts.assertMsg
- (stdenv.hostPlatform.system == packageSource.hostSystem)
- "${pname} is not supported on ${stdenv.hostPlatform.system}";
- fetchurl {
- inherit (packageSource) sha256;
- url = "https://desktop-app-files.ams3.digitaloceanspaces.com/status-im-desktop-files-${target-os}-${packageSource.version}.zip";
- };
-
- nativeBuildInputs = [ unzip ];
-
- phases = [ "unpackPhase" ];
- unpackPhase = ''
- mkdir -p $out/src
- unzip $src -d $out/src
- '';
-
- meta = with stdenv.lib; {
- description = "A base image for Status Desktop release distributions";
- homepage = https://desktop-app-files.ams3.digitaloceanspaces.com/;
- license = licenses.gpl3;
- maintainers = [ maintainers.pombeirp ];
- platforms = platforms.linux ++ platforms.darwin;
- };
- };
-
-in target-os:
- let package = (packageFactory target-os);
- in package // {
- shellHook = ''
- ${package.shellHook or ""}
- export STATUSREACT_${stdenv.lib.toUpper target-os}_BASEIMAGE_PATH="${package}/src"
- '';
-}
diff --git a/nix/desktop/default.nix b/nix/desktop/default.nix
deleted file mode 100644
index 8000aef741..0000000000
--- a/nix/desktop/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, lib, pkgs, mkShell, callPackage
-, status-go, qtkeychain-src }:
-
-let
- inherit (stdenv) isLinux isDarwin;
- inherit (lib) mapAttrs catAttrs optional unique mergeSh;
-
- # utilities
- baseImageFactory = callPackage ./base-image { };
-
- # main targets
- linux = callPackage ./linux { inherit status-go baseImageFactory; };
- macos = callPackage ./macos { inherit status-go baseImageFactory; };
- windows = callPackage ./windows { inherit baseImageFactory; };
-
- selectedSources =
- optional isLinux linux ++
- optional isLinux windows ++
- optional isDarwin macos;
-
- # default shell for desktop builds
- default = mkShell {
- buildInputs = with pkgs; unique ([
- file moreutils cmake
- extra-cmake-modules
- qtkeychain-src
- ] ++ (catAttrs "buildInputs" selectedSources));
-
- inputsFrom = [ status-go.desktop ]
- ++ (catAttrs "shell" selectedSources);
-
- # These variables are used by the Status Desktop CMake build script in:
- # - modules/react-native-status/desktop/CMakeLists.txt
- shellHook = ''
- export STATUS_GO_DESKTOP_INCLUDEDIR=${status-go.desktop}/include
- export STATUS_GO_DESKTOP_LIBDIR=${status-go.desktop}/lib
- # QT Keychain library sources
- export QTKEYCHAIN_SOURCES="${qtkeychain-src}/src"
- '';
- };
-
- # for merging default shell
- mergeDefaultShell = (key: val: { shell = mergeSh default [ val.shell ]; });
-
-in {
- shell = default;
-}
- # merge default shell with platform sub-shells
- // mapAttrs mergeDefaultShell { inherit linux windows macos; }
diff --git a/nix/desktop/linux/default.nix b/nix/desktop/linux/default.nix
deleted file mode 100644
index 3e73cddeb8..0000000000
--- a/nix/desktop/linux/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, mkShell, callPackage
-# pkgs
-, appimagekit, linuxdeployqt, patchelf, qt5custom
-# custom arguments
-, status-go, baseImageFactory }:
-
-assert lib.assertMsg stdenv.isLinux "Building Linux app can work only on Linux!";
-
-let
- inherit (lib) concatStrings catAttrs;
- baseImage = baseImageFactory "linux";
-
-in rec {
- buildInputs = [
- appimagekit
- linuxdeployqt
- patchelf
- qt5custom
- ];
-
- shell = mkShell {
- inherit buildInputs;
- inputsFrom = [ baseImage status-go ];
- shellHook = ''
- export QT_PATH="${qt5custom}"
- export QT_BASEBIN_PATH="${qt5custom}/bin"
- export PATH="$QT_BASEBIN_PATH:$PATH"
- '';
- };
-}
diff --git a/nix/desktop/macos/default.nix b/nix/desktop/macos/default.nix
deleted file mode 100644
index 365475bcd8..0000000000
--- a/nix/desktop/macos/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, lib, callPackage, mkShell,
- gnupg22, darwin, qt5custom, status-go, baseImageFactory }:
-
-assert lib.assertMsg stdenv.isDarwin "Building MacOS app can work only on MacOS!";
-
-let
- inherit (lib) concatStrings catAttrs;
- inherit (darwin.apple_sdk.frameworks)
- AppKit Cocoa Foundation OpenGL CoreFoundation;
-
- baseImage = baseImageFactory "macos";
-
-in {
- shell = mkShell {
- buildInputs = [
- gnupg22 baseImage qt5custom
- darwin.cf-private
- AppKit Cocoa Foundation OpenGL
- ];
-
- inputsFrom = [
- status-go baseImage
- ];
-
- shellHook = ''
- export NIX_TARGET_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_TARGET_LDFLAGS"
- export QT_PATH="${qt5custom}"
- export QT_BASEBIN_PATH="${qt5custom}/bin"
- export PATH="$QT_BASEBIN_PATH/bin:$PATH"
- '';
- };
-}
diff --git a/nix/desktop/windows/default.nix b/nix/desktop/windows/default.nix
deleted file mode 100644
index d6f5e96201..0000000000
--- a/nix/desktop/windows/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, lib, mkShell, conan, nsis, go, baseImageFactory }:
-
-assert lib.assertMsg stdenv.isLinux "Building Windows app can work only on Linux!";
-
-let
- baseImage = baseImageFactory "windows";
-
-in rec {
- buildInputs = lib.optionals stdenv.isLinux [
- conan
- nsis
- baseImage
- go # Needed for Windows build only
- ];
-
- shell = mkShell {
- inherit buildInputs;
- shellHook = ''
- ${baseImage.shellHook}
- unset QT_PATH
- '';
- };
-}
diff --git a/nix/mobile/android/default.nix b/nix/mobile/android/default.nix
index 7d3ab07b3e..3ba07c7aad 100644
--- a/nix/mobile/android/default.nix
+++ b/nix/mobile/android/default.nix
@@ -42,15 +42,8 @@ in {
# required by some makefile targets
export STATUS_GO_ANDROID_LIBDIR=${status-go}
- {
- cd "$STATUS_REACT_HOME"
-
- # Set up symlinks to mobile enviroment in project root
- ln -sf ./mobile/js_files/* ./
-
- # check if node modules changed and if so install them
- $STATUS_REACT_HOME/nix/scripts/node_modules.sh ${deps.nodejs-patched}
- }
+ # check if node modules changed and if so install them
+ $STATUS_REACT_HOME/nix/scripts/node_modules.sh ${deps.nodejs-patched}
'';
};
}
diff --git a/nix/mobile/android/jsbundle/default.nix b/nix/mobile/android/jsbundle/default.nix
index 108f06903c..59d690c992 100644
--- a/nix/mobile/android/jsbundle/default.nix
+++ b/nix/mobile/android/jsbundle/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
# I want to avoid including the whole .git directory
".git/HEAD" ".git/objects" ".git/refs/heads/.*"
# shadow-cljs expects these for deps resolution
- "mobile/js_files/package.json" "mobile/js_files/yarn.lock"
+ "package.json" "yarn.lock"
# build stat's images to check if they exist
"resources/.*" "translations/.*"
];
@@ -50,10 +50,6 @@ stdenv.mkDerivation {
configurePhase = ''
# Symlink Node.js modules to build directory
ln -s ${deps.nodejs}/node_modules
-
- # Symlink Node.JS dependency definitions
- ln -sf mobile/js_files/package.json ./
- ln -sf mobile/js_files/yarn.lock ./
'';
buildPhase = ''
# Assemble CLASSPATH from available clojure dependencies.
diff --git a/nix/mobile/android/release.nix b/nix/mobile/android/release.nix
index 9deccb40a5..90d240d550 100644
--- a/nix/mobile/android/release.nix
+++ b/nix/mobile/android/release.nix
@@ -53,7 +53,8 @@ in stdenv.mkDerivation rec {
filter = lib.mkFilter {
root = path;
include = [
- "mobile/js_files.*" "resources/.*" "translations/.*"
+ "package.json" "yarn.lock" "metro.config.js"
+ "resources/.*" "translations/.*"
"modules/react-native-status/android.*" "android/.*"
envFileName "VERSION" ".watchmanconfig"
"status-go-version.json" "react-native.config.js"
@@ -94,9 +95,6 @@ in stdenv.mkDerivation rec {
# Ensure we have the right .env file
cp -f ./${envFileName} ./.env
- # create mobile node/yarn symlinks
- ln -sf ./mobile/js_files/* ./
-
# Copy index.js and app/ input files
cp -ra --no-preserve=ownership ${jsbundle}/* ./
diff --git a/nix/mobile/default.nix b/nix/mobile/default.nix
index 9e25fd4c30..1d29692a45 100644
--- a/nix/mobile/default.nix
+++ b/nix/mobile/default.nix
@@ -25,10 +25,6 @@ let
in {
shell = mkShell {
inputsFrom = (catAttrs "shell" selectedSources);
- shellHooks = ''
- # create mobile node/yarn symlinks
- ln -sf $STATUS_REACT_HOME/mobile/js_files/* $STATUS_REACT_HOME/
- '';
};
# TARGETS
diff --git a/nix/mobile/ios/default.nix b/nix/mobile/ios/default.nix
index 7fd79990f2..c04b39fdd1 100644
--- a/nix/mobile/ios/default.nix
+++ b/nix/mobile/ios/default.nix
@@ -23,15 +23,8 @@ in {
];
shellHook = ''
- {
- cd "$STATUS_REACT_HOME"
-
- # Set up symlinks to mobile enviroment in project root
- ln -sf ./mobile/js_files/* ./
-
- # check if node modules changed and if so install them
- ./nix/scripts/node_modules.sh "${deps.nodejs-patched}"
- }
+ # check if node modules changed and if so install them
+ ./nix/scripts/node_modules.sh "${deps.nodejs-patched}"
'';
};
diff --git a/nix/overlay.nix b/nix/overlay.nix
index 3a1f61ad3c..541dcc4dff 100644
--- a/nix/overlay.nix
+++ b/nix/overlay.nix
@@ -44,10 +44,6 @@ in {
# Custom packages
aapt2 = callPackage ./pkgs/aapt2 { };
gomobile = callPackage ./pkgs/gomobile { };
- qt5custom = callPackage ./pkgs/qt5custom { };
- qtkeychain-src = callPackage ./pkgs/qtkeychain-src { };
- appimagekit = callPackage ./pkgs/appimagekit { };
- linuxdeployqt = callPackage ./pkgs/linuxdeployqt { inherit (self) appimagekit; };
patchMavenSources = callPackage ./pkgs/patch-maven-srcs { };
goMavenResolver = callPackage ./pkgs/go-maven-resolver { };
}
diff --git a/nix/pkgs/appimagekit/default.nix b/nix/pkgs/appimagekit/default.nix
deleted file mode 100644
index 2ef49e5b23..0000000000
--- a/nix/pkgs/appimagekit/default.nix
+++ /dev/null
@@ -1,122 +0,0 @@
-{ stdenv, fetchFromGitHub
-, pkgconfig, cmake, autoconf, automake, libtool
-, wget, xxd, desktop-file-utils, file
-, gnupg, glib, zlib, cairo, openssl, fuse, xz, squashfuse, inotify-tools, libarchive
-, squashfsTools
-, gtest
-}:
-
-let
- owner = "AppImage";
- repo = "AppImageKit";
- rev = "b0859501df61cde198b54a317c03b41dbafc98b1";
- sha256 = "0qqg79jw9w9rs8c2w3lla4kz62ihafrf7jm370pp1dl8y2i81jzg";
-
- appimagekit_src = fetchFromGitHub {
- name = "${repo}-${stdenv.lib.strings.substring 0 7 rev}-source";
- inherit owner repo rev sha256;
- };
-
- # squashfuse adapted to nix from cmake experession in "${appimagekit_src}/cmake/dependencies.cmake"
- appimagekit_squashfuse = squashfuse.overrideAttrs (attrs: rec {
- pname = "squashfuse";
- version = "20161009";
-
- src = fetchFromGitHub {
- name = "squashfuse-source";
- owner = "vasi";
- repo = "squashfuse";
- rev = "1f980303b89c779eabfd0a0fdd36d6a7a311bf92";
- sha256 = "0lrw9ff8k15l34wjwyllw3i35hl0cms97jj2hpnr2q8ipgxpb5q5";
- };
-
- patches = [
- "${appimagekit_src}/squashfuse.patch"
- "${appimagekit_src}/squashfuse_dlopen.patch"
- ];
-
- postPatch = ''
- cp -v ${appimagekit_src}/squashfuse_dlopen.[hc] .
- '';
-
- preConfigure = ''
- sed -i "/PKG_CHECK_MODULES.*/,/,:./d" configure
- sed -i "s/typedef off_t sqfs_off_t/typedef int64_t sqfs_off_t/g" common.h
- '';
-
- configureFlags = [
- "--disable-demo" "--disable-high-level" "--without-lzo" "--without-lz4"
- ];
-
- postConfigure = ''
- sed -i "s|XZ_LIBS = -llzma |XZ_LIBS = -Bstatic -llzma/|g" Makefile
- '';
-
- # only static libs and header files
- installPhase = ''
- mkdir -p $out/lib $out/include
- cp -v ./.libs/*.a $out/lib
- cp -v ./*.h $out/include
- '';
- });
-
-in stdenv.mkDerivation rec {
- pname = "appimagekit";
- version = "20180727";
-
- src = appimagekit_src;
-
- patches = [ ./nix.patch ];
-
- nativeBuildInputs = [
- pkgconfig cmake autoconf automake libtool wget xxd
- desktop-file-utils
- ];
-
- buildInputs = [
- gnupg
- glib zlib cairo openssl fuse
- xz inotify-tools libarchive
- squashfsTools
- ];
-
- preConfigure = ''
- export HOME=$(pwd)
- '';
-
- cmakeFlags = [
- "-DUSE_SYSTEM_XZ=ON"
- "-DUSE_SYSTEM_SQUASHFUSE=ON"
- "-DSQUASHFUSE=${appimagekit_squashfuse}"
- "-DUSE_SYSTEM_INOTIFY_TOOLS=ON"
- "-DUSE_SYSTEM_LIBARCHIVE=ON"
- "-DUSE_SYSTEM_GTEST=ON"
- "-DUSE_SYSTEM_MKSQUASHFS=ON"
- "-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
- ];
-
- postInstall = ''
- cp "${stdenv.lib.makeBinPath [ squashfsTools ]}/mksquashfs" "$out/lib/appimagekit/"
- cp "${stdenv.lib.makeBinPath [ desktop-file-utils ]}/desktop-file-validate" "$out/bin"
- '';
-
- checkInputs = [ gtest ];
- doCheck = false; # fails 1 out of 4 tests, I'm too lazy to debug why
-
- # for debugging
- passthru = {
- squashfuse = appimagekit_squashfuse;
- };
-
- meta = with stdenv.lib; {
- description = "A tool to package desktop applications as AppImages";
- longDescription = ''
- AppImageKit is an implementation of the AppImage format that
- provides tools such as appimagetool and appimaged for handling
- AppImages.
- '';
- license = licenses.mit;
- homepage = src.meta.homepage;
- platforms = platforms.linux;
- };
-}
diff --git a/nix/pkgs/appimagekit/nix.patch b/nix/pkgs/appimagekit/nix.patch
deleted file mode 100644
index 4162e698c7..0000000000
--- a/nix/pkgs/appimagekit/nix.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake
-index ea133a3..916606c 100644
---- a/cmake/dependencies.cmake
-+++ b/cmake/dependencies.cmake
-@@ -224,21 +224,23 @@ if(NOT USE_SYSTEM_XZ)
- LIBRARY_DIRS /lib/
- LIBRARIES "/lib/liblzma.a"
- INCLUDE_DIRS "/src/liblzma/api/"
- )
- else()
- message(STATUS "Using system xz")
-
- import_pkgconfig_target(TARGET_NAME xz PKGCONFIG_TARGET liblzma STATIC)
- endif()
-
-+set(USE_SYSTEM_SQUASHFUSE OFF CACHE BOOL "Use system squashfuse instead of building our own")
-
-+if(NOT USE_SYSTEM_SQUASHFUSE)
- # as distros don't provide suitable squashfuse and squashfs-tools, those dependencies are bundled in, can, and should
- # be used from this repository
- # TODO: implement out-of-source builds for squashfuse, as for the other dependencies
- configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/src/patch-squashfuse.sh.in
- ${CMAKE_CURRENT_BINARY_DIR}/patch-squashfuse.sh
- @ONLY
- )
-
- ExternalProject_Add(squashfuse-EXTERNAL
-@@ -259,20 +261,34 @@ ExternalProject_Add(squashfuse-EXTERNAL
- BUILD_IN_SOURCE ON
- INSTALL_COMMAND ${MAKE} install
- )
-
- import_external_project(
- TARGET_NAME squashfuse
- EXT_PROJECT_NAME squashfuse-EXTERNAL
- LIBRARIES "/.libs/libsquashfuse.a;/.libs/libsquashfuse_ll.a;/.libs/libfuseprivate.a"
- INCLUDE_DIRS ""
- )
-+else()
-+ message(STATUS "Using system squashfsfuse from ${SQUASHFUSE}")
-+
-+ add_library(squashfuse INTERFACE IMPORTED GLOBAL)
-+
-+ set(squashfuse_INCLUDE_DIRS "${SQUASHFUSE}/include")
-+ set(squashfuse_LIBRARIES "${SQUASHFUSE}/lib/libsquashfuse.a;${SQUASHFUSE}/lib/libsquashfuse_ll.a;${SQUASHFUSE}/lib/libfuseprivate.a")
-+
-+ set_property(
-+ TARGET squashfuse
-+ PROPERTY INTERFACE_LINK_LIBRARIES ${squashfuse_LIBRARIES}
-+ )
-+ include_directories(${squashfuse_INCLUDE_DIRS})
-+endif()
-
-
- set(USE_SYSTEM_INOTIFY_TOOLS OFF CACHE BOOL "Use system libinotifytools instead of building our own")
-
- if(NOT USE_SYSTEM_INOTIFY_TOOLS)
- message(STATUS "Downloading and building inotify-tools")
-
- # TODO: build out of source
- ExternalProject_Add(inotify-tools-EXTERNAL
- URL https://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
-@@ -345,20 +361,23 @@ if(NOT USE_SYSTEM_GTEST)
- INCLUDE_DIRS "/include/"
- )
- else()
- message(STATUS "Using system GTest")
-
- import_find_pkg_target(gtest GTest GTEST)
- endif()
- endif()
-
-
-+set(USE_SYSTEM_MKSQUASHFS OFF CACHE BOOL "Use system mksquashfs instead of downloading and building our own")
-+
-+if(NOT USE_SYSTEM_MKSQUASHFS)
- # TODO: allow using system wide mksquashfs
- set(mksquashfs_cflags "-DXZ_SUPPORT ${CFLAGS}")
-
- if(xz_LIBRARIES MATCHES "\\.a$")
- set(mksquashfs_ldflags "${xz_LIBRARIES}")
- else()
- set(mksquashfs_ldflags "-l${xz_LIBRARIES}")
- endif()
-
- if(xz_INCLUDE_DIRS)
-@@ -385,20 +404,25 @@ ExternalProject_Add(mksquashfs
- INSTALL_COMMAND ${MAKE} -C squashfs-tools/ install INSTALL_DIR=
- )
-
- ExternalProject_Get_Property(mksquashfs INSTALL_DIR)
- set(mksquashfs_INSTALL_DIR "${INSTALL_DIR}")
- mark_as_advanced(mksquashfs_INSTALL_DIR)
-
- # for later use when packaging as an AppImage
- set(mksquashfs_BINARY "${mksquashfs_INSTALL_DIR}/mksquashfs")
- mark_as_advanced(mksquashfs_BINARY)
-+else()
-+ message(STATUS "Using system mksquashfs")
-+
-+ set(mksquashfs_BINARY "mksquashfs")
-+endif()
-
-
- #### build dependency configuration ####
-
- # only have to build custom xz when not using system libxz
- if(TARGET xz-EXTERNAL)
- if(TARGET squashfuse-EXTERNAL)
- ExternalProject_Add_StepDependencies(squashfuse-EXTERNAL configure xz-EXTERNAL)
- endif()
- if(TARGET mksquashfs)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 3f25442..974ed0e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -197,27 +197,27 @@ target_include_directories(digest_md5
-
- target_link_libraries(digest_md5
- PRIVATE
- libglib
- )
-
-
- # install binaries
- if(AUXILIARY_FILES_DESTINATION)
- install(
-- PROGRAMS ${mksquashfs_INSTALL_DIR}/mksquashfs ${CMAKE_CURRENT_BINARY_DIR}/runtime
-+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/runtime
- DESTINATION ${AUXILIARY_FILES_DESTINATION}
- COMPONENT applications
- )
- else()
- install(
-- PROGRAMS ${mksquashfs_INSTALL_DIR}/mksquashfs ${CMAKE_CURRENT_BINARY_DIR}/runtime
-+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/runtime
- DESTINATION bin
- COMPONENT applications
- )
- endif()
-
- install(
- TARGETS AppRun appimagetool digest validate
- RUNTIME DESTINATION bin COMPONENT applications
- LIBRARY DESTINATION lib COMPONENT applications
- ARCHIVE DESTINATION lib/static COMPONENT applications
-diff --git a/src/shared.c b/src/shared.c
-index cf5fd5c..4f48dbc 100644
---- a/src/shared.c
-+++ b/src/shared.c
-@@ -34,21 +34,21 @@
- #include
- #include
- #include
- #include
-
- #include
- #include
- #include
- #include
-
--#include "squashfuse.h"
-+#include
- #include
- #include "getsection.h"
- #include "elf.h"
-
- #include "xdg-basedir.h"
-
- // own header
- #include "shared.h"
-
- #if HAVE_LIBARCHIVE3 == 1 // CentOS
-diff --git a/src/appimagetool.c b/src/appimagetool.c
-index 69beaa1..c55d6b1 100644
---- a/src/appimagetool.c
-+++ b/src/appimagetool.c
-@@ -200,9 +200,6 @@ int sfs_mksquashfs(char *source, char *destination, int offset) {
- args[i++] = exclude_file;
- }
-
-- args[i++] = "-mkfs-fixed-time";
-- args[i++] = "0";
--
- args[i++] = 0;
-
- if (verbose) {
-@@ -348,7 +345,7 @@ void extract_arch_from_text(gchar *archname, const gchar* sourcename, bool* arch
- void guess_arch_of_file(const gchar *archfile, bool* archs) {
- char line[PATH_MAX];
- char command[PATH_MAX];
-- sprintf(command, "/usr/bin/file -L -N -b %s", archfile);
-+ sprintf(command, "file -L -N -b %s", archfile);
- FILE* fp = popen(command, "r");
- if (fp == NULL)
- die("Failed to run file command");
diff --git a/nix/pkgs/linuxdeployqt/default.nix b/nix/pkgs/linuxdeployqt/default.nix
deleted file mode 100644
index ea7caead36..0000000000
--- a/nix/pkgs/linuxdeployqt/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ pkgs, stdenv, fetchFromGitHub, appimagekit }:
-
-with pkgs;
-
-stdenv.mkDerivation rec {
- pname = "linuxdeployqt";
- version = "20181215";
- owner = "probonopd";
- repo = "linuxdeployqt";
- rev = "600fc20ea73ee937a402a2bb6b3663d93fcc1d4b";
- sha256 = "05kvkfbhsyadlcggl63rhrw5s36d8qxs8gyihrjn2cjk42xx8r7j";
-
- src =
- if stdenv.hostPlatform.system == "x86_64-linux" then
- fetchFromGitHub {
- name = "${repo}-${stdenv.lib.strings.substring 0 7 rev}-source";
- inherit owner repo rev sha256;
- }
- else throw "${name} is not supported on ${stdenv.hostPlatform.system}";
-
- # Add our own patch to make linuxdeployqt correctly include all /nix/store rpaths to LD_LIBRARY_PATH so we don't have to calculate that ourselves
- patches = [ ./linuxdeployqt.patch ];
-
- buildInputs = [ qt5.qtbase appimagekit ];
- nativeBuildInputs = [ wget ];
-
- buildPhase = ''
- qmake
- make
- '';
-
- installPhase = ''
- runHook preInstall
-
- mkdir -p $out/bin
- cp -r bin/linuxdeployqt $out/bin/
-
- runHook postInstall
- '';
-
- meta = {
- description = "Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications";
- homepage = https://github.com/probonopd/linuxdeployqt/;
- license = stdenv.lib.licenses.gpl3;
- maintainers = [ stdenv.lib.maintainers.pombeirp ];
- platforms = stdenv.lib.platforms.linux;
- };
-}
diff --git a/nix/pkgs/linuxdeployqt/linuxdeployqt.patch b/nix/pkgs/linuxdeployqt/linuxdeployqt.patch
deleted file mode 100644
index 150ff307c0..0000000000
--- a/nix/pkgs/linuxdeployqt/linuxdeployqt.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/tools/linuxdeployqt/shared.cpp b/tools/linuxdeployqt/shared.cpp
-index 4c0919a..1a136e0 100644
---- a/tools/linuxdeployqt/shared.cpp
-+++ b/tools/linuxdeployqt/shared.cpp
-@@ -833,20 +833,23 @@ void changeIdentification(const QString &id, const QString &binaryPath)
- LogNormal() << "Checking rpath in" << binaryPath;
- QString oldRpath = runPatchelf(QStringList() << "--print-rpath" << binaryPath);
- LogDebug() << "oldRpath:" << oldRpath;
-- if (oldRpath.startsWith("/")){
-- LogDebug() << "Old rpath in" << binaryPath << "starts with /, hence adding it to LD_LIBRARY_PATH";
-- // FIXME: Split along ":" characters, check each one, only append to LD_LIBRARY_PATH if not already there
-- QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
-- QString oldPath = env.value("LD_LIBRARY_PATH");
-- if (not oldPath.contains(oldRpath)){
-- QString newPath = oldRpath + ":" + oldPath; // FIXME: If we use a ldd replacement, we still need to observe this path
-- // FIXME: Directory layout might be different for system Qt; cannot assume lib/ to always be inside the Qt directory
-- LogDebug() << "Added to LD_LIBRARY_PATH:" << newPath;
-- setenv("LD_LIBRARY_PATH",newPath.toUtf8().constData(),1);
-+
-+ QStringList rpath = oldRpath.split(":", QString::SkipEmptyParts);
-+ foreach(QString path, QStringList(rpath)) {
-+ if (path.startsWith("/")){
-+ LogDebug() << "Old rpath in" << binaryPath << "starts with /, hence adding it to LD_LIBRARY_PATH";
-+ // FIXME: Split along ":" characters, check each one, only append to LD_LIBRARY_PATH if not already there
-+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
-+ QString oldPath = env.value("LD_LIBRARY_PATH");
-+ if (not oldPath.contains(oldRpath)){
-+ QString newPath = oldRpath + ":" + oldPath; // FIXME: If we use a ldd replacement, we still need to observe this path
-+ // FIXME: Directory layout might be different for system Qt; cannot assume lib/ to always be inside the Qt directory
-+ LogDebug() << "Added to LD_LIBRARY_PATH:" << newPath;
-+ setenv("LD_LIBRARY_PATH",newPath.toUtf8().constData(),1);
-+ }
- }
- }
-
-- QStringList rpath = oldRpath.split(":", QString::SkipEmptyParts);
- rpath.prepend(id);
- rpath.removeDuplicates();
- foreach(QString path, QStringList(rpath)) {
diff --git a/nix/pkgs/qt5custom/default.nix b/nix/pkgs/qt5custom/default.nix
deleted file mode 100644
index ccf711329a..0000000000
--- a/nix/pkgs/qt5custom/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ qt5 }:
-
-# Custom collection of QT libraries for Status desktop App
-qt5.env "qt-status-${qt5.qtbase.version}" (with qt5; [
- qtbase
- qtsvg
- qtwebengine
- qtwebview
- qtdeclarative
- qtquickcontrols2
-])
diff --git a/nix/pkgs/qtkeychain-src/default.nix b/nix/pkgs/qtkeychain-src/default.nix
deleted file mode 100644
index 1ef48b7fcb..0000000000
--- a/nix/pkgs/qtkeychain-src/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ pkgs, stdenv, fetchFromGitHub }:
-
-let
- version = "0.8.90";
- # This revision will get used in:
- # https://github.com/status-im/react-native-keychain/blob/master/desktop/CMakeLists.txt#L45
- rev = "d3c606c55adf8c2c2747556055652b3469f6c4c2";
- sha256 = "1gqw3g0j46aswncm8fgy419lp1fp2y2nild82hs18xra5albvf3i";
-
-in stdenv.mkDerivation {
- name = "qtkeychain-patched-source";
- version = "${version}-${stdenv.lib.strings.substring 0 7 rev}";
-
- src = fetchFromGitHub {
- inherit rev sha256;
- owner = "status-im";
- repo = "qtkeychain";
- name = "qtkeychain-source-${version}";
- };
-
- phases = [ "unpackPhase" ];
- unpackPhase = ''
- mkdir -p $out/src
- cp -r $src/* $out/src/
- substituteInPlace $out/src/CMakeLists.txt \
- --replace "cmake_minimum_required(VERSION 2.8.11)" "cmake_minimum_required(VERSION 3.12.1)" \
- --replace "project(qtkeychain)" "project(qtkeychain VERSION ${version})" \
- --replace "set(QTKEYCHAIN_VERSION 0.8.90)" "set(QTKEYCHAIN_VERSION ${version})" \
- --replace "{QTKEYCHAIN_VERSION}\" VARIABLE_PREFIX SNORE" "QTKEYCHAIN_VERSION VARIABLE_PREFIX SNORE" \
- --replace "\"\$QTKEYCHAIN_VERSION" qtkeychain
- '';
-
- meta = with stdenv.lib; {
- description = "Patched sources for qtkeychain, a platform-independent Qt API for storing passwords securely";
- homepage = https://github.com/status-im/qtkeychain;
- license = licenses.bsd3;
- maintainers = [ maintainers.pombeirp ];
- platforms = with platforms; darwin ++ linux;
- };
-}
diff --git a/nix/scripts/shell.sh b/nix/scripts/shell.sh
index 746ea887a8..00e1f66e4c 100755
--- a/nix/scripts/shell.sh
+++ b/nix/scripts/shell.sh
@@ -32,14 +32,6 @@ fi
entryPoint="default.nix"
nixArgs+=("--attr shells.${TARGET}")
-if [[ "$TARGET" =~ (linux|windows|darwin|macos) ]]; then
- # This is a dirty workaround because 'yarn install' is an impure operation,
- # so we need to call it from an impure shell.
- # Hopefully we'll be able to fix this later on with something like yarn2nix
- # TODO: Manage node dependencies for desktop with yarn2nix
- nix-shell ${nixArgs[@]} --run "scripts/prepare-for-desktop-platform.sh" default.nix || exit
-fi
-
config=''
if [ -n "${STATUS_GO_SRC_OVERRIDE}" ]; then
config+="status-im.status-go.src-override=\"${STATUS_GO_SRC_OVERRIDE}\";"
diff --git a/nix/shells.nix b/nix/shells.nix
index 76a60d55a4..e738347cc3 100644
--- a/nix/shells.nix
+++ b/nix/shells.nix
@@ -64,10 +64,6 @@ let
# helpers for use with target argument
ios = targets.mobile.ios.shell;
android = targets.mobile.android.shell;
- desktop = targets.desktop.shell;
- linux = targets.desktop.linux.shell;
- macos = targets.desktop.macos.shell;
- windows = targets.desktop.macos.shell;
status-go = targets.status-go.mobile.android;
};
diff --git a/nix/status-go/default.nix b/nix/status-go/default.nix
index 4e37e1c1d1..a4e4768975 100644
--- a/nix/status-go/default.nix
+++ b/nix/status-go/default.nix
@@ -38,11 +38,7 @@ in rec {
inherit meta source goBuildFlags goBuildLdFlags;
};
- desktop = callPackage ./desktop {
- inherit meta source goBuildFlags goBuildLdFlags;
- };
-
shell = mkShell {
- inputsFrom = [ mobile.android mobile.ios desktop ];
+ inputsFrom = [ mobile.android mobile.ios ];
};
}
diff --git a/nix/status-go/desktop/default.nix b/nix/status-go/desktop/default.nix
deleted file mode 100644
index d9b6955e25..0000000000
--- a/nix/status-go/desktop/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv, utils, go, buildGoPackage
-# object with source attributes
-, meta , source
-, goBuildFlags
-, goBuildLdFlags
-, outputFileName ? "libstatus.a" }:
-
-let
- inherit (lib) concatStringsSep optionalString concatMapStrings;
-
- removeReferences = [ go ];
- removeExpr = refs: ''remove-references-to ${concatMapStrings (ref: " -t ${ref}") refs}'';
-
- hostSystem = stdenv.hostPlatform.system;
-
-in buildGoPackage {
- pname = source.repo;
- version = "${source.cleanVersion}-${source.shortRev}";
-
- inherit meta;
- inherit (source) src goPackagePath;
-
- # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
- hardeningDisable = [ "fortify" ];
-
- # Ensure XCode is present, instead of failing at the end of the build
- preConfigure = optionalString stdenv.isDarwin utils.enforceXCodeAvailable;
-
- buildMessage = "Building desktop library";
-
- #GOOS=windows GOARCH=amd64 CGO_ENABLED=1 go build ${goBuildFlags} -buildmode=c-archive -o $out/${outputFileName} ./lib
- buildPhase = let
- CGO_LDFLAGS = concatStringsSep " " goBuildLdFlags;
- in ''
- pushd "$NIX_BUILD_TOP/go/src/${source.goPackagePath}" >/dev/null
-
- export GO111MODULE=off
-
- go build -o $out/${outputFileName} \
- ${concatStringsSep " " goBuildFlags} \
- -buildmode=c-archive \
- -ldflags='${CGO_LDFLAGS}' \
- ./lib
-
- popd >/dev/null
- '';
-
- # replace hardcoded paths to go package in /nix/store, otherwise Nix will fail the build
- fixupPhase = ''
- find $out -type f -exec ${removeExpr removeReferences} '{}' + || true
- '';
-
- installPhase = ''
- mkdir -p $out/lib/${hostSystem} $out/include
- mv $out/${outputFileName} $out/lib/${hostSystem}
- mv $out/libstatus.h $out/include
- '';
-
- outputs = [ "out" ];
-}
diff --git a/nix/status-go/desktop/shell.nix b/nix/status-go/desktop/shell.nix
deleted file mode 100644
index e0fb972019..0000000000
--- a/nix/status-go/desktop/shell.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# This is currently unused but is a reminder of how we used to build desktop app
-#
-
-{ mkShell, status-go-desktop }:
-
-mkShell {
- buildInputs = [ status-go-desktop ];
- # These variables are used by the Status Desktop CMake build script in:
- # - modules/react-native-status/desktop/CMakeLists.txt
- shellHook = ''
- export STATUS_GO_DESKTOP_INCLUDEDIR=${status-go-desktop}/include
- export STATUS_GO_DESKTOP_LIBDIR=${status-go-desktop}/lib
- '';
-}
diff --git a/nix/targets.nix b/nix/targets.nix
index 193d07f169..50d82ba0c2 100644
--- a/nix/targets.nix
+++ b/nix/targets.nix
@@ -7,8 +7,7 @@ let
inherit (pkgs) stdenv callPackage;
status-go = callPackage ./status-go { };
- desktop = callPackage ./desktop { inherit status-go; };
mobile = callPackage ./mobile { inherit status-go; };
in {
- inherit mobile desktop status-go;
+ inherit mobile status-go;
}
diff --git a/mobile/js_files/package.json b/package.json
similarity index 96%
rename from mobile/js_files/package.json
rename to package.json
index bdd7e4db18..3b78c97cf4 100644
--- a/mobile/js_files/package.json
+++ b/package.json
@@ -46,7 +46,6 @@
"react-native-languages": "^3.0.2",
"react-native-mail": "git+https://github.com/status-im/react-native-mail.git#v4.0.0-status",
"react-native-navigation-bar-color": "^2.0.1",
- "react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status",
"react-native-reanimated": "^1.7.0",
"react-native-redash": "^14.0.3",
"react-native-safe-area-context": "^2.0.0",
diff --git a/patches/metro-config+0.48.5.patch b/patches/metro-config+0.48.5.patch
deleted file mode 100644
index 6b7818a71a..0000000000
--- a/patches/metro-config+0.48.5.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-patch-package
---- a/node_modules/metro-config/src/defaults/defaults.js
-+++ b/node_modules/metro-config/src/defaults/defaults.js
-@@ -47,7 +47,7 @@ exports.sourceExts = ["js", "json", "ts", "tsx"];
-
- exports.moduleSystem = require.resolve("metro/src/lib/polyfills/require.js");
-
--exports.platforms = ["ios", "android", "windows", "web"];
-+exports.platforms = ["ios", "android", "windows", "web", "desktop"];
-
- exports.providesModuleNodeModules = ["react-native", "react-native-windows"];
-
diff --git a/rn-cli.config.js b/rn-cli.config.js
deleted file mode 100644
index 3cd8b230c0..0000000000
--- a/rn-cli.config.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const blacklist = require('metro').createBlacklist;
-
-module.exports = {
- getBlacklistRE: function() {
- return blacklist([/(desktop|mobile)\/js_files\/.*/]);
- }
-};
diff --git a/scripts/build-desktop.sh b/scripts/build-desktop.sh
deleted file mode 100755
index 8b65caaa5a..0000000000
--- a/scripts/build-desktop.sh
+++ /dev/null
@@ -1,461 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
-source "${GIT_ROOT}/scripts/colors.sh"
-
-VERBOSE_LEVEL=${VERBOSE_LEVEL:-1}
-SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
-OS=$(uname -s)
-if [ -z "$TARGET" ]; then
- TARGET=$(uname -s | tr '[:upper:]' '[:lower:]')
-fi
-WINDOWS_CROSSTOOLCHAIN_PKG_NAME='mxetoolchain-x86_64-w64-mingw32'
-
-source "$SCRIPTPATH/lib/setup/path-support.sh"
-
-source_lib "packages.sh"
-source_lib "platform.sh"
-
-function is_windows_target() {
- [[ "$TARGET" =~ windows ]]
-}
-
-function joinPath() {
- if program_exists 'realpath'; then
- realpath -m "$1/$2" 2> /dev/null
- else
- echo "$1/$2" | tr -s /
- fi
-}
-
-function joinExistingPath() {
- if program_exists 'realpath'; then
- realpath "$1/$2" 2> /dev/null
- else
- echo "$1/$2" | tr -s /
- fi
-}
-
-function join { local IFS="$1"; shift; echo "$*"; }
-
-CMAKE_EXTRA_FLAGS="-DCMAKE_CXX_FLAGS:='-DBUILD_FOR_BUNDLE=1'"
-[ -n $STATUS_NO_LOGGING ] && CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DSTATUS_NO_LOGGING=1"
-if is_windows_target; then
- CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_TOOLCHAIN_FILE='Toolchain-Ubuntu-mingw64.cmake'"
- CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_C_COMPILER='x86_64-w64-mingw32.shared-gcc'"
- CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_CXX_COMPILER='x86_64-w64-mingw32.shared-g++'"
- CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_RC_COMPILER='x86_64-w64-mingw32.shared-windres'"
-fi
-
-WORKFOLDER="$(joinExistingPath "$STATUS_REACT_HOME" 'StatusImPackage')"
-JS_BUNDLE_PATH="$WORKFOLDER/index.desktop.bundle"
-
-function init() {
- if [ -z $STATUS_REACT_HOME ]; then
- echo "${RED}STATUS_REACT_HOME environment variable is not defined!${RST}"
- exit 1
- fi
-
- if ! is_windows_target; then
- if [ -z $QT_PATH ]; then
- echo "${RED}QT_PATH environment variable is not defined!${RST}"
- exit 1
- fi
- fi
-
- if [[ "$OS" =~ Linux ]]; then
- rm -rf ./desktop/toolchain/
- # TODO: Use Conan for Linux and MacOS builds too
- if is_windows_target; then
- export PATH=$STATUS_REACT_HOME:$PATH
- if ! program_exists 'conan'; then
- echo "${RED}Conan package manager not found. Exiting...${RST}"
- exit 1
- fi
-
- conan remote add --insert 0 -f status-im https://conan.status.im
-
- echo "Generating cross-toolchain profile..."
- conan install -if ./desktop/toolchain/ -g json $WINDOWS_CROSSTOOLCHAIN_PKG_NAME/5.5.0-1@status-im/stable \
- -pr ./node_modules/status-conan/profiles/status-mingw32-x86_64
- python3 ./node_modules/status-conan/profiles/generate-profiles.py ./node_modules/status-conan/profiles ./desktop/toolchain/conanbuildinfo.json
-
- echo "Installing cross-toolchain..."
- conan install -if ./desktop/toolchain/ -g json -g cmake $WINDOWS_CROSSTOOLCHAIN_PKG_NAME/5.5.0-1@status-im/stable \
- -pr ./node_modules/status-conan/profiles/status-mxe-mingw32-x86_64-gcc55-libstdcxx
- fi
- fi
-}
-
-function buildJSBundle() {
- # create directory for all work related to bundling
- rm -rf $WORKFOLDER
- mkdir -p $WORKFOLDER
- echo -e "${GRN}Work folder created: $WORKFOLDER${RST}"
- echo ""
-
- # from index.desktop.js create javascript bundle and resources folder
- echo "Generating $JS_BUNDLE_PATH and assets folder..."
- react-native bundle \
- --reset-cache \
- --dev false \
- --entry-file index.desktop.js \
- --bundle-output "$JS_BUNDLE_PATH" \
- --assets-dest "$WORKFOLDER/assets" \
- --platform desktop
- echo -e "${GRN}Generating done.${RST}"
- echo ""
-}
-
-function compile() {
- # Temporarily add path to javascript bundle to package.json
- local jsBundleLine="\"desktopJSBundlePath\": \"$JS_BUNDLE_PATH\""
- local jsPackagePath=$(joinExistingPath "$STATUS_REACT_HOME" 'desktop/js_files/package.json')
-
- jq ".=(. + {$jsBundleLine})" "$jsPackagePath" | sponge "$jsPackagePath"
- echo -e "${YLW}Added 'desktopJSBundlePath' line to $jsPackagePath:${RST}"
- echo ""
-
- local EXTERNAL_MODULES_DIR="$(jq -r '.desktopExternalModules | @tsv | @text' "$jsPackagePath" | tr '\t' ';')"
- local DESKTOP_FONTS="$(jq -r '.desktopFonts | @tsv | @text' "$jsPackagePath" | tr '\t' ';')"
- local DESKTOP_IMAGES="$(jq -r '.desktopImages | @tsv | @text' "$jsPackagePath" | tr '\t' ';')"
- pushd desktop
- rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake Makefile modules reportApp/CMakeFiles desktop/node_modules/google-breakpad/CMakeFiles desktop/node_modules/react-native-keychain/desktop/qtkeychain-prefix/src/qtkeychain-build/CMakeFiles desktop/node_modules/react-native-keychain/desktop/qtkeychain
- if is_windows_target; then
- export PATH=$STATUS_REACT_HOME:$PATH
-
- # Get the toolchain bin folder from toolchain/conanbuildinfo.json
- local bin_dirs=$(jq -r '.dependencies[0].bin_paths | .[]' toolchain/conanbuildinfo.json)
- while read -r bin_dir; do
- if [ ! -d $bin ]; then
- echo -e "${RED}Could not find $bin_dir directory from 'toolchain/conanbuildinfo.json', aborting${RST}"
- exit 1
- fi
- export PATH=$bin_dir:$PATH
- done <<< "$bin_dirs"
- fi
- cmake -Wno-dev \
- $CMAKE_EXTRA_FLAGS \
- -DCMAKE_BUILD_TYPE=Release \
- -DEXTERNAL_MODULES_DIR="$EXTERNAL_MODULES_DIR" \
- -DDESKTOP_FONTS="$DESKTOP_FONTS" \
- -DDESKTOP_IMAGES="$DESKTOP_IMAGES" \
- -DJS_BUNDLE_PATH="$JS_BUNDLE_PATH" || exit 1
- make -S -j5 || exit 1
- popd
-
- git checkout $jsPackagePath # remove the bundle from the package.json file
-}
-
-function bundleWindows() {
- local buildType="$1"
-
- local version_file="${STATUS_REACT_HOME}/VERSION"
- VERSION=$(cat $version_file)
- if [ -z "$VERSION" ]; then
- echo "${RED}Could not read version from ${version_file}!${RST}"
- exit 1
- fi
-
- pushd $STATUS_REACT_HOME/desktop/bin
- rm -rf cmake_install.cmake Makefile CMakeFiles Status_autogen
- popd
-
- local compressionAlgo="lzma"
- local compressionType="/SOLID"
- if [ -z $buildType ]; then
- compressionAlgo="bzip2"
- compressionType=""
- elif [ "$buildType" = "pr" ]; then
- compressionAlgo="zlib"
- fi
-
- # TODO this needs to be fixed: status-react/issues/5378
- local top_srcdir=$(joinExistingPath "$STATUS_REACT_HOME" '.')
- VERSION_MAJOR="$(cut -d'.' -f1 <<<"$VERSION")"
- VERSION_MINOR="$(cut -d'.' -f2 <<<"$VERSION")"
- VERSION_BUILD="$(cut -d'.' -f3 <<<"$VERSION")"
- makensis -Dtop_srcdir=${top_srcdir} \
- -Dbase_image_dir=${STATUSREACT_WINDOWS_BASEIMAGE_PATH} \
- -DCOMPRESSION_ALGO=${compressionAlgo} \
- -DCOMPRESSION_TYPE=${compressionType} \
- -DVERSION_MAJOR=$VERSION_MAJOR \
- -DVERSION_MINOR=$VERSION_MINOR \
- -DVERSION_BUILD=$VERSION_BUILD \
- -DPUBLISHER=Status.im \
- -DWEBSITE_URL="https://status.im/" \
- ./deployment/windows/nsis/setup.nsi
-}
-
-function bundleLinux() {
- local QTBIN=$(joinExistingPath "$QT_PATH" 'gcc_64/bin')
- if [ ! -d "$QTBIN" ]; then
- # CI environment doesn't contain gcc_64 path component
- QTBIN=$(joinExistingPath "$QT_PATH" 'bin')
- fi
-
- echo "Creating AppImage..."
- pushd $WORKFOLDER
- rm -rf StatusImAppImage AppDir
-
- # TODO this needs to be fixed: status-react/issues/5378
- cp -r ${STATUSREACT_LINUX_BASEIMAGE_PATH}/StatusImAppImage .
- chmod -R +w StatusImAppImage/
-
- mkdir AppDir
- popd
-
- # invoke linuxdeployqt to create Status.AppImage
- local qmakePath="$(joinExistingPath "${QTBIN}" 'qmake')"
- local usrBinPath="$(joinPath "$WORKFOLDER" "AppDir/usr/bin")"
- cp -r ./deployment/linux/usr $WORKFOLDER/AppDir
- cp ./.env $usrBinPath
- cp ./desktop/bin/Status ./desktop/bin/reportApp $usrBinPath
-
- rm -f Application-x86_64.AppImage Status-x86_64.AppImage
-
- [ $VERBOSE_LEVEL -ge 1 ] && ldd $(joinExistingPath "$usrBinPath" 'Status')
- pushd $WORKFOLDER
- cp -r assets/share/assets $usrBinPath
- cp -rf StatusImAppImage/* $usrBinPath
- rm -f $usrBinPath/Status.AppImage
- popd
-
- local desktopFilePath="$(joinExistingPath "$WORKFOLDER" 'AppDir/usr/share/applications/Status.desktop')"
- linuxdeployqt \
- $desktopFilePath \
- -verbose=$VERBOSE_LEVEL -always-overwrite -no-strip \
- -no-translations -bundle-non-qt-libs \
- -qmake="$qmakePath" \
- -executable="$(joinExistingPath "$usrBinPath" 'reportApp')" \
- -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'node_modules/react-native')" \
- -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'desktop/reportApp')" \
- -extra-plugins=imageformats/libqsvg.so
-
- pushd $WORKFOLDER
- rm -f $usrBinPath/Status.AppImage
-
- # Patch libraries and executables to remove references to /nix/store
- set +e
- for f in `find ./AppDir/usr/lib/*`; do
- patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 $f 2> /dev/null
- patchelf --set-rpath "\$ORIGIN" $f
- done
- set -e
- for f in $usrBinPath/Status $usrBinPath/reportApp; do
- patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 --set-rpath "\$ORIGIN:\$ORIGIN/../lib" $f
- done
- # To make the output more reproducible, always set the timestamps to the same value
- for f in `find ./AppDir`; do
- touch --no-create -h -t 197001010000.00 $f
- done
- [ $VERBOSE_LEVEL -ge 1 ] && ldd $usrBinPath/Status
-
- appimagetool ./AppDir
- # Ensure the AppImage itself isn't using the interpreter in Nix's store
- patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 --set-rpath "\$ORIGIN" ./Status-x86_64.AppImage
- chmod +x ./Status-x86_64.AppImage
- rm -rf Status.AppImage
- mv -f ./Status-x86_64.AppImage ..
- popd
-
- echo -e "${GRN}Package ready in ./Status-x86_64.AppImage!${RST}"
- echo ""
-}
-
-if [[ "$OS" =~ Darwin ]]; then
- function copyDylibNixDependenciesToPackage() {
- local dylib="$1"
- local contentsDir="$2"
- local frameworksDir="$contentsDir/Frameworks"
- local exeDir="$contentsDir/MacOS"
-
- # Walk through the dependencies of $dylib
- local dependencies=$(otool -L "$dylib" | grep -E "\s+/nix/" | awk -F "(" '{print $1}' | xargs)
- local moduleDirPath=$(basename $dylib)
- for depDylib in $dependencies; do
- local targetDepDylib=$(joinPath "$frameworksDir" "$(basename $depDylib)")
- # Copy any dependencies that: are not in the Frameworks directory, do not already exist in /usr/lib and are not a Qt5 module (will be handled by macdeployqt anyway)
- if [ ! -f "$targetDepDylib" ] && [[ "$(basename $targetDepDylib)" != "libQt5"* ]] && [ ! -f "/usr/lib/$(basename $depDylib)" ]; then
- [ $VERBOSE_LEVEL -ge 1 ] && echo " Copying $depDylib to $frameworksDir..."
- cp -a -L "$depDylib" "$frameworksDir"
- chmod 0755 "$targetDepDylib"
-
- copyDylibNixDependenciesToPackage "$depDylib" "$contentsDir"
- fi
- done
- }
-
- function copyQtPlugInToPackage() {
- local qtPath="$1"
- local pluginName="$2"
- local contentsPath="$3"
- local filter=""
- local targetPath="$contentsPath/PlugIns"
- local pluginTargetPath="$targetPath/$pluginName"
-
- [ "$pluginName" == 'platforms' ] && filter='libqcocoa.dylib'
-
- mkdir -p $pluginTargetPath
- local qtLibPath=$(find $qtPath/lib -maxdepth 1 -name qt-*)
- local srcPath=$(readlink -f "$qtLibPath/plugins/$pluginName")
- echo "Copying $srcPath to $targetPath"
- if [ -z "$filter" ]; then
- cp -a -f -L "$srcPath" "$targetPath"
- else
- cp -f $(readlink -f "$srcPath/$filter") "$pluginTargetPath"
- fi
- chmod 755 $pluginTargetPath
- chmod 755 $pluginTargetPath/*
-
- for dylib in `find $pluginTargetPath -name *.dylib`; do
- copyDylibNixDependenciesToPackage "$dylib" "$contentsPath"
- done
- }
-
- function fixupRPathsInDylib() {
- local dylib="$1"
- local contentsDir="$2"
- local frameworksDir="$contentsDir/Frameworks"
- local exeDir="$contentsDir/MacOS"
-
- [ $VERBOSE_LEVEL -ge 1 ] && echo "Checking rpaths in ${dylib}"
-
- # Walk through the dependencies of $dylib
- local dependencies=$(otool -L "$dylib" | grep -E "\s+/nix/" | sed "s|@executable_path|$exeDir|" | awk -F "(" '{print $1}' | xargs)
- local moduleDirPath=$(dirname $dylib)
- for depDylib in $dependencies; do
- # Fix rpath and copy library to target
- local replacementTargetPath=""
- local framework=$(echo $depDylib | sed -E "s|^\/nix\/.+\/Library\/Frameworks\/(.+)\.framework\/\1$|\1|" 2> /dev/null)
- if [ -n "$framework" ] && [ "$framework" != "$depDylib" ]; then
- # Handle macOS framework
- local targetDepDylib=$(joinExistingPath "/System/Library/Frameworks" "${framework}.framework/${framework}")
-
- if [ ! -f "$targetDepDylib" ]; then
- echo -e "${RED}FATAL: system framework not found: ${targetDepDylib}${RST}"
- exit 1
- fi
-
- # Change dependency rpath in $dylib to point to $targetDepDylib
- replacementTargetPath=$targetDepDylib
- else
- # Handle other libraries
- local targetDepDylib=$(joinPath "$frameworksDir" "$(basename $depDylib)")
-
- if [ ! -f "$targetDepDylib" ]; then
- echo -e "${RED}FATAL: macdeployqt should have copied the dependency to ${targetDepDylib}${RST}"
- exit 1
- fi
-
- # Change dependency rpath in $dylib to point to $replacementTargetPath
- local replacementPath=""
- local targetDepModuleDirPath=$(dirname $targetDepDylib)
- if [[ $targetDepModuleDirPath -ef $moduleDirPath ]]; then
- replacementPath="@loader_path"
- else
- replacementPath="@executable_path/$(realpath --relative-to="$exeDir" "$targetDepModuleDirPath")"
- fi
- local modulePathRegExp="($(pwd)/)?$moduleDirPath"
- replacementTargetPath=$(echo $targetDepDylib | sed -E "s|$modulePathRegExp|$replacementPath|")
- fi
-
- if [ -n "$replacementTargetPath" ]; then
- [ $VERBOSE_LEVEL -ge 1 ] && echo "Updating $dylib to point to $replacementTargetPath"
- install_name_tool -change "$depDylib" "$replacementTargetPath" "$dylib"
- fi
- done
- }
-
- function fixupRemainingRPaths() {
- local searchRootPath="$1"
- local contentsDir="$2"
-
- for dylib in `find $searchRootPath -name *.dylib`; do
- fixupRPathsInDylib "$dylib" "$contentsDir"
-
- # Sanity check for absolute paths
- local dependencies=$(otool -L "$dylib" | grep -E "\s+${STATUS_REACT_HOME}")
- if [ -n "$dependencies" ]; then
- echo "Absolute path detected in dependencies of $dylib. Aborting..."
- echo "${dependencies[@]}"
- exit 1
- fi
- done
- }
-fi
-
-function bundleMacOS() {
- pushd $WORKFOLDER
- # download prepared package with mac bundle files (it contains qt libraries, icon)
- rm -rf Status.app
- # TODO this needs to be fixed: status-react/issues/5378
- cp -r ${STATUSREACT_MACOS_BASEIMAGE_PATH}/Status.app .
- chmod -R +w Status.app/
-
- local contentsPath='Status.app/Contents'
- local usrBinPath=$(joinExistingPath "$WORKFOLDER" "$contentsPath/MacOS")
-
- cp -r assets/share/assets $contentsPath/Resources
- ln -sf ../Resources/assets ../Resources/ubuntu-server $usrBinPath
- chmod +x $contentsPath/Resources/ubuntu-server
- cp ../desktop/bin/Status $usrBinPath/Status
- cp ../desktop/bin/reportApp $usrBinPath
- cp ../.env $contentsPath/Resources
- ln -sf ../Resources/.env $usrBinPath/.env
- cp -f ../deployment/macos/qt-reportApp.conf $contentsPath/Resources
- ln -sf ../Resources/qt-reportApp.conf $usrBinPath/qt.conf
- cp -f ../deployment/macos/Info.plist $contentsPath
- cp -f ../deployment/macos/status-icon.icns $contentsPath/Resources
-
- local qtbaseplugins=(bearer platforms printsupport styles)
- local qtfullplugins=(iconengines imageformats webview)
- if [ -n "$IN_NIX_SHELL" ]; then
- # Since in the Nix qt.full package the different Qt modules are spread across several directories,
- # macdeployqt cannot find some qtbase plugins, so we copy them in its place
- mkdir -p "$contentsPath/PlugIns"
- for plugin in ${qtbaseplugins[@]}; do copyQtPlugInToPackage "$QT_BASEBIN_PATH" "$plugin" "$contentsPath"; done
- for plugin in ${qtfullplugins[@]}; do copyQtPlugInToPackage "$QT_PATH" "$plugin" "$contentsPath"; done
- fi
-
- macdeployqt Status.app \
- -verbose=$VERBOSE_LEVEL \
- -executable="$(joinExistingPath "$usrBinPath" 'reportApp')" \
- -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'node_modules/react-native')" \
- -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'desktop/reportApp')"
-
- # macdeployqt doesn't fix rpaths for all the libraries (although it copies them all), so we'll just walk through them and update rpaths to not point to /nix
- echo "Fixing remaining rpaths in modules..."
- fixupRemainingRPaths "$contentsPath/Frameworks" "$contentsPath"
- fixupRemainingRPaths "$contentsPath/PlugIns" "$contentsPath"
- echo "Done fixing rpaths in modules"
- rm -f Status.app.zip
- popd
-
- echo -e "${GRN}Package ready in $WORKFOLDER/Status.app!${RST}"
- echo ""
-}
-
-function bundle() {
- if [[ "$OS" =~ Darwin ]]; then
- bundleMacOS
- elif [[ "$OS" =~ Linux ]]; then
- if is_windows_target; then
- bundleWindows
- else
- bundleLinux
- fi
- fi
-}
-
-init
-
-if [ -z "$@" ]; then
- buildJSBundle
- compile
- bundle
-else
- "$@"
-fi
diff --git a/scripts/prepare-for-desktop-platform.sh b/scripts/prepare-for-desktop-platform.sh
deleted file mode 100755
index 89d8d60bd5..0000000000
--- a/scripts/prepare-for-desktop-platform.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-
-# WARNING: Impure setup, should be minimized.
-# TODO: Replace this with yarn2nix.
-
-set -e
-
-GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
-source "${GIT_ROOT}/scripts/colors.sh"
-
-PLATFORM_FOLDER="desktop/js_files"
-
-if [ ! -f package.json ] || [ $(readlink package.json) != "${PLATFORM_FOLDER}/package.json" ]; then
- rm -rf node_modules
-
- echo "Creating link: package.json -> ${PLATFORM_FOLDER}/package.json"
- ln -sf ${PLATFORM_FOLDER}/package.json package.json
-
- echo "Creating link: yarn.lock -> ${PLATFORM_FOLDER}/yarn.lock"
- ln -sf ${PLATFORM_FOLDER}/yarn.lock yarn.lock
-
- echo "Creating link: metro.config.js -> ${PLATFORM_FOLDER}/metro.config.js"
- ln -sf ${PLATFORM_FOLDER}/metro.config.js metro.config.js
-fi
-
-mkdir -p "$GIT_ROOT/node_modules/"
-# Leverage flock (file lock) utility to create an exclusive lock on node_modules/ while running 'yarn install'
-flock "$GIT_ROOT/node_modules/" yarn install --frozen-lockfile
-
-echo -e "${GRN}Finished!${RST}"
diff --git a/scripts/sign-macos-pkg.sh b/scripts/sign-macos-pkg.sh
deleted file mode 100755
index 95be1329da..0000000000
--- a/scripts/sign-macos-pkg.sh
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env bash
-
-DEV_ID="Developer ID Application: STATUS HOLDINGS PTE. LTD. (DTX7Z4U3YA)"
-
-OBJECT="$1"
-GPG_ENCRYPTED_KEYCHAIN="$2"
-
-if [ `uname` != 'Darwin' ]; then
- echo "This only works on macOS."
- exit 1
-elif [ $# -ne 2 ]; then
- echo "sign-macos-bundle.sh "
- exit 1
-elif [ ! -e "$OBJECT" ]; then
- echo "Object does not exist."
- exit 1
-elif [ ! -f "$GPG_ENCRYPTED_KEYCHAIN" ]; then
- echo "Encrypted keychain file does not exist."
- exit 1
-fi
-
-# Required env variables:
-
-export GPG_PASS_OUTER
-export GPG_PASS_INNER
-export KEYCHAIN_PASS
-
-[ -z "$GPG_PASS_OUTER" ] && echo 'Missing env var: GPG_PASS_OUTER' && exit 1
-[ -z "$GPG_PASS_INNER" ] && echo 'Missing env var: GPG_PASS_INNER' && exit 1
-[ -z "$KEYCHAIN_PASS" ] && echo 'Missing env var: KEYCHAIN_PASS' && exit 1
-
-# If GPG hasn't been run on this host before, we run it once
-# quietly to make sure it creates the directories it needs first
-# and doesn't trip when trying to do the decryption further down
-script -q /dev/null gpg < /dev/null > /dev/null
-
-set -e
-
-echo -e "\n### Storing original keychain search list..."
-ORIG_KEYCHAIN_LIST="$(security list-keychains \
- | grep -v "/Library/Keychains/System.keychain" \
- | grep -v "/private/var/folders" \
- | xargs)"
-
-echo -e "\n### Creating ramdisk..."
-RAMDISK="$(hdiutil attach -nomount ram://20480 | tr -d '[:blank:]')"
-MOUNTPOINT="$(mktemp -d)"
-KEYCHAIN="${MOUNTPOINT}/macos-developer-id.keychain-db"
-
-function clean_up {
- local STATUS=$?
-
- set +e
-
- if [ $STATUS -eq 0 ]; then
- echo -e "\n###### DONE."
- else
- echo -e "\n###### ERROR. See above for details."
- fi
-
- echo -e "\n###### Cleaning up..."
-
- echo -e "\n### Locking keychain..."
- security lock-keychain "$KEYCHAIN"
-
- echo -e "\n### Restoring original keychain search list..."
- security list-keychains -s $ORIG_KEYCHAIN_LIST
- security list-keychains
-
- echo -e "\n### Delete keychain file..."
- security delete-keychain "$KEYCHAIN"
-
- echo -e "\n### Destroying ramdisk..."
- diskutil umount force "$RAMDISK"
- diskutil eject "$RAMDISK"
-
- exit $STATUS
-}
-
-trap clean_up ERR EXIT
-
-echo -e "\n### Formatting and mounting ramdisk..."
-newfs_hfs "$RAMDISK"
-mount -t hfs "$RAMDISK" "$MOUNTPOINT"
-
-echo -e "\n### Decrypting keychain to $KEYCHAIN ..."
-gpg --batch --passphrase "$GPG_PASS_OUTER" --pinentry-mode loopback \
- --decrypt "$GPG_ENCRYPTED_KEYCHAIN" \
- | gpg --batch --passphrase "$GPG_PASS_INNER" --pinentry-mode loopback \
- --decrypt > "$KEYCHAIN"
-
-echo -e "\n### Adding code-signing keychain to search list..."
-security list-keychains -s $ORIG_KEYCHAIN_LIST "$KEYCHAIN"
-security list-keychains
-
-echo -e "\n### Unlocking keychain..."
-security unlock-keychain -p "$KEYCHAIN_PASS" "$KEYCHAIN"
-
-echo -e "\n### Signing object..."
-
-# If `OBJECT` is a directory, we assume it's an app
-# bundle, otherwise we consider it to be a dmg.
-if [ -d "$OBJECT" ]; then
- codesign --sign "$DEV_ID" --keychain "$KEYCHAIN" --options runtime --deep --force --verbose=4 "$OBJECT"
-else
- codesign --sign "$DEV_ID" --keychain "$KEYCHAIN" --options runtime --force --verbose=4 "$OBJECT"
-fi
-
-echo -e "\n### Verifying signature..."
-codesign --verify --strict=all --deep --verbose=4 "$OBJECT"
-
-echo -e "\n### Assessing Gatekeeper validation..."
-if [ -d "$OBJECT" ]; then
- spctl --assess --type execute --verbose=2 "$OBJECT"
-else
- echo "WARNING: The 'open' type security assesment is disabled due to lack of 'Notarization'"
- # Issue: https://github.com/status-im/status-react/pull/9172
- # Details: https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution
- #spctl --assess --type open --context context:primary-signature --verbose=2 "$OBJECT"
-fi
diff --git a/src/mocks/js_dependencies.cljs b/src/mocks/js_dependencies.cljs
index 910249cde0..a0ad9e1486 100644
--- a/src/mocks/js_dependencies.cljs
+++ b/src/mocks/js_dependencies.cljs
@@ -70,9 +70,6 @@
(def webview #js {:WebView #js {}})
(def status-keycard #js {:default #js {}})
-(def desktop-linking #js {:addEventListener (fn [])})
-(def desktop-shortcuts #js {:addEventListener (fn [])})
-
(def snoopy #js {:default #js {}})
(def snoopy-filter #js {:default #js {}})
(def snoopy-bars #js {:default #js {}})
@@ -87,10 +84,8 @@
(def keychain #js {:setGenericPassword (constantly (.resolve js/Promise true))
"ACCESSIBLE" {}
"ACCESS_CONTROL" {}})
-(def desktop-menu #js {})
-(def desktop-config #js {})
+
(def react-native-mail #js {:mail #js {}})
-(def react-native-navigation-twopane #js {})
(def react-native-screens #js {})
(def react-native-shake #js {})
(def net-info #js {})
diff --git a/src/status_im/chat/models.cljs b/src/status_im/chat/models.cljs
index 38ed94bb92..d46996f467 100644
--- a/src/status_im/chat/models.cljs
+++ b/src/status_im/chat/models.cljs
@@ -10,13 +10,10 @@
[status-im.i18n :as i18n]
[status-im.mailserver.core :as mailserver]
[status-im.ui.components.colors :as colors]
- [status-im.ui.components.react :as react]
[status-im.navigation :as navigation]
[status-im.utils.clocks :as utils.clocks]
[status-im.utils.fx :as fx]
- [status-im.utils.platform :as platform]
[status-im.utils.utils :as utils]
- [status-im.chat.models.message-seen :as message-seen]
[status-im.chat.models.loading :as loading]))
(defn- get-chat [cofx chat-id]
@@ -234,8 +231,6 @@
;; happens on membership changes
(when-not (group-chat? cofx chat-id)
(transport.filters/load-chat chat-id))
- (when platform/desktop?
- (message-seen/mark-messages-seen chat-id))
(loading/load-messages))))
(fx/defn navigate-to-chat
@@ -281,16 +276,6 @@
(i18n/label :cooldown/warning-message)
#())))
-(defn set-dock-badge-label
- "Sets dock badge label (OSX only for now).
- Label must be a string. Pass nil or empty string to clear the label."
- [label]
- (.setDockBadgeLabel ^js react/desktop-notification label))
-
-(re-frame/reg-fx
- :set-dock-badge-label
- set-dock-badge-label)
-
(fx/defn show-profile
{:events [:chat.ui/show-profile]}
[cofx identity]
diff --git a/src/status_im/chat/models/message_seen.cljs b/src/status_im/chat/models/message_seen.cljs
index 948dc50b1a..c318048196 100644
--- a/src/status_im/chat/models/message_seen.cljs
+++ b/src/status_im/chat/models/message_seen.cljs
@@ -1,31 +1,13 @@
(ns status-im.chat.models.message-seen
(:require [status-im.utils.fx :as fx]
- [status-im.data-store.messages :as messages-store]
- [status-im.utils.platform :as platform]))
-
-(defn- unread-messages-number [chats]
- (apply + (map :unviewed-messages-count chats)))
-
-(fx/defn update-dock-badge-label
- [cofx]
- (let [chats (get-in cofx [:db :chats])
- active-chats (filter :is-active (vals chats))
- private-chats (filter (complement :public?) active-chats)
- public-chats (filter :public? active-chats)
- private-chats-unread-count (unread-messages-number private-chats)
- public-chats-unread-count (unread-messages-number public-chats)
- label (cond
- (pos? private-chats-unread-count) private-chats-unread-count
- (pos? public-chats-unread-count) "•"
- :else nil)]
- {:set-dock-badge-label label}))
+ [status-im.data-store.messages :as messages-store]))
(defn subtract-seen-messages
[old-count new-seen-messages-ids]
(max 0 (- old-count (count new-seen-messages-ids))))
(fx/defn update-chats-unviewed-messages-count
- [{:keys [db] :as cofx} {:keys [chat-id loaded-unviewed-messages-ids]}]
+ [{:keys [db]} {:keys [chat-id _]}]
(let [{:keys [loaded-unviewed-messages-ids unviewed-messages-count]}
(get-in db [:chats chat-id])]
{:db (update-in db [:chats chat-id] assoc
@@ -46,6 +28,4 @@
db
loaded-unviewed-ids)}
(messages-store/mark-messages-seen chat-id loaded-unviewed-ids nil)
- (update-chats-unviewed-messages-count {:chat-id chat-id})
- (when platform/desktop?
- (update-dock-badge-label))))))
+ (update-chats-unviewed-messages-count {:chat-id chat-id})))))
diff --git a/src/status_im/chat/models_test.cljs b/src/status_im/chat/models_test.cljs
index cff1e9c497..8fde8b7aba 100644
--- a/src/status_im/chat/models_test.cljs
+++ b/src/status_im/chat/models_test.cljs
@@ -4,8 +4,7 @@
[status-im.utils.identicon :as identicon]
[status-im.ethereum.json-rpc :as json-rpc]
[status-im.utils.clocks :as utils.clocks]
- [status-im.chat.models :as chat]
- [status-im.chat.models.message-seen :as message-seen]))
+ [status-im.chat.models :as chat]))
(deftest upsert-chat-test
(testing "upserting a non existing chat"
@@ -154,38 +153,3 @@
:loaded-unviewed-messages-ids #{"6" "5" "4"}}
"opened" {:loaded-unviewed-messages-ids #{}}
"1-1" {:loaded-unviewed-messages-ids #{"6" "5" "4"}}}})
-
-(deftest update-dock-badge-label
- (testing "When user has unseen private messages"
- (is (= {:set-dock-badge-label 3}
- (message-seen/update-dock-badge-label
- {:db {:chats {"0x0" {:is-active true
- :public? false
- :unviewed-messages-count 3
- :loaded-unviewed-messages-ids #{1 2 3}}
- "status" {:is-active true
- :public? true
- :unviewed-messages-count 2
- :loaded-unviewed-messages-ids #{1 2}}}}}))))
- (testing "When user has unseen public messages and no unseen private messages"
- (is (= {:set-dock-badge-label "•"}
- (message-seen/update-dock-badge-label
- {:db {:chats {"0x0" {:is-active true
- :public? false
- :unviewed-messages-count 0
- :loaded-unviewed-messages-ids #{}}
- "status" {:is-active true
- :public? true
- :unviewed-messages-count 2
- :loaded-unviewed-messages-ids #{1 2}}}}}))))
- (testing "When user has no unseen messages"
- (is (= {:set-dock-badge-label nil}
- (message-seen/update-dock-badge-label
- {:db {:chats {"0x0" {:is-active true
- :public? false
- :unviewed-messages-count 0
- :loaded-unviewed-messages-ids #{}}
- "status" {:is-active true
- :public? true
- :unviewed-messages-count 0
- :loaded-unviewed-messages-ids #{}}}}})))))
diff --git a/src/status_im/constants.cljs b/src/status_im/constants.cljs
index 4c4885a774..bbe3382f9d 100644
--- a/src/status_im/constants.cljs
+++ b/src/status_im/constants.cljs
@@ -28,16 +28,9 @@
(def command-state-transaction-pending 6)
(def command-state-transaction-sent 7)
-(def desktop-content-types
- #{content-type-text content-type-emoji content-type-status})
-
(def min-password-length 6)
(def max-group-chat-participants 10)
(def default-number-of-messages 20)
-(def blocks-per-hour 120)
-(def one-earth-day 86400)
-(def two-pane-min-width 640)
-(def left-pane-min-width 320)
(def mailserver-password "status-offline-inbox")
@@ -194,9 +187,6 @@
:vnd {:id :vnd :code "VND" :display-name (i18n/label :t/currency-display-name-vnd) :symbol "₫"}
:zar {:id :zar :code "ZAR" :display-name (i18n/label :t/currency-display-name-zar) :symbol "R"}})
-;; Used to generate topic for contact discoveries
-(def contact-discovery "contact-discovery")
-
(def send-transaction-failed-parse-response 1)
(def send-transaction-failed-parse-params 2)
(def send-transaction-no-account-selected 3)
@@ -208,24 +198,6 @@
(def web3-sign-typed-data "eth_signTypedData")
(def web3-sign-typed-data-v3 "eth_signTypedData_v3")
-(def web3-get-logs "eth_getLogs")
-(def web3-transaction-receipt "eth_getTransactionReceipt")
-(def web3-new-filter "eth_newFilter")
-(def web3-new-pending-transaction-filter "eth_newPendingTransactionFilter")
-(def web3-new-block-filter "eth_newBlockFilter")
-(def web3-uninstall-filter "eth_uninstallFilter")
-(def web3-get-filter-changes "eth_getFilterChanges")
-
-(def web3-shh-post "shh_post")
-(def web3-shh-new-identity "shh_newIdentity")
-(def web3-shh-has-identity "shh_hasIdentity")
-(def web3-shh-new-group "shh_newGroup")
-(def web3-shh-add-to-group "shh_addToGroup")
-(def web3-shh-new-filter "shh_newFilter")
-(def web3-shh-uninstall-filter "shh_uninstallFilter")
-(def web3-shh-get-filter-changes "shh_getFilterChanges")
-(def web3-shh-get-messages "shh_getMessages")
-
;; Keycard ns
(def web3-keycard-sign-typed-data "keycard_signTypedData")
@@ -249,18 +221,11 @@
(def path-wallet-root-keyword (keyword path-wallet-root))
(def path-eip1581-keyword (keyword path-eip1581))
-;; (ethereum/sha3 "Transfer(address,address,uint256)")
-(def event-transfer-hash "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")
-
(def method-id-transfer "0xa9059cbb")
(def method-id-approve "0x095ea7b3")
(def method-id-approve-and-call "0xcae9ca51")
(def regx-emoji #"^((?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDD1-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])?|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])\uFE0F|[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])+$")
-(def regx-rtl-characters #"[^\u0591-\u06EF\u06FA-\u07FF\u200F\u202B\u202E\uFB1D-\uFDFD\uFE70-\uFEFC]*?[\u0591-\u06EF\u06FA-\u07FF\u200F\u202B\u202E\uFB1D-\uFDFD\uFE70-\uFEFC]")
-(def regx-url #"(?i)(?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9\-]+[.][a-z]{1,4}/?)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'\".,<>?«»“”‘’]){0,}")
-(def regx-tag #"#[a-z0-9\-]+")
-(def regx-mention #"@[a-z0-9\-]+")
(def regx-bold #"\*[^*]+\*")
(def regx-italic #"~[^~]+~")
(def regx-backquote #"`[^`]+`")
@@ -269,7 +234,6 @@
(def lines-collapse-threshold 20)
(def chars-collapse-threshold 600)
-(def desktop-msg-chars-hard-limit 10000)
(def dapp-permission-contact-code "contact-code")
(def dapp-permission-web3 "web3")
@@ -277,15 +241,10 @@
(def api-response "api-response")
(def api-request "api-request")
(def history-state-changed "history-state-changed")
-(def debug-metrics "debug_metrics")
(def web3-send-async-read-only "web3-send-async-read-only")
(def web3-send-async-callback "web3-send-async-callback")
(def scan-qr-code "scan-qr-code")
-;;ipfs
-(def ipfs-proto-code "e3")
-(def swarm-proto-code "e4")
-
(def faq "https://status.im/faq/")
(def faq-keycard (str faq "#keycard"))
(def keycard-integration-link "https://status.im/keycard-integration")
diff --git a/src/status_im/db.cljs b/src/status_im/db.cljs
index d5b85221c2..d120583db4 100644
--- a/src/status_im/db.cljs
+++ b/src/status_im/db.cljs
@@ -33,7 +33,6 @@
:chat/spam-messages-frequency 0
:tooltips {}
:initial-props {}
- :desktop/desktop {:tab-view-id :home}
:dimensions/window (dimensions/window)
:registry {}
:stickers/packs-owned #{}
@@ -43,5 +42,4 @@
:confirmation []
:current []
:puk []
- :enter-step :original}}
- :two-pane-ui-enabled? (dimensions/fit-two-pane?)})
+ :enter-step :original}}})
diff --git a/src/status_im/desktop/core.cljs b/src/status_im/desktop/core.cljs
deleted file mode 100644
index 433d5e365f..0000000000
--- a/src/status_im/desktop/core.cljs
+++ /dev/null
@@ -1,44 +0,0 @@
-(ns status-im.desktop.core
- (:require [reagent.core :as reagent]
- [re-frame.core :as re-frame]
- ["react-native" :as rn]
- status-im.utils.db
- status-im.subs
- [status-im.ui.screens.views :as views]
- [status-im.ui.components.react :as react]
- [status-im.utils.snoopy :as snoopy]
- [status-im.utils.error-handler :as error-handler]
- [status-im.ui.screens.desktop.views :as desktop-views]
- [status-im.desktop.deep-links :as deep-links]
- [status-im.utils.config :as config]))
-
-(def app-registry (.-AppRegistry rn))
-
-(defn app-state-change-handler [state]
- (re-frame/dispatch [:app-state-change state]))
-
-(defn app-root [_]
- (if config/mobile-ui-for-desktop?
- (reagent/create-class
- {:component-did-mount
- (fn [this]
- (.addEventListener ^js react/app-state "change" app-state-change-handler)
- (re-frame/dispatch [:set-initial-props (reagent/props this)]))
- :component-will-unmount
- (fn []
- (.removeEventListener ^js react/app-state "change" app-state-change-handler))
- :display-name "root"
- :reagent-render views/main})
- (reagent/create-class
- {:component-did-mount (fn [this]
- (re-frame/dispatch [:set-initial-props (reagent/props this)])
- ;(shortcuts/register-default-shortcuts)
- (deep-links/add-event-listener))
- :reagent-render (fn [_]
- desktop-views/main)})))
-
-(defn init []
- (error-handler/register-exception-handler!)
- (re-frame/dispatch-sync [:init/app-started])
- (.registerComponent ^js app-registry "StatusIm" #(reagent/reactify-component app-root))
- (snoopy/subscribe!))
diff --git a/src/status_im/desktop/deep_links.cljs b/src/status_im/desktop/deep_links.cljs
deleted file mode 100644
index e0158fd211..0000000000
--- a/src/status_im/desktop/deep_links.cljs
+++ /dev/null
@@ -1,15 +0,0 @@
-(ns status-im.desktop.deep-links
- (:require [re-frame.core :as re-frame]
- [status-im.react-native.js-dependencies :as js-dependencies]
- [taoensso.timbre :as log]
- ["react-native" :refer (NativeEventEmitter)]))
-
-(defn add-event-listener []
- (let [^js event-emitter (new NativeEventEmitter
- js-dependencies/desktop-linking)]
- (.addListener event-emitter
- "urlOpened"
- (fn [data]
- (log/debug "urlOpened event with data:" data)
- (let [url (get (js->clj data) "url")]
- (re-frame/dispatch [:handle-universal-link url]))))))
diff --git a/src/status_im/desktop/platform.cljs b/src/status_im/desktop/platform.cljs
deleted file mode 100644
index cb4050472f..0000000000
--- a/src/status_im/desktop/platform.cljs
+++ /dev/null
@@ -1,6 +0,0 @@
-(ns status-im.desktop.platform)
-
-;; Structure to be exported
-
-(def platform-specific
- {:status-bar-default-height 25})
diff --git a/src/status_im/events.cljs b/src/status_im/events.cljs
index 9e965638c0..010f516cca 100644
--- a/src/status_im/events.cljs
+++ b/src/status_im/events.cljs
@@ -111,11 +111,6 @@
:on-accept open-chaos-unicorn-day-link}})
(multiaccounts/switch-chaos-mode chaos-mode?)))))
-(handlers/register-handler-fx
- :multiaccounts.ui/notifications-enabled
- (fn [cofx [_ desktop-notifications?]]
- (multiaccounts/enable-notifications cofx desktop-notifications?)))
-
(handlers/register-handler-fx
:multiaccounts.ui/preview-privacy-mode-switched
(fn [cofx [_ private?]]
@@ -334,19 +329,6 @@
(fn [cofx [_ log-level]]
(log-level/show-change-log-level-confirmation cofx log-level)))
-(handlers/register-handler-fx
- :log-level.ui/logging-enabled
- (fn [cofx [_ enabled]]
- (log/debug "### :log-level.ui/logging-enabled" enabled)
-
- (log-level/show-logging-enabled-confirmation cofx enabled)))
-
-(handlers/register-handler-fx
- :log-level.ui/logging-enabled-confirmed
- (fn [_ [_ _]]
- ;;FIXME desktop only
- #_(log-level/save-logging-enabled cofx enabled)))
-
;; Browser bridge module
(handlers/register-handler-fx
@@ -1288,11 +1270,6 @@
(fn [{:keys [db]} [_ dimensions]]
{:db (assoc db :dimensions/window (dimensions/window dimensions))}))
-(handlers/register-handler-fx
- :set-two-pane-ui-enabled
- (fn [{:keys [db]} [_ enabled?]]
- {:db (assoc db :two-pane-ui-enabled? enabled?)}))
-
;; NOTE: Will be removed with the keycard PR
(handlers/register-handler-fx
:screens/on-will-focus
diff --git a/src/status_im/i18n_test.cljs b/src/status_im/i18n_test.cljs
index 5d17a2885b..4dfa77a07e 100644
--- a/src/status_im/i18n_test.cljs
+++ b/src/status_im/i18n_test.cljs
@@ -320,7 +320,6 @@
:delete-network-title
:deny
:description
- :desktop-alpha-release-warning
:dev-mode
:dev-mode-settings
:device-syncing
@@ -933,7 +932,6 @@
:url
:usd-currency
:use-valid-contact-code
- :use-valid-contact-code-desktop
:validation-amount-invalid-number
:validation-amount-is-too-precise
:version
diff --git a/src/status_im/init/core.cljs b/src/status_im/init/core.cljs
index 53c627b34a..e9a5538d24 100644
--- a/src/status_im/init/core.cljs
+++ b/src/status_im/init/core.cljs
@@ -12,12 +12,10 @@
(fx/defn initialize-app-db
"Initialize db to initial state"
[{{:keys [hardwallet initial-props supported-biometric-auth app-active-since]
- :desktop/keys [desktop]
:network/keys [type]} :db
now :now}]
{:db (assoc app-db
:initial-props initial-props
- :desktop/desktop (merge desktop (:desktop/desktop app-db))
:network/type type
:hardwallet (dissoc hardwallet :secrets)
:supported-biometric-auth supported-biometric-auth
diff --git a/src/status_im/log_level/core.cljs b/src/status_im/log_level/core.cljs
index f105c6bb7d..d35b97f8b3 100644
--- a/src/status_im/log_level/core.cljs
+++ b/src/status_im/log_level/core.cljs
@@ -26,24 +26,3 @@
:on-accept #(re-frame/dispatch
[:log-level.ui/change-log-level-confirmed value])
:on-cancel nil}})
-
-(fx/defn show-logging-enabled-confirmation
- [{:keys [db]} enabled]
- {:ui/show-confirmation {:title (i18n/label :t/close-app-title)
- :content (i18n/label :t/change-logging-enabled
- {:enable (i18n/label (if enabled
- :enable :disable))})
- :confirm-button-text (i18n/label :t/close-app-button)
- :on-accept #(re-frame/dispatch [:log-level.ui/logging-enabled-confirmed enabled])
- :on-cancel nil}})
-
-;;FIXME ignored until desktop is fixed
-#_(fx/defn save-logging-enabled
- [{:keys [db] :as cofx} enabled]
- (.setValue rn-dependencies/desktop-config "logging_enabled" enabled)
- (fx/merge
- cofx
- {:db (assoc-in db [:desktop/desktop :logging-enabled] enabled)}
- (multiaccounts.update/multiaccount-update
- {:log-level (when enabled "INFO")}
- {:success-event [:multiaccounts.update.callback/save-settings-success]})))
diff --git a/src/status_im/mailserver/core.cljs b/src/status_im/mailserver/core.cljs
index 80787b1f95..726d4377d8 100644
--- a/src/status_im/mailserver/core.cljs
+++ b/src/status_im/mailserver/core.cljs
@@ -20,7 +20,6 @@
[status-im.utils.config :as config]
[status-im.utils.fx :as fx]
[status-im.utils.handlers :as handlers]
- [status-im.utils.platform :as platform]
[status-im.utils.random :as rand]
[status-im.utils.utils :as utils]
[status-im.waku.core :as waku]
@@ -510,9 +509,7 @@
:content (i18n/label :t/mailserver-error-content)
:confirm-button-text (i18n/label :t/mailserver-pick-another)
:on-accept #(re-frame/dispatch
- [:navigate-to (if platform/desktop?
- :advanced-settings
- :offline-messaging-settings)])
+ [:navigate-to :offline-messaging-settings])
:extra-options [{:text (i18n/label :t/mailserver-retry)
:onPress #(re-frame/dispatch
[:mailserver.ui/connect-confirmed
diff --git a/src/status_im/multiaccounts/core.cljs b/src/status_im/multiaccounts/core.cljs
index a499c92152..e31151df07 100644
--- a/src/status_im/multiaccounts/core.cljs
+++ b/src/status_im/multiaccounts/core.cljs
@@ -74,12 +74,6 @@
:chaos-mode? (boolean chaos-mode?)
{}))))
-(fx/defn enable-notifications [cofx desktop-notifications?]
- (multiaccounts.update/multiaccount-update
- cofx
- :desktop-notifications? desktop-notifications?
- {}))
-
(fx/defn switch-preview-privacy-mode
[{:keys [db] :as cofx} private?]
(fx/merge cofx
diff --git a/src/status_im/multiaccounts/login/core.cljs b/src/status_im/multiaccounts/login/core.cljs
index 4d30b52c87..c3166f19bd 100644
--- a/src/status_im/multiaccounts/login/core.cljs
+++ b/src/status_im/multiaccounts/login/core.cljs
@@ -1,7 +1,6 @@
(ns status-im.multiaccounts.login.core
(:require [re-frame.core :as re-frame]
[status-im.chat.models.loading :as chat.loading]
- [status-im.chat.models.message-seen :as message-seen]
[status-im.contact.core :as contact]
[status-im.data-store.settings :as data-store.settings]
[status-im.ethereum.core :as ethereum]
@@ -13,7 +12,6 @@
[status-im.multiaccounts.biometric.core :as biometric]
[status-im.multiaccounts.core :as multiaccounts]
[status-im.native-module.core :as status]
- [status-im.node.core :as node]
[status-im.notifications.core :as notifications]
[status-im.popover.core :as popover]
[status-im.protocol.core :as protocol]
@@ -32,12 +30,6 @@
[status-im.wallet.prices :as prices]
[taoensso.timbre :as log]))
-(defn fetch-nodes [_ resolve _]
- (let [default-nodes (-> (node/fleets {})
- (get-in [:eth.staging :mail])
- vals)]
- (resolve default-nodes)))
-
(re-frame/reg-fx
::login
(fn [[account-data hashed-password]]
@@ -124,7 +116,7 @@
{:ui/close-application nil})
(fx/defn check-network-version
- [cofx network-id]
+ [_ network-id]
{::json-rpc/call
[{:method "net_version"
:on-success
@@ -167,7 +159,7 @@
(fx/defn get-settings-callback
{:events [::get-settings-callback]}
[{:keys [db] :as cofx} settings]
- (let [{:keys [address notifications-enabled?]
+ (let [{:keys [notifications-enabled?]
:networks/keys [current-network networks]
:as settings}
(data-store.settings/rpc->settings settings)
@@ -178,15 +170,14 @@
(dissoc :multiaccounts/login)
(assoc :networks/current-network current-network
:networks/networks networks
- :multiaccount multiaccount))}
- (and platform/android?
- notifications-enabled?)
- (assoc ::notifications/enable nil)
- (not platform/desktop?)
- (assoc ::initialize-wallet
+ :multiaccount multiaccount))
+ ::initialize-wallet
(fn [accounts custom-tokens]
(re-frame/dispatch [::initialize-wallet
- accounts custom-tokens]))))
+ accounts custom-tokens]))}
+ (and platform/android?
+ notifications-enabled?)
+ (assoc ::notifications/enable nil))
(initialize-appearance)
;; NOTE: initializing mailserver depends on user mailserver
;; preference which is why we wait for config callback
@@ -231,9 +222,7 @@
:on-success #(re-frame/dispatch [::get-settings-callback %])}]}
(when save-password?
(keychain/save-user-password key-uid password))
- (keychain/save-auth-method key-uid (or new-auth-method auth-method))
- (when platform/desktop?
- (message-seen/update-dock-badge-label)))))
+ (keychain/save-auth-method key-uid (or new-auth-method auth-method)))))
(fx/defn create-only-events
[{:keys [db] :as cofx}]
@@ -258,8 +247,7 @@
:default-mailserver true})
(multiaccounts/switch-preview-privacy-mode-flag)
(logging/set-log-level (:log-level multiaccount))
- (when-not platform/desktop?
- (initialize-wallet accounts nil)))))
+ (initialize-wallet accounts nil))))
(defn- keycard-setup? [cofx]
(boolean (get-in cofx [:db :hardwallet :flow])))
diff --git a/src/status_im/multiaccounts/login/data_test.cljs b/src/status_im/multiaccounts/login/data_test.cljs
index 3b68d0abd9..504c8dda75 100644
--- a/src/status_im/multiaccounts/login/data_test.cljs
+++ b/src/status_im/multiaccounts/login/data_test.cljs
@@ -79,8 +79,7 @@
:deleted-at-clock-value nil}])
(def multiaccount
- {:desktop-alpha-release-warning-shown? false
- :last-updated 0
+ {:last-updated 0
:address "7540c34d6c4082391f12468580a9a4e0724c6755"
:mnemonic "tumble gorilla neglect dumb budget involve tennis ocean diary eagle lady ring"
:custom-bootnodes {}
@@ -88,7 +87,6 @@
:signed-up? true
:name "name"
:last-request nil
- :desktop-notifications? false
:wallet/visible-tokens {:testnet #{:STT
:HND}
:mainnet #{:SNT}
diff --git a/src/status_im/native_module/core.cljs b/src/status_im/native_module/core.cljs
index 8ad515f811..031881d263 100644
--- a/src/status_im/native_module/core.cljs
+++ b/src/status_im/native_module/core.cljs
@@ -299,11 +299,6 @@
platform/ios?
(callback false)
- ;; we assume that Desktop is unsafe by default
- ;; (theoretically, Desktop is always "rooted", by design
- platform/desktop?
- (callback true)
-
;; we check root on android
platform/android?
(if (status)
diff --git a/src/status_im/subs.cljs b/src/status_im/subs.cljs
index 86ceceae3c..6ee959e077 100644
--- a/src/status_im/subs.cljs
+++ b/src/status_im/subs.cljs
@@ -52,7 +52,6 @@
;;view
(reg-root-key-sub :view-id :view-id)
(reg-root-key-sub :screen-params :navigation/screen-params)
-(reg-root-key-sub :two-pane-ui-enabled? :two-pane-ui-enabled?)
;;bottom sheet
(reg-root-key-sub :bottom-sheet/show? :bottom-sheet/show?)
@@ -68,8 +67,6 @@
(reg-root-key-sub :dimensions/window :dimensions/window)
(reg-root-key-sub :initial-props :initial-props)
(reg-root-key-sub :fleets/custom-fleets :custom-fleets)
-(reg-root-key-sub :desktop/desktop :desktop/desktop)
-(reg-root-key-sub :desktop :desktop)
(reg-root-key-sub :animations :animations)
(reg-root-key-sub :ui/search :ui/search)
(reg-root-key-sub :web3-node-version :web3-node-version)
@@ -200,12 +197,6 @@
(fn [db]
(multiaccounts.model/logged-in? {:db db})))
-(re-frame/reg-sub
- :connection-stats
- :<- [:desktop/desktop]
- (fn [desktop _]
- (get desktop :debug-metrics)))
-
;; Intro wizard
(re-frame/reg-sub
:intro-wizard
@@ -279,13 +270,6 @@
(fn [[intro-wizard multiaccounts]]
(recover/existing-account? (:root-key intro-wizard) multiaccounts)))
-;;FIXME not needed until desktop enabled
-#_(re-frame/reg-sub
- :settings/logging-enabled
- :<- [:desktop/desktop]
- (fn [desktop _]
- (get desktop :logging-enabled false)))
-
(re-frame/reg-sub
:current-network
:<- [:networks/networks]
@@ -392,7 +376,7 @@
(or web3-node-version "N/A"))
(def app-short-version
- (let [version (if platform/desktop? build/version build/build-no)]
+ (let [version build/build-no]
(str build/version " (" version ")")))
(re-frame/reg-sub
diff --git a/src/status_im/ui/components/chat_icon/screen.cljs b/src/status_im/ui/components/chat_icon/screen.cljs
index 9961d2fbf5..f9333bf869 100644
--- a/src/status_im/ui/components/chat_icon/screen.cljs
+++ b/src/status_im/ui/components/chat_icon/screen.cljs
@@ -5,8 +5,7 @@
[status-im.ui.components.chat-icon.styles :as styles]
[status-im.ui.components.colors :as colors]
[status-im.ui.components.react :as react]
- [status-im.ui.screens.chat.photos :as photos]
- [status-im.utils.platform :as platform]))
+ [status-im.ui.screens.chat.photos :as photos]))
;;TODO REWORK THIS NAMESPACE
@@ -126,9 +125,9 @@
:default-chat-icon (styles/default-chat-icon-profile color size)
:default-chat-icon-text (styles/default-chat-icon-text size)} override-styles)]
[react/view (:container styles)
- (when (and edit? (not platform/desktop?))
+ (when edit?
[react/view (styles/profile-icon-mask size)])
- (when (and edit? (not platform/desktop?))
+ (when edit?
[react/view (styles/profile-icon-edit-text-containter size)
[react/i18n-text {:style styles/profile-icon-edit-text :key :edit}]])
(if (and photo-path (seq photo-path))
diff --git a/src/status_im/ui/components/connectivity/view.cljs b/src/status_im/ui/components/connectivity/view.cljs
index 54658322bc..4db305ab77 100644
--- a/src/status_im/ui/components/connectivity/view.cljs
+++ b/src/status_im/ui/components/connectivity/view.cljs
@@ -7,7 +7,6 @@
[status-im.ui.components.connectivity.styles :as styles]
[status-im.ui.components.react :as react]
[status-im.utils.datetime :as datetime]
- [status-im.utils.platform :as platform]
[status-im.utils.utils :as utils]
[taoensso.timbre :as log])
(:require-macros
@@ -93,7 +92,7 @@ all connectivity views (we have at least one view in home and one in chat)"
:easing (.-ease ^js animation/easing)
:useNativeDriver true})
(animation/timing anim-y
- {:toValue (if platform/desktop? 0 neg-connectivity-bar-height)
+ {:toValue neg-connectivity-bar-height
:delay 800
:duration 150
:easing (.-ease ^js animation/easing)
@@ -102,7 +101,7 @@ all connectivity views (we have at least one view in home and one in chat)"
#(do (reset! to-hide? false) (reset! status-hidden true))))
(do
(animation/set-value anim-opacity 0)
- (animation/set-value anim-y (if platform/desktop? 0 neg-connectivity-bar-height))
+ (animation/set-value anim-y neg-connectivity-bar-height)
(reset! to-hide? false)
(reset! status-hidden true)))
;; else
@@ -116,7 +115,7 @@ all connectivity views (we have at least one view in home and one in chat)"
:easing (.-ease ^js animation/easing)
:useNativeDriver true})
(animation/timing anim-y
- {:toValue (if platform/desktop? connectivity-bar-height 0)
+ {:toValue 0
:duration 150
:easing (.-ease ^js animation/easing)
:useNativeDriver true})])
@@ -124,7 +123,7 @@ all connectivity views (we have at least one view in home and one in chat)"
#(do (reset! to-hide? true) (reset! status-hidden false))))
(do
(animation/set-value anim-opacity 1)
- (animation/set-value anim-y (if platform/desktop? connectivity-bar-height 0))
+ (animation/set-value anim-y 0)
(reset! to-hide? true)
(reset! status-hidden false))))))
diff --git a/src/status_im/ui/components/icons/vector_icons.cljs b/src/status_im/ui/components/icons/vector_icons.cljs
index a14894f122..35e8730ed4 100644
--- a/src/status_im/ui/components/icons/vector_icons.cljs
+++ b/src/status_im/ui/components/icons/vector_icons.cljs
@@ -1,9 +1,7 @@
(ns status-im.ui.components.icons.vector-icons
(:require [status-im.ui.components.react :as react]
[status-im.ui.components.colors :as colors]
- [status-im.utils.platform :as platform]
- [status-im.ui.components.icons.icons :as icons]
- [clojure.string :as string])
+ [status-im.ui.components.icons.icons :as icons])
(:refer-clojure :exclude [use]))
(defn- match-color [color]
@@ -24,9 +22,7 @@
colors/black))
(defn icon-source [name]
- (if platform/desktop?
- {:uri (keyword (string/replace (clojure.core/name name) "-" "_"))}
- (icons/icon-source name)))
+ (icons/icon-source name))
(defn icon
([name] (icon name nil))
diff --git a/src/status_im/ui/components/react.cljs b/src/status_im/ui/components/react.cljs
index 4ad2104cf7..a7af7b6dee 100644
--- a/src/status_im/ui/components/react.cljs
+++ b/src/status_im/ui/components/react.cljs
@@ -82,7 +82,6 @@
(def keyboard (.-Keyboard react-native))
(def dismiss-keyboard! #(.dismiss ^js Keyboard))
(def linking (.-Linking react-native))
-(def desktop-notification (.-DesktopNotification ^js (.-NativeModules react-native)))
(def max-font-size-multiplier 1.25)
diff --git a/src/status_im/ui/components/tabbar/core.cljs b/src/status_im/ui/components/tabbar/core.cljs
index a46104325e..60bfd53492 100644
--- a/src/status_im/ui/components/tabbar/core.cljs
+++ b/src/status_im/ui/components/tabbar/core.cljs
@@ -45,16 +45,14 @@
:icon :main-icons/message}
:count-subscription :chats/unread-messages-number
:accessibility-label :home-tab-button}
- (when-not platform/desktop?
- {:nav-stack :browser-stack
- :content {:title (i18n/label :t/browser)
- :icon :main-icons/browser}
- :accessibility-label :dapp-tab-button})
- (when-not platform/desktop?
- {:nav-stack :wallet-stack
- :content {:title (i18n/label :t/wallet)
- :icon :main-icons/wallet}
- :accessibility-label :wallet-tab-button})
+ {:nav-stack :browser-stack
+ :content {:title (i18n/label :t/browser)
+ :icon :main-icons/browser}
+ :accessibility-label :dapp-tab-button}
+ {:nav-stack :wallet-stack
+ :content {:title (i18n/label :t/wallet)
+ :icon :main-icons/wallet}
+ :accessibility-label :wallet-tab-button}
{:nav-stack :profile-stack
:content {:title (i18n/label :t/profile)
:icon :main-icons/user-profile}
@@ -87,10 +85,9 @@
[react/view {:style (tabs.styles/counter-public-container)}
[react/view {:style tabs.styles/counter-public
:accessibility-label :public-unread-badge}]]))]
- (when-not platform/desktop?
- [react/view {:style tabs.styles/tab-title-container}
- [react/text {:style (tabs.styles/tab-title active?)}
- label]])]]])))
+ [react/view {:style tabs.styles/tab-title-container}
+ [react/text {:style (tabs.styles/tab-title active?)}
+ label]]]]])))
(defn tabs []
(let [listeners (atom [])
diff --git a/src/status_im/ui/components/tabbar/styles.cljs b/src/status_im/ui/components/tabbar/styles.cljs
index 9e9d4c7f2f..ada66b9dfb 100644
--- a/src/status_im/ui/components/tabbar/styles.cljs
+++ b/src/status_im/ui/components/tabbar/styles.cljs
@@ -6,8 +6,7 @@
(def tabs-height
(cond
platform/android? 52
- platform/ios? 52
- platform/desktop? 36))
+ platform/ios? 52))
(def minimized-tabs-height 36)
diff --git a/src/status_im/ui/components/typography.cljs b/src/status_im/ui/components/typography.cljs
index 04088b08f3..55f9660dec 100644
--- a/src/status_im/ui/components/typography.cljs
+++ b/src/status_im/ui/components/typography.cljs
@@ -35,22 +35,20 @@
(get typography-styles
typography)
(dissoc style :typography :nested?))]
- (if platform/desktop?
- (assoc style :font-family default-font-family)
- (-> style
- (assoc :font-family
- (if (= (:font-family style) "monospace")
- (if platform/ios? "Menlo-Regular" "monospace")
- (str default-font-family "-"
- (case font-weight
- "400" (when-not (= font-style :italic)
- "Regular")
- "500" "Medium"
- "600" "SemiBold"
- "700" "Bold")
- (when (= font-style :italic)
- "Italic"))))
- (dissoc :font-weight :font-style)))))
+ (-> style
+ (assoc :font-family
+ (if (= (:font-family style) "monospace")
+ (if platform/ios? "Menlo-Regular" "monospace")
+ (str default-font-family "-"
+ (case font-weight
+ "400" (when-not (= font-style :italic)
+ "Regular")
+ "500" "Medium"
+ "600" "SemiBold"
+ "700" "Bold")
+ (when (= font-style :italic)
+ "Italic"))))
+ (dissoc :font-weight :font-style))))
(defn get-nested-style
[{:keys [typography] :as style}]
@@ -59,17 +57,15 @@
(merge (get typography-styles
typography)
(dissoc style :typography))]
- (if platform/desktop?
- style
- (cond-> (dissoc style :font-weight :font-style)
- (or font-weight font-style)
- (assoc :font-family
- (str default-font-family "-"
- (case font-weight
- "500" "Medium"
- "600" "SemiBold"
- "700" "Bold"
- (when-not (= font-style :italic)
- "Regular"))
- (when (= font-style :italic)
- "Italic")))))))
+ (cond-> (dissoc style :font-weight :font-style)
+ (or font-weight font-style)
+ (assoc :font-family
+ (str default-font-family "-"
+ (case font-weight
+ "500" "Medium"
+ "600" "SemiBold"
+ "700" "Bold"
+ (when-not (= font-style :italic)
+ "Regular"))
+ (when (= font-style :italic)
+ "Italic"))))))
diff --git a/src/status_im/ui/screens/browser/open_dapp/styles.cljs b/src/status_im/ui/screens/browser/open_dapp/styles.cljs
index 8014b06e7c..4207f31547 100644
--- a/src/status_im/ui/screens/browser/open_dapp/styles.cljs
+++ b/src/status_im/ui/screens/browser/open_dapp/styles.cljs
@@ -11,8 +11,6 @@
:margin-top 24
:height 36
:padding-horizontal 14
- :desktop {:height 30
- :width "100%"}
:android {:padding 0}})
(defn browser-icon-container []
diff --git a/src/status_im/ui/screens/chat/extensions/views.cljs b/src/status_im/ui/screens/chat/extensions/views.cljs
index 3c76d123e4..8af20ab4c5 100644
--- a/src/status_im/ui/screens/chat/extensions/views.cljs
+++ b/src/status_im/ui/screens/chat/extensions/views.cljs
@@ -2,7 +2,6 @@
(:require-macros [status-im.utils.views :as views])
(:require [status-im.ui.components.react :as react]
[re-frame.core :as re-frame]
- [status-im.utils.platform :as platform]
[status-im.ui.components.colors :as colors]
[status-im.ui.components.icons.vector-icons :as icons]
[status-im.ui.components.animation :as anim]
@@ -13,7 +12,7 @@
[quo/button
{:on-press (fn [_]
(re-frame/dispatch [:chat.ui/set-chat-ui-props {:input-bottom-sheet (when-not showing? :extensions)}])
- (when-not platform/desktop? (js/setTimeout #(react/dismiss-keyboard!) 100)))
+ (js/setTimeout #(react/dismiss-keyboard!) 100))
:accessibility-label :show-extensions-icon
:type :icon
:theme (if showing? :main :disabled)}
diff --git a/src/status_im/ui/screens/chat/image/views.cljs b/src/status_im/ui/screens/chat/image/views.cljs
index 4fbf587f4a..346f15ff27 100644
--- a/src/status_im/ui/screens/chat/image/views.cljs
+++ b/src/status_im/ui/screens/chat/image/views.cljs
@@ -1,7 +1,6 @@
(ns status-im.ui.screens.chat.image.views
(:require-macros [status-im.utils.views :refer [defview letsubs]])
(:require [status-im.ui.components.react :as react]
- [status-im.utils.platform :as platform]
[re-frame.core :as re-frame]
[quo.core :as quo]
[status-im.ui.components.colors :as colors]
@@ -22,7 +21,7 @@
{:on-press (fn [_]
(re-frame/dispatch [:chat.ui/set-chat-ui-props
{:input-bottom-sheet (when-not images-showing? :images)}])
- (when-not platform/desktop? (js/setTimeout #(react/dismiss-keyboard!) 100)))
+ (js/setTimeout #(react/dismiss-keyboard!) 100))
:accessibility-label :show-photo-icon
:type :icon
:theme (if images-showing? :main :disabled)}
diff --git a/src/status_im/ui/screens/chat/message/gap.cljs b/src/status_im/ui/screens/chat/message/gap.cljs
index d5aa38809c..3cea2a7b44 100644
--- a/src/status_im/ui/screens/chat/message/gap.cljs
+++ b/src/status_im/ui/screens/chat/message/gap.cljs
@@ -4,13 +4,12 @@
[re-frame.core :as re-frame]
[status-im.i18n :as i18n]
[status-im.utils.datetime :as datetime]
- [status-im.ui.screens.chat.styles.input.gap :as style]
- [status-im.utils.platform :as platform]))
+ [status-im.ui.screens.chat.styles.input.gap :as style]))
(defn on-press
[ids first-gap? idx list-ref]
(fn []
- (when (and list-ref @list-ref (not platform/desktop?))
+ (when (and list-ref @list-ref)
(.scrollToIndex ^js @list-ref
#js {:index (max 0 (dec idx))
:viewOffset 20
diff --git a/src/status_im/ui/screens/chat/message/message.cljs b/src/status_im/ui/screens/chat/message/message.cljs
index 129f6acd18..85c9a4d70f 100644
--- a/src/status_im/ui/screens/chat/message/message.cljs
+++ b/src/status_im/ui/screens/chat/message/message.cljs
@@ -11,8 +11,6 @@
[status-im.ui.screens.chat.styles.message.message :as style]
[status-im.ui.screens.chat.utils :as chat.utils]
[status-im.utils.contenthash :as contenthash]
- [status-im.utils.http :as http]
- [status-im.utils.platform :as platform]
[status-im.utils.security :as security]
[reagent.core :as reagent])
(:require-macros [status-im.utils.views :refer [defview letsubs]]))
@@ -82,10 +80,8 @@
:on-press
#(when (and (security/safe-link? destination)
(security/safe-link-text? message-text))
- (if platform/desktop?
- (.openURL ^js react/linking (http/normalize-url destination))
- (re-frame/dispatch
- [:browser.ui/message-link-pressed destination])))}
+ (re-frame/dispatch
+ [:browser.ui/message-link-pressed destination]))}
destination])
"mention"
@@ -214,9 +210,7 @@
(react/dismiss-keyboard!))}
[react/view style/not-sent-view
[react/text {:style style/not-sent-text}
- (i18n/label (if platform/desktop?
- :t/status-not-sent-click
- :t/status-not-sent-tap))]
+ (i18n/label :t/status-not-sent-tap)]
[react/view style/not-sent-icon
[vector-icons/icon :main-icons/warning {:color colors/red}]]]])
diff --git a/src/status_im/ui/screens/chat/sheets.cljs b/src/status_im/ui/screens/chat/sheets.cljs
index 43702a7cc7..82cd69fb4c 100644
--- a/src/status_im/ui/screens/chat/sheets.cljs
+++ b/src/status_im/ui/screens/chat/sheets.cljs
@@ -6,7 +6,6 @@
[status-im.utils.universal-links.core :as universal-links]
[status-im.ui.components.chat-icon.screen :as chat-icon]
[status-im.multiaccounts.core :as multiaccounts]
- [status-im.utils.platform :as platform]
[status-im.ui.screens.chat.styles.message.sheets :as sheets.styles]
[quo.core :as quo]))
@@ -55,18 +54,17 @@
(let [link (universal-links/generate-link :public-chat :external chat-id)
message (i18n/label :t/share-public-chat-text {:link link})]
[react/view
- (when-not platform/desktop?
- [quo/list-item
- {:theme :accent
- :title (i18n/label :t/share-chat)
- :accessibility-label :share-chat-button
- :icon :main-icons/share
- :on-press (fn []
- (re-frame/dispatch [:bottom-sheet/hide])
- ;; https://github.com/facebook/react-native/pull/26839
- (js/setTimeout
- #(list-selection/open-share {:message message})
- 250))}])
+ [quo/list-item
+ {:theme :accent
+ :title (i18n/label :t/share-chat)
+ :accessibility-label :share-chat-button
+ :icon :main-icons/share
+ :on-press (fn []
+ (re-frame/dispatch [:bottom-sheet/hide])
+ ;; https://github.com/facebook/react-native/pull/26839
+ (js/setTimeout
+ #(list-selection/open-share {:message message})
+ 250))}]
[quo/list-item
{:theme :accent
:title (i18n/label :t/mark-all-read)
@@ -180,17 +178,16 @@
:on-press (fn []
(re-frame/dispatch [:bottom-sheet/hide])
(react/copy-to-clipboard (:text content)))}]
- (when-not platform/desktop?
- [quo/list-item
- {:theme :accent
- :title (i18n/label :t/sharing-share)
- :icon :main-icons/share
- :on-press (fn []
- (re-frame/dispatch [:bottom-sheet/hide])
- ;; https://github.com/facebook/react-native/pull/26839
- (js/setTimeout
- #(list-selection/open-share {:message (:text content)})
- 250))}])])))
+ [quo/list-item
+ {:theme :accent
+ :title (i18n/label :t/sharing-share)
+ :icon :main-icons/share
+ :on-press (fn []
+ (re-frame/dispatch [:bottom-sheet/hide])
+ ;; https://github.com/facebook/react-native/pull/26839
+ (js/setTimeout
+ #(list-selection/open-share {:message (:text content)})
+ 250))}]])))
(defn sticker-long-press [{:keys [from]}]
(fn []
diff --git a/src/status_im/ui/screens/chat/stickers/views.cljs b/src/status_im/ui/screens/chat/stickers/views.cljs
index 963cad18f5..1ddc9bc8bd 100644
--- a/src/status_im/ui/screens/chat/stickers/views.cljs
+++ b/src/status_im/ui/screens/chat/stickers/views.cljs
@@ -11,7 +11,6 @@
[status-im.ui.screens.chat.stickers.styles :as styles]
[status-im.ui.components.animation :as anim]
[status-im.utils.contenthash :as contenthash]
- [status-im.utils.platform :as platform]
[status-im.utils.debounce :as debounce]))
(def icon-size 28)
@@ -25,7 +24,7 @@
[quo/button
{:on-press (fn [_]
(re-frame/dispatch [:chat.ui/set-chat-ui-props {:input-bottom-sheet (when-not stickers-showing? :stickers)}])
- (when-not platform/desktop? (js/setTimeout #(react/dismiss-keyboard!) 100)))
+ (js/setTimeout #(react/dismiss-keyboard!) 100))
:accessibility-label :show-stickers-icon
:type :icon
:theme (if stickers-showing? :main :disabled)}
diff --git a/src/status_im/ui/screens/chat/styles/message/message.cljs b/src/status_im/ui/screens/chat/styles/message/message.cljs
index d717d138ed..c36866d7e7 100644
--- a/src/status_im/ui/screens/chat/styles/message/message.cljs
+++ b/src/status_im/ui/screens/chat/styles/message/message.cljs
@@ -78,9 +78,9 @@
(defn delivery-status [outgoing]
(if outgoing
{:align-self :flex-end
- :padding-right (if platform/desktop? 24 8)}
+ :padding-right 8}
{:align-self :flex-start
- :padding-left (if platform/desktop? 24 8)}))
+ :padding-left 8}))
(def message-author-touchable
{:margin-left 12
diff --git a/src/status_im/ui/screens/desktop/main/styles.cljs b/src/status_im/ui/screens/desktop/main/styles.cljs
deleted file mode 100644
index 2a3b7e718f..0000000000
--- a/src/status_im/ui/screens/desktop/main/styles.cljs
+++ /dev/null
@@ -1,22 +0,0 @@
-(ns status-im.ui.screens.desktop.main.styles
- (:require [status-im.ui.components.colors :as colors]))
-
-(def main-views
- {:flex 1
- :flex-direction :row})
-
-(def left-sidebar
- {:width 340
- :background-color colors/white})
-
-(def pane-separator
- {:width 1
- :background-color colors/black-transparent})
-
-(def absolute
- {:position :absolute
- :top 0
- :right 0
- :left 0
- :bottom 0
- :flex 1})
diff --git a/src/status_im/ui/screens/desktop/main/views.cljs b/src/status_im/ui/screens/desktop/main/views.cljs
deleted file mode 100644
index ec94214416..0000000000
--- a/src/status_im/ui/screens/desktop/main/views.cljs
+++ /dev/null
@@ -1,49 +0,0 @@
-(ns status-im.ui.screens.desktop.main.views
- (:require-macros [status-im.utils.views :as views])
- (:require [status-im.ui.screens.desktop.main.styles :as styles]
- [status-im.ui.screens.bootnodes-settings.edit-bootnode.views :as edit-bootnode]
- [status-im.ui.screens.about-app.views :as about-app.views]
- [status-im.ui.screens.help-center.views :as help-center.views]
- [status-im.ui.screens.bootnodes-settings.views :as bootnodes]
- [status-im.ui.components.react :as react]
- [status-im.ui.screens.offline-messaging-settings.edit-mailserver.views :as edit-mailserver]
- [re-frame.core :as re-frame]))
-
-(views/defview status-view []
- [react/view {:style {:flex 1 :background-color "#eef2f5" :align-items :center :justify-content :center}}
- [react/text {:style {:font-size 18 :color "#939ba1"}}
- "Status.im"]])
-
-(views/defview tab-views []
- [react/view {:style {:flex 1}}
- [react/view]])
-
-(views/defview popup-view []
- (views/letsubs [{:keys [popup]} [:desktop]]
- (when popup
- [react/view {:style styles/absolute}
- [react/touchable-highlight {:on-press #(re-frame/dispatch [:set-in [:desktop :popup] nil])
- :style {:flex 1}}
- [react/view]]
- [react/view {:style styles/absolute}
- [popup]]])))
-
-(views/defview main-view []
- (views/letsubs [view-id [:view-id]]
- (let [component (case view-id
- :edit-mailserver edit-mailserver/edit-mailserver
- :bootnodes-settings bootnodes/bootnodes-settings
- :edit-bootnode edit-bootnode/edit-bootnode
- :about-app about-app.views/about-app
- :help-center help-center.views/help-center
- status-view)]
- [react/view {:style {:flex 1}}
- [component]])))
-
-(views/defview main-views []
- [react/view {:style styles/main-views}
- [react/view {:style styles/left-sidebar}
- [react/view {:style {:flex 1}}
- [tab-views]]]
- [react/view {:style styles/pane-separator}]
- [main-view]])
diff --git a/src/status_im/ui/screens/desktop/views.cljs b/src/status_im/ui/screens/desktop/views.cljs
deleted file mode 100644
index 55be906e8b..0000000000
--- a/src/status_im/ui/screens/desktop/views.cljs
+++ /dev/null
@@ -1,56 +0,0 @@
-(ns status-im.ui.screens.desktop.views
- (:require #_[status-im.i18n :as i18n]
- [status-im.ui.components.react :as react]
- [status-im.ui.screens.desktop.main.views :as main.views]
- [status-im.ui.screens.group.views
- :refer
- [add-participants-toggle-list contact-toggle-list new-group]]
- [status-im.ui.screens.intro.views :as intro.views]
- [status-im.ui.screens.multiaccounts.login.views :as login.views]
- [status-im.ui.screens.multiaccounts.views :as multiaccounts.views]
- [status-im.ui.screens.profile.group-chat.views
- :refer
- [group-chat-profile]]
- #_[status-im.utils.utils :as utils])
- (:require-macros [status-im.utils.views :as views]))
-
-(enable-console-print!)
-
-(views/defview main []
- (views/letsubs [view-id [:view-id]
- #_#_version [:get-app-version]]
- {:component-did-mount
- (fn []
- #_(.getValue rn-dependencies/desktop-config "desktop-alpha-warning-shown-for-version"
- #(when-not (= %1 version)
- (.setValue ^js rn-dependencies/desktop-config "desktop-alpha-warning-shown-for-version" version)
- (utils/show-popup nil (i18n/label :desktop-alpha-release-warning)))))}
-
- (let [component (case view-id
- :intro intro.views/intro
- :multiaccounts multiaccounts.views/multiaccounts
- :new-group new-group
- :contact-toggle-list contact-toggle-list
- :group-chat-profile group-chat-profile
- :add-participants-toggle-list add-participants-toggle-list
-
- (:desktop/new-one-to-one
- :desktop/new-group-chat
- :desktop/new-public-chat
- :advanced-settings
- :edit-mailserver
- :bootnodes-settings
- :edit-bootnode
- :about-app
- :help-center
- :installations
- :chat
- :home
- :qr-code
- :chat-profile
- :backup-recovery-phrase) main.views/main-views
- :login login.views/login
- react/view)]
- [react/view {:style {:flex 1}}
- [component]
- [main.views/popup-view]])))
diff --git a/src/status_im/ui/screens/fleet_settings/styles.cljs b/src/status_im/ui/screens/fleet_settings/styles.cljs
index 55826acc90..377a5f11e6 100644
--- a/src/status_im/ui/screens/fleet_settings/styles.cljs
+++ b/src/status_im/ui/screens/fleet_settings/styles.cljs
@@ -1,6 +1,5 @@
(ns status-im.ui.screens.fleet-settings.styles
(:require [status-im.ui.components.colors :as colors]
- [status-im.utils.platform :as platform]
[status-im.utils.styles :as styles]))
(def wrapper
@@ -30,5 +29,5 @@
:justify-content :center})
(defn fleet-icon [current?]
- (hash-map (if platform/desktop? :tint-color :color)
+ (hash-map :color
(if current? colors/white-persist colors/gray)))
diff --git a/src/status_im/ui/screens/fleet_settings/views.cljs b/src/status_im/ui/screens/fleet_settings/views.cljs
index 37f5618f78..91c7d019ab 100644
--- a/src/status_im/ui/screens/fleet_settings/views.cljs
+++ b/src/status_im/ui/screens/fleet_settings/views.cljs
@@ -5,17 +5,13 @@
[status-im.ui.components.list.views :as list]
[status-im.ui.components.react :as react]
[status-im.ui.components.topbar :as topbar]
- [status-im.ui.screens.fleet-settings.styles :as styles]
- [status-im.utils.platform :as platform])
+ [status-im.ui.screens.fleet-settings.styles :as styles])
(:require-macros [status-im.utils.views :as views]))
(defn- fleet-icon [current?]
- [react/view (if platform/desktop?
- {:style (styles/fleet-icon-container current?)}
- (styles/fleet-icon-container current?))
+ [react/view (styles/fleet-icon-container current?)
[vector-icons/icon :main-icons/mailserver
- (if platform/desktop? {:style (styles/fleet-icon current?)}
- (styles/fleet-icon current?))]])
+ (styles/fleet-icon current?)]])
(defn change-fleet [fleet]
(re-frame/dispatch [:fleet.ui/fleet-selected fleet]))
diff --git a/src/status_im/ui/screens/group/views.cljs b/src/status_im/ui/screens/group/views.cljs
index 6c80ed6ba8..588347ee2a 100644
--- a/src/status_im/ui/screens/group/views.cljs
+++ b/src/status_im/ui/screens/group/views.cljs
@@ -21,8 +21,7 @@
[status-im.ui.components.topbar :as topbar]
[status-im.ui.screens.group.styles :as styles]
[quo.core :as quo]
- [status-im.utils.debounce :as debounce]
- [status-im.utils.platform :as platform])
+ [status-im.utils.debounce :as debounce])
(:require-macros [status-im.utils.views :as views]))
(defn- render-contact [row]
@@ -71,31 +70,24 @@
[toggle-item allow-new-users? :is-participant-selected? contact on-toggle-participant])
(defn- handle-invite-friends-pressed []
- (if platform/desktop?
- (re-frame/dispatch [:navigate-to :new-contact])
- (list-selection/open-share {:message (i18n/label :t/get-status-at)})))
+ (list-selection/open-share {:message (i18n/label :t/get-status-at)}))
(defn toggle-list [{:keys [contacts render-fn]}]
[react/scroll-view {:flex 1}
- (if platform/desktop?
- (for [contact contacts]
- ^{:key (:public-key contact)}
- (render-fn contact))
- [list/flat-list {:data contacts
- :key-fn :public-key
- :render-fn render-fn
- :keyboardShouldPersistTaps :always}])])
+ [list/flat-list {:data contacts
+ :key-fn :public-key
+ :render-fn render-fn
+ :keyboardShouldPersistTaps :always}]])
(defn no-contacts [{:keys [no-contacts]}]
[react/view {:style styles/no-contacts}
[react/text
{:style (styles/no-contact-text)}
no-contacts]
- (when-not platform/desktop?
- [quo/button
- {:type :secondary
- :on-press handle-invite-friends-pressed}
- (i18n/label :t/invite-friends)])])
+ [quo/button
+ {:type :secondary
+ :on-press handle-invite-friends-pressed}
+ (i18n/label :t/invite-friends)]])
(defn filter-contacts [filter-text contacts]
(let [lower-filter-text (string/lower-case (str filter-text))
diff --git a/src/status_im/ui/screens/help_center/views.cljs b/src/status_im/ui/screens/help_center/views.cljs
index 689cba0249..ef48dcda54 100644
--- a/src/status_im/ui/screens/help_center/views.cljs
+++ b/src/status_im/ui/screens/help_center/views.cljs
@@ -5,7 +5,6 @@
[status-im.ui.components.react :as react]
[status-im.ui.components.list.views :as list]
[status-im.ui.components.colors :as colors]
- [status-im.utils.platform :as platform]
[status-im.ui.components.topbar :as topbar]
[status-im.constants :as constants]))
@@ -34,9 +33,7 @@
:accessibility-label :request-a-feature-button
:on-press
#(re-frame/dispatch [:chat.ui/start-public-chat
- (if platform/desktop?
- "status-desktop"
- "status")
+ "status"
{:navigation-reset? false}])
:chevron true}])
diff --git a/src/status_im/ui/screens/home/styles.cljs b/src/status_im/ui/screens/home/styles.cljs
index 08e4ec899a..5dee41740f 100644
--- a/src/status_im/ui/screens/home/styles.cljs
+++ b/src/status_im/ui/screens/home/styles.cljs
@@ -5,8 +5,7 @@
{:flex 1
:align-self :stretch
:line-height 22
- :color colors/gray
- :desktop {:max-height 20}})
+ :color colors/gray})
(def public-unread
{:background-color colors/blue
diff --git a/src/status_im/ui/screens/log_level_settings/styles.cljs b/src/status_im/ui/screens/log_level_settings/styles.cljs
index b591f2c982..f14ea7c9ec 100644
--- a/src/status_im/ui/screens/log_level_settings/styles.cljs
+++ b/src/status_im/ui/screens/log_level_settings/styles.cljs
@@ -1,6 +1,5 @@
(ns status-im.ui.screens.log-level-settings.styles
(:require [status-im.ui.components.colors :as colors]
- [status-im.utils.platform :as platform]
[status-im.utils.styles :as styles]))
(def wrapper
@@ -30,5 +29,5 @@
:justify-content :center})
(defn log-level-icon [current?]
- (hash-map (if platform/desktop? :tint-color :color)
+ (hash-map :color
(if current? colors/white-persist colors/gray)))
diff --git a/src/status_im/ui/screens/log_level_settings/views.cljs b/src/status_im/ui/screens/log_level_settings/views.cljs
index 343a4c52fe..5519857869 100644
--- a/src/status_im/ui/screens/log_level_settings/views.cljs
+++ b/src/status_im/ui/screens/log_level_settings/views.cljs
@@ -4,17 +4,13 @@
[status-im.ui.components.list.views :as list]
[status-im.ui.components.react :as react]
[status-im.ui.screens.log-level-settings.styles :as styles]
- [status-im.utils.platform :as platform]
[status-im.ui.components.topbar :as topbar])
(:require-macros [status-im.utils.views :as views]))
(defn- log-level-icon [current?]
- [react/view (if platform/desktop?
- {:style (styles/log-level-icon-container current?)}
- (styles/log-level-icon-container current?))
+ [react/view (styles/log-level-icon-container current?)
[vector-icons/icon :main-icons/mailserver
- (if platform/desktop? {:style (styles/log-level-icon current?)}
- (styles/log-level-icon current?))]])
+ (styles/log-level-icon current?)]])
(defn change-log-level [log-level]
(re-frame/dispatch [:log-level.ui/log-level-selected log-level]))
diff --git a/src/status_im/ui/screens/multiaccounts/login/views.cljs b/src/status_im/ui/screens/multiaccounts/login/views.cljs
index 4873e36a66..ee5b237a21 100644
--- a/src/status_im/ui/screens/multiaccounts/login/views.cljs
+++ b/src/status_im/ui/screens/multiaccounts/login/views.cljs
@@ -73,21 +73,19 @@
:main-icons/faceid
:main-icons/print)
{:color colors/blue}]]])]]
- (when-not platform/desktop?
- ;; saving passwords is unavailable on Desktop
- (if (and platform/android? (not auth-method))
- ;; on Android, there is much more reasons for the password save to be unavailable,
- ;; so we don't show the checkbox whatsoever but put a label explaining why it happenned.
- [react/i18n-text {:style styles/save-password-unavailable-android
- :key :save-password-unavailable-android}]
- [react/view {:style {:flex-direction :row
- :align-items :center
- :justify-content :flex-start
- :margin-top 19}}
- [checkbox/checkbox {:checked? save-password?
- :style {:margin-left 3 :margin-right 10}
- :on-value-change #(re-frame/dispatch [:multiaccounts/save-password %])}]
- [react/text (i18n/label :t/save-password)]]))]]
+ (if (and platform/android? (not auth-method))
+ ;; on Android, there is much more reasons for the password save to be unavailable,
+ ;; so we don't show the checkbox whatsoever but put a label explaining why it happenned.
+ [react/i18n-text {:style styles/save-password-unavailable-android
+ :key :save-password-unavailable-android}]
+ [react/view {:style {:flex-direction :row
+ :align-items :center
+ :justify-content :flex-start
+ :margin-top 19}}
+ [checkbox/checkbox {:checked? save-password?
+ :style {:margin-left 3 :margin-right 10}
+ :on-value-change #(re-frame/dispatch [:multiaccounts/save-password %])}]
+ [react/text (i18n/label :t/save-password)]])]]
(when processing
[react/view styles/processing-view
[react/activity-indicator {:animating true}]
diff --git a/src/status_im/ui/screens/offline_messaging_settings/styles.cljs b/src/status_im/ui/screens/offline_messaging_settings/styles.cljs
index ec255a9d96..4e8040b6c7 100644
--- a/src/status_im/ui/screens/offline_messaging_settings/styles.cljs
+++ b/src/status_im/ui/screens/offline_messaging_settings/styles.cljs
@@ -1,6 +1,5 @@
(ns status-im.ui.screens.offline-messaging-settings.styles
(:require [status-im.ui.components.colors :as colors]
- [status-im.utils.platform :as platform]
[status-im.utils.styles :as styles]))
(def wrapper
@@ -33,7 +32,7 @@
:justify-content :center})
(defn mailserver-icon [connected?]
- (hash-map (if platform/desktop? :tint-color :color)
+ (hash-map :color
(if connected? colors/white-persist colors/gray)))
(def mailserver-pinned
diff --git a/src/status_im/ui/screens/offline_messaging_settings/views.cljs b/src/status_im/ui/screens/offline_messaging_settings/views.cljs
index 9b46d21758..9826d49c68 100644
--- a/src/status_im/ui/screens/offline_messaging_settings/views.cljs
+++ b/src/status_im/ui/screens/offline_messaging_settings/views.cljs
@@ -6,17 +6,13 @@
[status-im.ui.components.icons.vector-icons :as vector-icons]
[status-im.ui.components.list.views :as list]
[status-im.ui.components.react :as react]
- [status-im.utils.platform :as platform]
[status-im.ui.screens.offline-messaging-settings.styles :as styles]
[status-im.ui.components.topbar :as topbar]))
(defn- mailserver-icon [connected?]
- [react/view (if platform/desktop?
- {:style (styles/mailserver-icon-container connected?)}
- (styles/mailserver-icon-container connected?))
+ [react/view (styles/mailserver-icon-container connected?)
[vector-icons/icon :main-icons/mailserver
- (if platform/desktop? {:style (styles/mailserver-icon connected?)}
- (styles/mailserver-icon connected?))]])
+ (styles/mailserver-icon connected?)]])
(defn pinned-state [pinned?]
[react/touchable-highlight {:on-press (if pinned?
diff --git a/src/status_im/ui/screens/pairing/styles.cljs b/src/status_im/ui/screens/pairing/styles.cljs
index f87037d5cd..e3c42fba4b 100644
--- a/src/status_im/ui/screens/pairing/styles.cljs
+++ b/src/status_im/ui/screens/pairing/styles.cljs
@@ -64,8 +64,7 @@
(let [color (if enabled?
colors/blue
colors/gray)]
- {:desktop {:tint-color color}
- :ios {:color color}
+ {:ios {:color color}
:android {:color color}}))
(def paired-devices-title
diff --git a/src/status_im/ui/screens/pairing/views.cljs b/src/status_im/ui/screens/pairing/views.cljs
index 4ff6bb7988..4b6cc5b42a 100644
--- a/src/status_im/ui/screens/pairing/views.cljs
+++ b/src/status_im/ui/screens/pairing/views.cljs
@@ -18,13 +18,8 @@
(def syncing (reagent/atom false))
(def installation-name (reagent/atom ""))
-(defn icon-style [{:keys [width height] :as style}]
- (if utils.platform/desktop?
- {:container-style {:width width
-
- :height height}
- :style style}
- style))
+(defn icon-style [style]
+ style)
(defn synchronize-installations! []
(reset! syncing true)
@@ -76,11 +71,10 @@
(defn your-device [{:keys [installation-id name device-type]}]
[react/view {:style styles/installation-item}
[react/view {:style (styles/pairing-button true)}
- [icons/icon (if (= "desktop"
- device-type)
- :main-icons/desktop
- :main-icons/mobile)
-
+ [icons/icon (if (= "desktop"
+ device-type)
+ :main-icons/desktop
+ :main-icons/mobile)
(icon-style (styles/pairing-button-icon true))]]
[react/view {:style styles/pairing-actions-text}
[react/view
@@ -93,8 +87,8 @@
")")]]]])
(defn render-row [{:keys [name
- device-type
enabled?
+ device-type
installation-id]}]
[react/touchable-highlight
{:accessibility-label :installation-item}
diff --git a/src/status_im/ui/screens/profile/group_chat/views.cljs b/src/status_im/ui/screens/profile/group_chat/views.cljs
index 9731a8f6d8..5f035458e7 100644
--- a/src/status_im/ui/screens/profile/group_chat/views.cljs
+++ b/src/status_im/ui/screens/profile/group_chat/views.cljs
@@ -12,8 +12,7 @@
[status-im.ui.screens.chat.sheets :as chat.sheets]
[status-im.ui.screens.profile.components.styles
:as
- profile.components.styles]
- [status-im.utils.platform :as platform])
+ profile.components.styles])
(:require-macros [status-im.utils.views :refer [defview letsubs]]))
(defn member-sheet [chat-id member us-admin?]
@@ -27,7 +26,7 @@
:accessibility-label :view-chat-details-button
:chevron true
:on-press #(chat.sheets/hide-sheet-and-dispatch
- [(if platform/desktop? :show-profile-desktop :chat.ui/show-profile)
+ [:chat.ui/show-profile
(:public-key member)])}]
(when (and us-admin?
(not (:admin? member)))
@@ -53,7 +52,7 @@
:icon [chat-icon/contact-icon-contacts-tab
(multiaccounts/displayed-photo member)]
:on-press (when (not= public-key current-user-identity)
- #(re-frame/dispatch [(if platform/desktop? :show-profile-desktop :chat.ui/show-profile) public-key]))}
+ #(re-frame/dispatch [:chat.ui/show-profile public-key]))}
(when (:admin? member)
{:accessory :text
:accessory-text (i18n/label :t/group-chat-admin)})
diff --git a/src/status_im/ui/screens/profile/seed/views.cljs b/src/status_im/ui/screens/profile/seed/views.cljs
index 36cd6d50d8..1035d78929 100644
--- a/src/status_im/ui/screens/profile/seed/views.cljs
+++ b/src/status_im/ui/screens/profile/seed/views.cljs
@@ -13,8 +13,7 @@
[status-im.utils.utils :as utils]
[status-im.ui.screens.profile.seed.styles :as styles]
[status-im.i18n :as i18n]
- [quo.core :as quo]
- [status-im.utils.platform :as platform]))
+ [quo.core :as quo]))
(def steps-numbers
{:intro 1
@@ -33,9 +32,8 @@
[react/scroll-view {:style {:padding-horizontal 16}
:content-container-style {:align-items :center
:justify-content :center}}
- (when-not platform/desktop?
- [react/image {:source (resources/get-image :lock)
- :style styles/intro-image}])
+ [react/image {:source (resources/get-image :lock)
+ :style styles/intro-image}]
[react/i18n-text {:style styles/intro-text
:key :your-data-belongs-to-you}]
[react/i18n-text {:style styles/intro-description
diff --git a/src/status_im/utils/config.cljs b/src/status_im/utils/config.cljs
index 97df9d0d3c..c4a28eb97f 100644
--- a/src/status_im/utils/config.cljs
+++ b/src/status_im/utils/config.cljs
@@ -30,7 +30,6 @@
(def erc20-contract-warnings-enabled? (enabled? (get-config :ERC20_CONTRACT_WARNINGS)))
(def tr-to-talk-enabled? (enabled? (get-config :TRIBUTE_TO_TALK 0)))
(def max-message-delivery-attempts (js/parseInt (get-config :MAX_MESSAGE_DELIVERY_ATTEMPTS "6")))
-(def mobile-ui-for-desktop? (enabled? (get-config :MOBILE_UI_FOR_DESKTOP "0")))
;; NOTE: only disabled in releases
(def local-notifications? (enabled? (get-config :LOCAL_NOTIFICATIONS "1")))
(def blank-preview? (enabled? (get-config :BLANK_PREVIEW "1")))
diff --git a/src/status_im/utils/dimensions.cljs b/src/status_im/utils/dimensions.cljs
index bfc6d6e347..2c135d9484 100644
--- a/src/status_im/utils/dimensions.cljs
+++ b/src/status_im/utils/dimensions.cljs
@@ -1,7 +1,6 @@
(ns status-im.utils.dimensions
(:require [re-frame.core :as re-frame]
- [status-im.ui.components.react :as react]
- [status-im.constants :as constants]))
+ [status-im.ui.components.react :as react]))
(declare window)
@@ -18,7 +17,3 @@
(-> m
(js->clj :keywordize-keys true)
:window)))
-
-(defn fit-two-pane? []
- (let [width (get (window) :width)]
- (>= width constants/two-pane-min-width)))
diff --git a/src/status_im/utils/keychain/core.cljs b/src/status_im/utils/keychain/core.cljs
index 8a3ffcffd9..4d7a932d1d 100644
--- a/src/status_im/utils/keychain/core.cljs
+++ b/src/status_im/utils/keychain/core.cljs
@@ -104,10 +104,8 @@
"Gets the credentials for a specified server from the Keychain"
[server callback]
(log/debug "[keychain] get-credentials")
- (if platform/mobile?
- (-> (.getInternetCredentials react-native-keychain (string/lower-case server))
- (.then callback))
- (callback))) ;; no-op for Desktop
+ (-> (.getInternetCredentials react-native-keychain (string/lower-case server))
+ (.then callback)))
(def auth-method-password "password")
(def auth-method-biometric "biometric")
@@ -198,9 +196,8 @@
(re-frame/reg-fx
:keychain/clear-user-password
(fn [key-uid]
- (when platform/mobile?
- (-> (.resetInternetCredentials react-native-keychain (string/lower-case key-uid))
- (.then #(when-not % (log/error (str "Error while clearing saved password."))))))))
+ (-> (.resetInternetCredentials react-native-keychain (string/lower-case key-uid))
+ (.then #(when-not % (log/error (str "Error while clearing saved password.")))))))
(fx/defn get-auth-method
[_ key-uid]
diff --git a/src/status_im/utils/logging/core.cljs b/src/status_im/utils/logging/core.cljs
index 6a20becdf1..eaabe8d81d 100644
--- a/src/status_im/utils/logging/core.cljs
+++ b/src/status_im/utils/logging/core.cljs
@@ -74,7 +74,6 @@
:chat/last-outgoing-message-sent-at
:chat/spam-messages-frequency
:chats/loading?
- :desktop/desktop
:dimensions/window
:my-profile/editing?]))]
{:logs/archive-logs [db-json ::send-email]}))
@@ -108,7 +107,7 @@
"logs attached"
[{:keys [:web3-node-version :mailserver/current-id
:node-info :peers-summary]}]
- (let [build-number (if platform/desktop? build/version build/build-no)
+ (let [build-number build/build-no
build-version (str build/version " (" build-number ")")
separator (string/join (take 40 (repeat "-")))
[enode-id ip-address port]
diff --git a/src/status_im/utils/platform.cljs b/src/status_im/utils/platform.cljs
index 427f015fcf..6d3f44a29a 100644
--- a/src/status_im/utils/platform.cljs
+++ b/src/status_im/utils/platform.cljs
@@ -1,7 +1,5 @@
(ns status-im.utils.platform
- (:require [status-im.android.platform :as android]
- [status-im.ios.platform :as ios]
- [status-im.desktop.platform :as desktop]
+ (:require [status-im.ios.platform :as ios]
["react-native" :as react-native]))
(def platform
@@ -17,20 +15,8 @@
(def android? (= os "android"))
(def ios? (= os "ios"))
-(def desktop? (= os "desktop"))
-(def mobile? (not= os "desktop"))
(def iphone-x? (and ios? (ios/iphone-x-dimensions?)))
-(def isMacOs? (when platform (.-isMacOs ^js platform)))
-(def isNix? (when platform (or (.-isLinux ^js platform) (.-isUnix ^js platform))))
-(def isWin? (when platform (.-isWin ^js platform)))
-
-(def platform-specific
- (cond
- android? android/platform-specific
- ios? ios/platform-specific
- :else desktop/platform-specific))
-
(defn no-backup-directory []
(cond
android? "/../no_backup"
diff --git a/src/status_im/utils/styles.clj b/src/status_im/utils/styles.clj
index d1463fc4df..ef5bb6980d 100644
--- a/src/status_im/utils/styles.clj
+++ b/src/status_im/utils/styles.clj
@@ -3,7 +3,7 @@
(defn- body [style]
`(let [style# ~style
- common# (dissoc style# :android :ios :desktop)
+ common# (dissoc style# :android :ios)
platform# (keyword status-im.utils.platform/os)
platform-specific# (get style# platform#)]
(if platform-specific#
diff --git a/src/status_im/utils/utils.cljs b/src/status_im/utils/utils.cljs
index 0441e5f538..7212ae2111 100644
--- a/src/status_im/utils/utils.cljs
+++ b/src/status_im/utils/utils.cljs
@@ -3,7 +3,6 @@
[goog.string :as gstring]
[status-im.i18n :as i18n]
[re-frame.core :as re-frame]
- [status-im.utils.platform :as platform]
[status-im.ethereum.eip55 :as eip55]
[status-im.ethereum.core :as ethereum]
["react-native" :as react-native]
@@ -91,9 +90,7 @@
;; background-timer
(defn set-timeout [cb ms]
- (if platform/desktop?
- (js/setTimeout cb ms)
- (.setTimeout background-timer cb ms)))
+ (.setTimeout background-timer cb ms))
;; same as re-frame dispatch-later but using background timer for long
;; running timeouts
@@ -104,19 +101,13 @@
(set-timeout #(re-frame/dispatch dispatch) ms))))
(defn clear-timeout [id]
- (if platform/desktop?
- (js/clearTimeout id)
- (.clearTimeout background-timer id)))
+ (.clearTimeout background-timer id))
(defn set-interval [cb ms]
- (if platform/desktop?
- (js/setInterval cb ms)
- (.setInterval background-timer cb ms)))
+ (.setInterval background-timer cb ms))
(defn clear-interval [id]
- (if platform/desktop?
- (js/clearInterval id)
- (.clearInterval background-timer id)))
+ (.clearInterval background-timer id))
(defn format-decimals [amount places]
(let [decimal-part (get (string/split (str amount) ".") 1)]
diff --git a/translations/ar.json b/translations/ar.json
index bbe942865e..2d3b852c6a 100644
--- a/translations/ar.json
+++ b/translations/ar.json
@@ -359,7 +359,6 @@
"deny": "رفض",
"derivation-path": "مسار الاشتقاق",
"description": "وصف",
- "desktop-alpha-release-warning": "شكرا لمحاولة Status سطح المكتب! هذا إصدار أولي مبكر يركز على الدردشة ويفقد العديد من الميزات الموجودة في برنامج العميل المحمول وقد يحتوي على أخطاء ومشكلات أخرى. يرجى ملاحظة أن هذا إصدار ألفا وننصحك باستخدام هذا التطبيق لأغراض الاختبار فقط وأنت تتحمل المسؤولية الكاملة عن جميع المخاطر المتعلقة ببياناتك وأموالك. Status لا تقدم أي مطالبات بالأمان أو سلامة الأموال في هذه البنيات.",
"dev-mode": "وضع التنمية",
"dev-mode-settings": "وضع التنمية",
"device-syncing": "مزامنة الجهاز",
@@ -1109,7 +1108,6 @@
"url": "URL",
"usd-currency": "دولار أمريكي",
"use-valid-contact-code": "الرجاء إدخال مفتاح دردشة صالح أو مسحه ضوئيًا",
- "use-valid-contact-code-desktop": "يرجى إدخال مفتاح دردشة صالح أو اسم المستخدم",
"user-not-found": "لم يتم العثور على المستخدم",
"validation-amount-invalid-number": "المبلغ ليس رقمًا صالحًا",
"validation-amount-is-too-precise": "المبلغ دقيق جدا. الحد الأقصى لعدد الكسور العشرية هو {{decimals}} .",
@@ -1194,4 +1192,4 @@
"your-keys": "مفاتيحك",
"your-recovery-phrase": "العبارة الأولية الخاصة بك",
"your-recovery-phrase-description": "هذه هي العبارة الأولية الخاصة بك. يمكنك استخدامها لإثبات أن هذه هي محفظتك. يمكنك فقط أن ترى ذلك مرة واحدة! اكتبها على الورق واحتفظ بها في مكان آمن. ستحتاج إليها إذا فقدت أو أعدت تثبيت محفظتك."
-}
\ No newline at end of file
+}
diff --git a/translations/de.json b/translations/de.json
index 84ce2c6f10..634418ed72 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -333,7 +333,6 @@
"deny": "Verweigern",
"derivation-path": "Ableitungspfad",
"description": "Beschreibung",
- "desktop-alpha-release-warning": "Vielen Dank, dass Sie Status Desktop ausprobiert haben! Dies ist eine frühe Alpha-Version, die sich auf Chats konzentriert. Es fehlen einige Funktionen des mobilen Clients, die möglicherweise Fehler und andere Probleme enthalten. Bitte beachten Sie, dass dies eine Alpha-Version ist. Wir empfehlen Ihnen, diese App nur zu Testzwecken zu verwenden und die volle Verantwortung für alle Risiken in Bezug auf Ihre Daten und Gelder zu übernehmen. Status erhebt keinen Anspruch auf Sicherheit oder Integrität der Gelder in diesen Builds.",
"dev-mode": "Entwicklungsmodus",
"dev-mode-settings": "Einstellungen des Entwicklungsmodus",
"device-syncing": "Gerätesynchronisierung",
@@ -1073,7 +1072,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Bitte geben Sie einen gültigen Chat-Schlüssel oder Benutzernamen ein oder scannen Sie ihn ein",
- "use-valid-contact-code-desktop": "Bitte geben Sie einen gültigen Chat-Schlüssel oder Benutzernamen ein",
"user-not-found": "Benutzer nicht gefunden",
"validation-amount-invalid-number": "Der Betrag ist keine gültige Zahl",
"validation-amount-is-too-precise": "Betrag ist zu genau. Die maximale Anzahl von Dezimalstellen beträgt {{decimals}}.",
@@ -1154,4 +1152,4 @@
"your-keys": "Ihre Schlüssel",
"your-recovery-phrase": "Ihre Seed-Phrase",
"your-recovery-phrase-description": "Dies ist Ihre Seed-Phrase. Sie verwenden sie, um zu beweisen, dass dies Ihre Wallet ist. Man kann sie nur einmal sehen! Schreiben Sie sie auf Papier und bewahren Sie es an einem sicheren Ort auf. Sie benötigen sie, wenn Sie Ihre Wallet verlieren oder neu installieren."
-}
\ No newline at end of file
+}
diff --git a/translations/en.json b/translations/en.json
index 7388b7337b..ef3afdaee8 100644
--- a/translations/en.json
+++ b/translations/en.json
@@ -313,7 +313,6 @@
"delete-network-title": "Delete network?",
"deny": "Deny",
"description": "Description",
- "desktop-alpha-release-warning": "Thanks for trying Status Desktop! This is an early alpha release focused on chat, and is missing several features found in the mobile client and may contain bugs and other issues. Please note that this is an alpha release and we advise you that using this app should be done for testing purposes only and you assume the full responsibility for all risks concerning your data and funds. Status makes no claims of security or integrity of funds in these builds.",
"dev-mode": "Development mode",
"dev-mode-settings": "Development mode settings",
"device-syncing": "Device syncing",
@@ -1043,7 +1042,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Please enter or scan a valid chat key or username",
- "use-valid-contact-code-desktop": "Please enter a valid chat key or username",
"validation-amount-invalid-number": "Amount is not a valid number",
"validation-amount-is-too-precise": "Amount is too precise. Max number of decimals is {{decimals}}.",
"version": "App version",
diff --git a/translations/es.json b/translations/es.json
index 67f4b73c43..2f77ff2bff 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -333,7 +333,6 @@
"deny": "Negar",
"derivation-path": "Ruta de derivación",
"description": "Descripción",
- "desktop-alpha-release-warning": "¡Gracias por probar Status Desktop! Esta es una anticipada versión alfa enfocada en el chat, y le faltan varias funciones que se encuentran en el cliente móvil y puede contener errores y otros problemas. Ten en cuenta que esta es una versión alfa y te recomendamos que uses esta app solo para fines de prueba y asumas la responsabilidad total de todos los riesgos relacionados con tus datos y fondos. Status no hace afirmación de seguridad o integridad de fondos en estas versiones.",
"dev-mode": "Modo de desarrollo",
"dev-mode-settings": "Ajustes del modo de desarrollo",
"device-syncing": "Sincronización de dispositivos",
@@ -1066,7 +1065,6 @@
"url": "URL",
"usd-currency": "Dólar estadounidense",
"use-valid-contact-code": "Por favor, ingresa o escanea una clave de contacto o nombre de usuario válido",
- "use-valid-contact-code-desktop": "Por favor ingresa una clave de chat válida o nombre de usuario",
"user-not-found": "Usuario no encontrado",
"validation-amount-invalid-number": "La cantidad no es un número válido",
"validation-amount-is-too-precise": "La cantidad es muy precisa. La cantidad máxima de decimales es {{decimals}} .",
@@ -1147,4 +1145,4 @@
"your-keys": "Tus claves",
"your-recovery-phrase": "Tu frase semilla",
"your-recovery-phrase-description": "Esta es tu frase semilla. La usas para comprobar que esta es tu billetera. ¡Sólo la verás una vez! Escríbela en un papel y guárdala en un lugar seguro. La necesitarás si pierdes o reinstalas tu billetera."
-}
\ No newline at end of file
+}
diff --git a/translations/es_419.json b/translations/es_419.json
index 67f4b73c43..2f77ff2bff 100644
--- a/translations/es_419.json
+++ b/translations/es_419.json
@@ -333,7 +333,6 @@
"deny": "Negar",
"derivation-path": "Ruta de derivación",
"description": "Descripción",
- "desktop-alpha-release-warning": "¡Gracias por probar Status Desktop! Esta es una anticipada versión alfa enfocada en el chat, y le faltan varias funciones que se encuentran en el cliente móvil y puede contener errores y otros problemas. Ten en cuenta que esta es una versión alfa y te recomendamos que uses esta app solo para fines de prueba y asumas la responsabilidad total de todos los riesgos relacionados con tus datos y fondos. Status no hace afirmación de seguridad o integridad de fondos en estas versiones.",
"dev-mode": "Modo de desarrollo",
"dev-mode-settings": "Ajustes del modo de desarrollo",
"device-syncing": "Sincronización de dispositivos",
@@ -1066,7 +1065,6 @@
"url": "URL",
"usd-currency": "Dólar estadounidense",
"use-valid-contact-code": "Por favor, ingresa o escanea una clave de contacto o nombre de usuario válido",
- "use-valid-contact-code-desktop": "Por favor ingresa una clave de chat válida o nombre de usuario",
"user-not-found": "Usuario no encontrado",
"validation-amount-invalid-number": "La cantidad no es un número válido",
"validation-amount-is-too-precise": "La cantidad es muy precisa. La cantidad máxima de decimales es {{decimals}} .",
@@ -1147,4 +1145,4 @@
"your-keys": "Tus claves",
"your-recovery-phrase": "Tu frase semilla",
"your-recovery-phrase-description": "Esta es tu frase semilla. La usas para comprobar que esta es tu billetera. ¡Sólo la verás una vez! Escríbela en un papel y guárdala en un lugar seguro. La necesitarás si pierdes o reinstalas tu billetera."
-}
\ No newline at end of file
+}
diff --git a/translations/fil.json b/translations/fil.json
index 2f0d1c0236..d39bd42577 100644
--- a/translations/fil.json
+++ b/translations/fil.json
@@ -359,7 +359,6 @@
"deny": "Deny",
"derivation-path": "Landas ng dereksyon",
"description": "Paglalarawan",
- "desktop-alpha-release-warning": "Salamat sa pagsubok sa Status Desktop! ito ay isang maagang paglabas ng alpha na nakatuon sa chat, at nawawala ang ilang mga tampok na matatagpuan sa mobile client at maaaring maglaman ng mga bug at iba pang mga isyu.Mangyaring tandaan na ito ay isang paglabas ng alpha at ipinapayo namin sa iyo na ang paggamit ng app na ito ay dapat gawin para sa mga layunin ng pagsubok lamang at ipinapalagay mo ang buong responsibilidad para sa lahat ng mga panganib tungkol sa iyong data at pondo. Ang Status ay hindi gumagawa ng mga pag-angkin ng seguridad o integridad ng mga pondo sa mga build na ito.",
"dev-mode": "Mode ng pag-unlad",
"dev-mode-settings": "Pag-unlad ng mga setting ng mode",
"device-syncing": "Pag-sync ng aparato",
@@ -1109,7 +1108,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Mangyaring mag-enter o mag-scan ng isang wastong chat key o username",
- "use-valid-contact-code-desktop": "Pakiusap Maglagay ng tamang chat key o username",
"user-not-found": "Hindi nahanap ang gumagamit",
"validation-amount-invalid-number": "Ang halaga ay hindi isang wastong numero",
"validation-amount-is-too-precise": "Masyadong tumpak ang halaga. Sobrang bilang ng mga decimals ay{{decimals}}",
@@ -1194,4 +1192,4 @@
"your-keys": "Ang iyong susi",
"your-recovery-phrase": "Ang iyong seed phrase",
"your-recovery-phrase-description": "ito ang iyong seed phrase. Ginagamit mo ito upang patunayan na ito ang iyong pitaka. ikaw lamang makita ito nang isang beses! Isulat ito sa papel at itago ito sa isang ligtas na lugar. Kakailanganin mo ito kung nawala o muling i-install ang iyong pitaka."
-}
\ No newline at end of file
+}
diff --git a/translations/fr.json b/translations/fr.json
index b25b3f7604..de185b82b6 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -333,7 +333,6 @@
"deny": "Nier",
"derivation-path": "Chemin de dérivation",
"description": "Description",
- "desktop-alpha-release-warning": "Merci d'avoir essayé Status Desktop! Il s'agit d'une première version alpha centrée sur le chat. Il manque plusieurs fonctionnalités présentes dans le client mobile et peut contenir des bogues et d'autres problèmes. Veuillez noter qu'il s'agit d'une version alpha et que nous vous conseillons d'utiliser cette application uniquement à des fins de test et d'assumer l'entière responsabilité de tous les risques liés à vos données et à vos fonds. Status ne fait aucune revendication de sécurité ou d’intégrité des fonds dans ces builds.",
"dev-mode": "Mode de développement",
"dev-mode-settings": "Paramètres du mode de développement",
"device-syncing": "Synchronisation des appareils",
@@ -1042,7 +1041,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Veuillez entrer ou scanner un code de contact ou un nom d'utilisateur valide.",
- "use-valid-contact-code-desktop": "Veuillez entrer un code de contact ou un nom d'utilisateur valide",
"user-not-found": "Utilisateur non trouvé",
"validation-amount-invalid-number": "Le montant n'est pas un nombre valide",
"validation-amount-is-too-precise": "Le montant est trop précis. Le nombre maximum de décimales est {{decimals}} .",
@@ -1122,4 +1120,4 @@
"your-keys": "Vos clés",
"your-recovery-phrase": "Votre phrase de récupération",
"your-recovery-phrase-description": "Ceci est votre phrase de récupération. Vous l'utilisez pour prouver qu'il s'agit de votre portefeuille. Vous ne le voyez qu'une fois! Ecrivez-le sur du papier et conservez-le dans un endroit sûr. Vous en aurez besoin si vous perdez ou réinstallez votre portefeuille."
-}
\ No newline at end of file
+}
diff --git a/translations/id.json b/translations/id.json
index 8186fd5497..ed91e19532 100644
--- a/translations/id.json
+++ b/translations/id.json
@@ -327,7 +327,6 @@
"deny": "Menyangkal",
"derivation-path": "Jalur derivasi",
"description": "Deskripsi",
- "desktop-alpha-release-warning": "Terima kasih telah mencoba Status Desktop! Ini adalah rilis alpha awal yang berfokus pada obrolan, dan kehilangan beberapa fitur yang ditemukan di klien seluler dan mungkin mengandung bug dan masalah lainnya. Harap dicatat bahwa ini adalah rilis alfa dan kami menyarankan Anda bahwa menggunakan aplikasi ini harus dilakukan hanya untuk tujuan pengujian dan Anda memikul tanggung jawab penuh untuk semua risiko terkait data dan dana Anda. Status tidak membuat klaim keamanan atau integritas dana dalam bangunan ini.",
"dev-mode": "Mode pengembangan",
"dev-mode-settings": "Pengaturan mode pengembangan",
"device-syncing": "Sinkronisasi perangkat",
@@ -1058,7 +1057,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Silakan masukkan atau pindai kunci obrolan atau nama pengguna yang valid",
- "use-valid-contact-code-desktop": "Silakan masukkan kunci obrolan atau nama pengguna yang valid",
"user-not-found": "Pengguna tidak ditemukan",
"validation-amount-invalid-number": "Jumlahnya bukan angka yang valid",
"validation-amount-is-too-precise": "Jumlahnya terlalu tepat. Jumlah desimal maksimum adalah {{decimals}} .",
@@ -1138,4 +1136,4 @@
"your-keys": "Kunci Anda",
"your-recovery-phrase": "Frase seed Anda",
"your-recovery-phrase-description": "Ini adalah frase awal Anda. Anda menggunakannya untuk membuktikan bahwa ini adalah dompet Anda. Anda hanya bisa melihatnya sekali! Tulis di atas kertas dan simpan di tempat yang aman. Anda akan membutuhkannya jika Anda kehilangan atau menginstal ulang dompet Anda."
-}
\ No newline at end of file
+}
diff --git a/translations/it.json b/translations/it.json
index f22b078fbf..ee540e61c8 100644
--- a/translations/it.json
+++ b/translations/it.json
@@ -333,7 +333,6 @@
"deny": "Nega",
"derivation-path": "Percorso di derivazione",
"description": "Descrizione",
- "desktop-alpha-release-warning": "Grazie per aver provato Status Desktop! Questa è una prima versione alfa focalizzata sulla chat. Mancano alcune funzionalità presenti nel client mobile e può contenere bug e altri problemi. Si prega di notare che si tratta di una versione alfa e ti consigliamo di utilizzare questa app solo a scopo di test. Usandola ti assumerai la piena responsabilità per tutti rischi relativi ai dati e ai fondi. Status, in queste build, non garantisce la sicurezza o l'integrità dei fondi.",
"dev-mode": "Modalità di sviluppo",
"dev-mode-settings": "Impostazioni modalità di sviluppo",
"device-syncing": "Sincronizzazione del dispositivo",
@@ -1069,7 +1068,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Inserisci o scansiona una chiave chat o un nome utente valido",
- "use-valid-contact-code-desktop": "Inserisci una chiave chat o un nome utente valido",
"user-not-found": "Utente non trovato",
"validation-amount-invalid-number": "L'importo non è valido",
"validation-amount-is-too-precise": "L'importo è troppo preciso. Il numero massimo di decimali è {{decimals}} .",
@@ -1150,4 +1148,4 @@
"your-keys": "Le tue chiavi",
"your-recovery-phrase": "La tua frase di recupero",
"your-recovery-phrase-description": "Questa è la tua frase di recupero. La usi per dimostrare che questo è il tuo portafoglio. Puoi vederlo solo una volta! Scrivilo su carta e conservalo in un luogo sicuro. Ne avrai bisogno se perdi o reinstalli il tuo portafoglio."
-}
\ No newline at end of file
+}
diff --git a/translations/ja.json b/translations/ja.json
index c714e5c146..40f738c142 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -285,7 +285,6 @@
"delete-network-title": "ネットワークを削除しますか?",
"deny": "拒否",
"description": "説明",
- "desktop-alpha-release-warning": "Statusデスクトップを利用していただきありがとうございます!これはチャットにフォーカスした初期アルファ版で、モバイルクライアントにある機能が欠けていたり、バグや問題があるかもしれません。テスト利用目的のみでこのアプリを利用しする音を推奨します。ここで発生するデータや資産に関するリスクへの全ての責任はあなたが負います。Statusはこのバージョンでセキュリティや資産の安全性に関して何も保証しません。",
"dev-mode": "デベロッパーモード",
"devices": "デバイス",
"disable": "無効",
@@ -887,7 +886,6 @@
"url": "URL",
"usd-currency": "米ドル",
"use-valid-contact-code": "有効な連絡先コードまたはユーザー名を入力してください",
- "use-valid-contact-code-desktop": "有効な連絡先コードまたはユーザー名を入力してください",
"validation-amount-invalid-number": "金額が正しくありません",
"validation-amount-is-too-precise": "金額が細かすぎます。小数点以下を{{decimals}}桁以下にしてください。",
"view-cryptokitties": "CryptoKittiesで表示",
diff --git a/translations/ko.json b/translations/ko.json
index 738d8217f6..d9b471833c 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -329,7 +329,6 @@
"deny": "거절",
"derivation-path": "파생 경로",
"description": "설명",
- "desktop-alpha-release-warning": "스테이터스 데스크탑을 사용해주셔서 감사합니다! 스테이터스 데스크탑은 채팅에 초점을 맞춘 초기 알파 버전이며, 모바일 클라이언트에는 있고 데스크탑에는 없는 몇가지 기능들은 현재 개발 중입니다. 테스트 목적으로만 프로그램을 사용하시는 것을 권장하며, 사용 중에 버그 및 기타 문제가 있을 수 있습니다. 이와 관련하여 데이터 및 자산과 관련된 모든 위험에 대한 책임은 전적으로 귀하에게 있음을 알려드립니다. 스테이터스는 현재 빌드에서 완벽한 보안성이나 무결성을 보장하지 않습니다.",
"dev-mode": "개발 모드",
"dev-mode-settings": "개발 모드 설정",
"device-syncing": "기기 동기화",
@@ -1069,7 +1068,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "유효한 채팅 키 또는 사용자 이름을 입력하거나 스캔하십시오",
- "use-valid-contact-code-desktop": "유효한 채팅 키 또는 사용자 이름을 입력해주세요",
"user-not-found": "사용자를 찾을 수 없습니다",
"validation-amount-invalid-number": "잘못된 수량입니다",
"validation-amount-is-too-precise": "액수가 너무 정확합니다. 최대 소수점 자리수는 {{decimals}}입니다.",
@@ -1149,4 +1147,4 @@
"your-keys": "계정 목록",
"your-recovery-phrase": "시드 구문",
"your-recovery-phrase-description": "위 12단어가 사용자의 시드 구문입니다. 이 구문은 사용자의 지갑을 증명하기 위해 반드시 필요하며, 이번 한번만 확인할 수 있습니다. 지갑을 분실하거나 재설치하는 경우 반드시 필요하므로 안전한 장소에 보관하세요."
-}
\ No newline at end of file
+}
diff --git a/translations/ms.json b/translations/ms.json
index 2873de7f28..cb87072b05 100644
--- a/translations/ms.json
+++ b/translations/ms.json
@@ -198,7 +198,6 @@
"delete-network-title": "Padam rangkaian?",
"deny": "Nafikan",
"description": "Penerangan",
- "desktop-alpha-release-warning": "Terima kasih kerana mencuba Status Desktop! Ini adalah pelepasan percubaan awal yang difokuskan pada sembang, dan tiada beberapa ciri yang terdapat pada klien mudah alih dan mungkin mengandungi pepijat dan isu-isu lain. Sila ambil perhatian bahawa ini adalah pelepasan percubaan dan kami menasihati anda bahawa penggunaan aplikasi ini cuma dilakukan untuk tujuan pengujian sahaja dan anda bertanggungjawab sepenuhnya terhadap semua risiko yang berkaitan dengan data dan dana anda. Status tidak membuat tuntutan janji keselamatan atau integriti dana anda dalam binaan ini.",
"dev-mode": "Mod pembangunan",
"devices": "Peranti",
"disconnected": "Menyambung ke peer...",
@@ -489,4 +488,4 @@
"yes": "Ya",
"You": "Anda",
"you-are-all-set": "Anda telah siap sedia!"
-}
\ No newline at end of file
+}
diff --git a/translations/pt_BR.json b/translations/pt_BR.json
index 869a565bd4..b4f48cf83d 100644
--- a/translations/pt_BR.json
+++ b/translations/pt_BR.json
@@ -333,7 +333,6 @@
"deny": "Negar",
"derivation-path": "Caminho de derivação",
"description": "Descrição",
- "desktop-alpha-release-warning": "Obrigado por experimentar o Status Desktop! Esta é uma versão alfa inicial focada no bate-papo e faltam vários recursos encontrados no cliente móvel e podem conter bugs e outros problemas. Observe que esta é uma versão alfa e recomendamos que o uso deste aplicativo seja feito apenas para fins de teste e você assume a total responsabilidade por todos os riscos relacionados a seus dados e fundos. O status não faz reivindicações de segurança ou integridade de fundos nessas compilações.",
"dev-mode": "Modo de desenvolvimento",
"dev-mode-settings": "Configurações do modo de desenvolvimento",
"device-syncing": "Sincronização de dispositivos",
@@ -1073,7 +1072,6 @@
"url": "URL",
"usd-currency": "USD",
"use-valid-contact-code": "Digite ou verifique uma chave de bate-papo ou nome de usuário válidos",
- "use-valid-contact-code-desktop": "Por favor, insira um nome de usuário válido ou uma chave de chat",
"user-not-found": "Usuário não encontrado",
"validation-amount-invalid-number": "Quantidade não é um número válido",
"validation-amount-is-too-precise": "O valor é muito preciso. O número máximo de casas decimais é {{decimals}} .",
@@ -1154,4 +1152,4 @@
"your-keys": "Suas chaves",
"your-recovery-phrase": "Sua frase-semente",
"your-recovery-phrase-description": "Esta é sua frase-semente. Você o usa para provar que esta é sua carteira. Você só pode vê-lo uma vez! Escreva no papel e mantenha em um lugar seguro. Você vai precisar dele se você perder ou reinstalar sua carteira."
-}
\ No newline at end of file
+}
diff --git a/translations/ru.json b/translations/ru.json
index 39bc509f6a..d0b1bb740c 100644
--- a/translations/ru.json
+++ b/translations/ru.json
@@ -351,7 +351,6 @@
"deny": "Отказать",
"derivation-path": "Путь извлечения",
"description": "Описание",
- "desktop-alpha-release-warning": "Спасибо за попытку Status Desktop! Это ранняя альфа-версия, ориентированная на чат, в которой отсутствуют некоторые функции мобильного клиента, и она может содержать ошибки и другие проблемы. Обратите внимание, что это альфа-версия, мы советуем вам использовать это приложение только для целей тестирования, и вы берете на себя полную ответственность за все риски, касающиеся ваших данных и средств. Status не претендует на безопасность или сохранность средств в этих сборках.",
"dev-mode": "Режим разработки",
"dev-mode-settings": "Настройки режима разработки",
"device-syncing": "Синхронизация устройств",
@@ -1066,7 +1065,6 @@
"url": "URL-адрес",
"usd-currency": "USD",
"use-valid-contact-code": "Пожалуйста, введите или отсканируйте действительный код контакта или имя пользователя",
- "use-valid-contact-code-desktop": "Пожалуйста, введите действительный код контакта или имя пользователя",
"user-not-found": "Пользователь не найден",
"validation-amount-invalid-number": "Сумма не является действительным числом",
"validation-amount-is-too-precise": "Слишком много чисел после запятой. {{decimals}} – это максимальное допустимое количество знаков после запятой.",
@@ -1148,4 +1146,4 @@
"your-keys": "Ваши ключи",
"your-recovery-phrase": "Ваша фраза восстановления",
"your-recovery-phrase-description": "Это ваша фраза восстановления. Она нужна для того, чтобы доказать, что это ваш кошелек. Вы можете ее увидеть только один раз! Запишите ее на бумаге и храните в надежном месте. Она понадобится вам, если вы потеряете или переустановите свой кошелек."
-}
\ No newline at end of file
+}
diff --git a/translations/tr.json b/translations/tr.json
index 577d281c15..7323ed02ee 100644
--- a/translations/tr.json
+++ b/translations/tr.json
@@ -335,7 +335,6 @@
"deny": "Reddet",
"derivation-path": "Türetme yolu",
"description": "Açıklama",
- "desktop-alpha-release-warning": "Status Desktop'ı denediğiniz için teşekkür ederiz! Bu, sohbete odaklanan erken bir alfa sürümüdür ve mobil uygulamada bulunan birkaç özellik eksiktir.Hatalar ve diğer sorunlar içerebilir. Bu bir alfa sürümü olduğunu ve uygulamayı sadece test amaçlı kullanılması gerektiğini ve veri,fonlar ile ilgili tüm risklerin tam sorumluluğunu üstlenmenizi öneririz.Lüfen unutmayın. Status, herhangi bir güvenlik veya fon bütünlüğü iddiasında bulunmaz.",
"dev-mode": "Geliştirici Modu",
"dev-mode-settings": "Geliştirme modu ayarları",
"device-syncing": "Cihaz senkronizasyonu",
@@ -1077,7 +1076,6 @@
"url": "URL",
"usd-currency": "Usd",
"use-valid-contact-code": "Lütfen geçerli bir sohbet anahtarı veya kullanıcı adı girin veya tarayın",
- "use-valid-contact-code-desktop": "Lütfen geçerli bir sohbet anahtarı veya kullanıcı adı girin",
"user-not-found": "Kullanıcı bulunamadı",
"validation-amount-invalid-number": "Tutar geçerli bir sayı değil",
"validation-amount-is-too-precise": "Tutar çok hassas. Maksimum ondalık sayı {{decimals}}",
@@ -1158,4 +1156,4 @@
"your-keys": "Senin anahtarların",
"your-recovery-phrase": "Kelime imzanız",
"your-recovery-phrase-description": "Bu senin kelime imzan. Bunu senin cüzdanın olduğunu kanıtlamak için kullanıyorsun. Sadece bir kez görüyorsunuz! Kağıda yazın ve güvenli bir yerde saklayın. Cüzdanınızı kaybederseniz veya uygulamayı yeniden yüklerseniz ihtiyacınız olacak."
-}
\ No newline at end of file
+}
diff --git a/translations/zh.json b/translations/zh.json
index 0a6956df7b..0cceef4a38 100644
--- a/translations/zh.json
+++ b/translations/zh.json
@@ -329,7 +329,6 @@
"deny": "拒绝",
"derivation-path": "派生路径",
"description": "描述",
- "desktop-alpha-release-warning": "感谢您尝试使用Status桌面版!与手机版功能稍有不同,这一版是早期alpha版本,重点聚焦聊天功能,可能存在一些有待改善的问题。\n请注意,这是一个alpha版本,仅限于测试目的,数据和资金相关的信息,请务必妥善处理与保管,所有风险将由使用者个人承担。此外,针对安全性或资金完整性,在这一版中,Status不做任何声明。",
"dev-mode": "开发模式",
"dev-mode-settings": "开发模式设置",
"device-syncing": "设备同步",
@@ -1069,7 +1068,6 @@
"url": "链接",
"usd-currency": "USD",
"use-valid-contact-code": "请输入或扫描有效的聊天码或用户名",
- "use-valid-contact-code-desktop": "请输入有效的聊天码或者用户名",
"user-not-found": "未找到用户",
"validation-amount-invalid-number": "金额不是一个有效的数字",
"validation-amount-is-too-precise": "金额太精确了。最大小数位数为{{decimals}} 。",
@@ -1149,4 +1147,4 @@
"your-keys": "您的账户",
"your-recovery-phrase": "您的助记词",
"your-recovery-phrase-description": "这是您的助记词。您需要用它来证明这个钱包属于您。您只能查看一次!请将其写在纸上并保存在安全的地方。如果丢失或重新安装钱包,您将需要用到这些助记词。"
-}
\ No newline at end of file
+}
diff --git a/translations/zh_Hans_CN.json b/translations/zh_Hans_CN.json
index 3e7f6ec8b5..73ab9ee92f 100644
--- a/translations/zh_Hans_CN.json
+++ b/translations/zh_Hans_CN.json
@@ -293,7 +293,6 @@
"delete-network-title": "删除网络?",
"deny": "拒绝",
"description": "简介",
- "desktop-alpha-release-warning": "感谢您尝试使用Status桌面版!与手机版功能稍有不同,这一版是早期alpha版本,重点聚焦聊天功能,可能存在一些有待改善的问题。\n请注意,这是一个alpha版本,仅限于测试目的,数据和资金相关的信息,请务必妥善处理与保管,所有风险将由使用者个人承担。此外,针对安全性或资金完整性,在这一版中,Status不做任何声明。",
"dev-mode": "开发模式",
"dev-mode-settings": "开发模式设置",
"device-syncing": "设备同步",
@@ -904,7 +903,6 @@
"url": "链接",
"usd-currency": "USD",
"use-valid-contact-code": "请输入或扫描有效的联系人代码或用户名",
- "use-valid-contact-code-desktop": "请输入有效的聊天码或者用户名",
"validation-amount-invalid-number": "金额不是一个有效的数字",
"validation-amount-is-too-precise": "金额太精确了。最大小数位数为{{decimals}} 。",
"version": "版本",
diff --git a/translations/zh_TW.json b/translations/zh_TW.json
index b5c743d53e..410a4cb8f7 100644
--- a/translations/zh_TW.json
+++ b/translations/zh_TW.json
@@ -329,7 +329,6 @@
"deny": "拒絕",
"derivation-path": "推導路徑",
"description": "描述",
- "desktop-alpha-release-warning": "感謝您安裝Status桌面程式!這是針對聊天的早期Alpha版本,缺少行動用戶端中的一些功能,並且可能包含錯誤和其他問題。\n請注意,這是一個Alpha版本,我們建議您僅在出於測試目的下,使用此應用程式,並自行承擔與您的數據和資金有關的所有風險,以及全部責任。在這些版本中,Status不保證任何資金的安全性或完整性。",
"dev-mode": "開發人員模式",
"dev-mode-settings": "開發模式設定",
"device-syncing": "設備同步",
@@ -1069,7 +1068,6 @@
"url": "網址",
"usd-currency": "美元",
"use-valid-contact-code": "請輸入或掃描有效的聊天金鑰或用戶名",
- "use-valid-contact-code-desktop": "請輸入有效的聊天金鑰或用戶名稱",
"user-not-found": "找不到使用者",
"validation-amount-invalid-number": "金額不是有效數字",
"validation-amount-is-too-precise": "金額太精確了。小數點後的位數最多為{{decimals}}",
@@ -1149,4 +1147,4 @@
"your-keys": "你的金鑰",
"your-recovery-phrase": "您的種子詞組",
"your-recovery-phrase-description": "這是您的種子詞組,能用它來證明這是您的錢包。您只會看到一次!請將其寫在紙上,並存放在安全的地方。如果裝置遺失或想重新安裝錢包,將需要它。"
-}
\ No newline at end of file
+}
diff --git a/translations/zh_hans.json b/translations/zh_hans.json
index 1a2b3b8334..8e8b27dbfa 100644
--- a/translations/zh_hans.json
+++ b/translations/zh_hans.json
@@ -274,7 +274,6 @@
"delete-network-title": "删除网络?",
"deny": "拒绝",
"description": "简介",
- "desktop-alpha-release-warning": "感谢您尝试使用Status桌面版!与手机版功能稍有不同,这一版是早期alpha版本,重点聚焦聊天功能,可能存在一些有待改善的问题。\n请注意,这是一个alpha版本,仅限于测试目的,数据和资金相关的信息,请务必妥善处理与保管,所有风险将由使用者个人承担。此外,针对安全性或资金完整性,在这一版中,Status不做任何声明。",
"dev-mode": "开发模式",
"devices": "设备",
"disable": "禁用",
@@ -844,7 +843,6 @@
"url": "链接",
"usd-currency": "USD",
"use-valid-contact-code": "请输入或扫描有效的联系人代码或用户名",
- "use-valid-contact-code-desktop": "请输入有效的联系人代码或者用户名",
"validation-amount-invalid-number": "金额不是一个有效的数字",
"validation-amount-is-too-precise": "金额过于精确,所能发送的最小单位是1 Wei (1x10^-18 ETH)",
"version": "版本",
diff --git a/ubuntu-server.js b/ubuntu-server.js
deleted file mode 100755
index ddc03391b4..0000000000
--- a/ubuntu-server.js
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/env node
-
-/**
- * Copyright (C) 2016, Canonical Ltd.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
- console.debug = console.log;
-
-
-var net = require('net');
-var repl = require('repl');
-var vm = require('vm');
-var util = require('util');
-var Buffer = require('buffer').Buffer;
-
-var DEBUG = 1;
-
-function rnUbuntuServer(readable, writable) {
- console.reportErrorsAsExceptions = false; // XXX:
- var sandbox = { console: console, util: util };
- vm.createContext(sandbox);
-
- var state = 'start';
- var length = 0;
- var buffer = new Buffer(0);
-
- var internalEval = function(code) {
- DEBUG > 3 && console.error("-- internalEval: executing script(length=" + code.length + "): " + code.slice(0, 80) + " ... " + code.slice(-80));
- DEBUG > 3 && console.error("-- before sandbox=" + util.inspect(sandbox, { colors: true, depth: null }));
- var result = vm.runInContext(code, sandbox);
- DEBUG > 3 && console.error("-- internalEval: result = " + result);
- DEBUG > 3 && console.error("-- after sandbox=" + util.inspect(sandbox, { colors: true, depth: null }));
- return result;
- };
-
- var sendResponse = function(result) {
- function sendResponsePacket(response) {
- const sizeBuf = new Buffer(4);
- const dataBuf = new Buffer(response);
- sizeBuf.writeUInt32LE(dataBuf.length, 0);
- writable.write(sizeBuf);
- writable.write(dataBuf);
- }
-
- var stringifiedResult = JSON.stringify(result);
- DEBUG > 3 && console.error("-- sending result=" + stringifiedResult);
- if (stringifiedResult === undefined) {
- sendResponsePacket('undefined');
- return;
- }
- sendResponsePacket(stringifiedResult);
- }
-
- readable.on('error', function (exc) {
- console.warn("ignoring exception: " + exc);
- });
-
- readable.on('data', function(chunk) {
- DEBUG > 2 && console.error("-- Data received from RN Client: state = " + state)
- DEBUG > 2 && console.error("-- chunk length: " + chunk.length)
- DEBUG > 2 && console.error("-- buffer length(original): " + buffer.length)
-
- if (chunk == null || state === 'eof')
- return;
-
- buffer = Buffer.concat([buffer, chunk]);
- DEBUG > 2 && console.error("-- buffer length(concat): " + buffer.length)
-
- while(true) {
- if (state === 'start') {
- if (buffer.length < 4)
- return;
- length = buffer.readUInt32LE(0);
- DEBUG > 2 && console.error("-- New Packet: length=" + length);
-
- if (buffer.length >= length + 4) {
- var result = internalEval(buffer.toString('utf8', 4, length + 4));
- var tmpBuffer = new Buffer(buffer.length - 4 - length);
- buffer.copy(tmpBuffer, 0, length + 4, buffer.length);
- buffer = tmpBuffer;
- sendResponse(result);
- } else {
- state = 'script';
- }
- }
-
- if (state === 'script') {
- DEBUG > 2 && console.error("-- Packet length: " + length);
- if (buffer.length >= length + 4) {
- var result = internalEval(buffer.toString('utf8', 4, length + 4));
- var tmpBuffer = new Buffer(buffer.length - 4 - length);
- buffer.copy(tmpBuffer, 0, length + 4, buffer.length);
- buffer = tmpBuffer;
- state = 'start';
- sendResponse(result);
- } else {
- return;
- }
- }
- }
- });
-
- readable.on('end', function() {
- state = 'eof';
- DEBUG && console.error("-- Session ended");
- });
-}
-
-var closeDangerousConnection = function(sock) {
- var remoteAddress = sock.remoteAddress;
- if(remoteAddress.indexOf("127.0.0.1") == -1) {
- console.log("WARN: connection not from localhost, will be closed: ", remoteAddress);
- sock.destroy();
- return true;
- } else {
- console.log("Connection from: ", remoteAddress);
- return false;
- }
-}
-
-if (process.argv.indexOf('--pipe') != -1) {
- console.log = console.error
- rnUbuntuServer(process.stdin, process.stdout);
-} else {
- var port = process.env['REACT_SERVER_PORT'] || 5000;
- process.argv.forEach((val, index) => {
- if (val == '--port') {
- port = process.argv[++index];
- }
- });
-
- var server = net.createServer((sock) => {
- DEBUG && console.error("-- Connection from RN client");
- if(!closeDangerousConnection(sock))
- rnUbuntuServer(sock, sock);
- }).listen(port, function() { console.error("-- Server starting") });
-}
diff --git a/mobile/js_files/yarn.lock b/yarn.lock
similarity index 99%
rename from mobile/js_files/yarn.lock
rename to yarn.lock
index 8ea3b9e49f..a5e0e71eec 100644
--- a/mobile/js_files/yarn.lock
+++ b/yarn.lock
@@ -6547,10 +6547,6 @@ react-native-navigation-bar-color@^2.0.1:
resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-2.0.1.tgz#ee2be25cc37105f7da355717b0a9a32c9c059ae6"
integrity sha512-1kE/oxWt+HYjRxdZdvke9tJ365xaee5n3+euOQA1En8zQuSbOxiE4SYEGM7TeaWnmLJ0l37mRnPHaB2H4mGh0A==
-"react-native-navigation-twopane@git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status":
- version "0.0.2"
- resolved "git+https://github.com/status-im/react-native-navigation-twopane.git#04ed5fddfb46a6a3ee30776987acb4d3b11c27d4"
-
react-native-reanimated@^1.7.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.8.0.tgz#0b5719b20c1fed9aaf8afd9a12e21c9bd46ee428"