Commit Graph

191 Commits

Author SHA1 Message Date
Klaus Basan
383352f79c [AFV] Ref T739, remove implementation details from IContextAudio to keep the DBus interface "pure"
* This was an approach to avoid registration of "local signals"
* that part DID NOT work as planned, as all object's signals are registered
* the refactoring itself nevertheless is NOT a bad idea and has been kept
* as the audio context has this special "concept" and CAfvClient can run on both sides (proxy AND impl.side)
2019-10-18 10:36:23 +02:00
Klaus Basan
6cbd2d9486 [AFV] Ref T739 remove unused old coreaudio arguments 2019-10-18 10:36:15 +02:00
Mat Sutcliffe
ec0a20b1d1 [AFV] Fixed context unittest that was broken by audio context changes 2019-10-11 19:00:40 +01:00
Klaus Basan
ff6b7f8deb Ref T730, added deleteResourceFromNetwork and modified CSlot (directly accept object witb std::function) 2019-10-11 19:00:34 +01:00
Roland Rossgotterer
acf540be34 Long live FsdClient 2019-09-18 13:49:37 +02:00
Klaus Basan
33cd96c2e3 Allow to test an ASSERT (like the crashdump test) 2019-09-16 22:40:54 +01:00
Klaus Basan
235508ec98 Ref T673, incognito flag/menu 2019-09-16 22:39:57 +01:00
Roland Rossgotterer
a7509669f9 Refactor crashpad initialization
Crashpad handler was initialized quite late since we were waiting for settings. However the settings in crashpad are persistent itself, hence we can start it at the earliest possible time and change the upload settings independently later. The only prerequisite is to have QCoreApplication constructed in order for the application name to be available.
ref T652
2019-05-13 11:21:05 +02:00
Klaus Basan
0d0e093330 Download related:
* Info which URL failed
* log redirects
* disabled CNetworkUtils::setSwiftClientSslCertificate(copiedReques
2019-04-11 22:12:05 +01:00
Roland Rossgotterer
04787bbf39 Fix MinGW build failure 2019-04-11 22:11:49 +01:00
Klaus Basan
94513951e1 Added backtrace attributes for Qt version and platform 2019-04-11 22:11:38 +01:00
Klaus Basan
f080f0bb86 Cmd.line arg --skipsa to skip "single application check". Allows to run multiple clients on one machine. 2019-04-11 22:11:37 +01:00
Klaus Basan
60b3c16120 Ref T401, crash simulation improvements
* sub-directory paths in directory utils
* no UI simulated crash in release builds
* no upload rate in local developer builds
2019-04-11 22:11:31 +01:00
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Klaus Basan
16dd6d7451 Ref T401, crash handling in application
* function to simulate crash
* init crash info so file is written + add arguments for handler
* enable / disable uploads
2019-02-22 20:36:31 +00:00
Roland Rossgotterer
50e82c26c6 Add current log file as file attachment to crash dump
ref T401
2019-02-22 20:36:24 +00:00
Klaus Basan
ddd44edebd Ref T528, test if simulator interface can be used (only possible in local UI, not in remote UI) 2019-02-22 20:36:08 +00:00
Klaus Basan
1b7f1b1662 Minor reader formatting/comments 2019-02-22 20:36:07 +00:00
Mat Sutcliffe
077fd8c35a Ref T525 Avoid directly calling getLogCategories. 2019-02-22 20:35:52 +00:00
Mat Sutcliffe
fe7a45afcf Ref T516 Update CStatusMessage call sites to use new syntax. 2019-02-22 20:35:51 +00:00
Klaus Basan
8c3faa4ca9 Ref T489, support download progress in our readers
* signal for download progress per entity (DB reader)
* ProgressSlot
* changed signatures for ProgressSlot
2019-02-22 20:35:00 +00:00
Klaus Basan
5c785643c7 Ref T484, string improvements 2019-02-22 20:35:00 +00:00
Mat Sutcliffe
225ff81252 Ref T485 Adjust CLogMessage and CStatusMessage call sites to use the new API. 2019-02-22 20:34:55 +00:00
Mat Sutcliffe
d6b5dca6b2 Return a default-constructed QString instead of implicitly converting an empty string literal. 2019-02-22 20:23:49 +00:00
Mat Sutcliffe
6c05c5249d When calling arg() on a QString constructed from a literal, use QStringLiteral. 2019-02-22 20:23:47 +00:00
Klaus Basan
a09d7191f3 Ref T456, user statistics monitored at backend
* values for simulator/network
* changed concept a bit so crash handler values are used for statistics as well
2018-12-16 00:22:33 +01:00
Roland Rossgotterer
686f8a478e Update crashpad
crashpad is now also supported on Linux. Therefore build it everywhere except under Windows MinGW.
2018-12-16 00:22:00 +01:00
Roland Rossgotterer
08558a0803 Change crashreport url to to backtrace.io
From now on, all crashreports will be submitted to backtrace.io url. Backtrace.io also requires a different set of annotations.
2018-12-11 17:42:49 +01:00
Klaus Basan
42af510342 Check for minimum mapping version
* check functions in gui application/application
* check for instance mapping wizard
* check on mapping tool's stashing component
2018-12-05 04:03:59 +01:00
Klaus Basan
3c20590293 Allow a forced update of the setup reader
When the network is down it can happen the bootstrap file request is not yet timed out but we use our own time out.
In that case we check the cached data upfront by faking a failed web read.
2018-12-05 04:03:43 +01:00
Mat Sutcliffe
df563d5b29 Fixes needed to compile swift with MSVC with the /permissive- switch
which enables more C++ standard conformance.
2018-11-16 02:49:55 +01:00
Klaus Basan
dfd33e40c1 Detect emulated driver before casting to avoid crashs 2018-11-16 02:49:51 +01:00
Klaus Basan
17382a0019 Ref T401, update functions for crashpad info in CApplication 2018-11-04 17:43:06 +01:00
Klaus Basan
d7380966de Style 2018-11-04 17:42:44 +01:00
Klaus Basan
4a82621a1d Ref T400, swift needs to start even without network connection, especially for mapping tool
* count errors and call "manageSetupAvailability" to update cache availability
* minor adjustments
2018-11-04 17:42:43 +01:00
Roland Winklmeier
f6ea2a9107 Move CInputManager from singleton to CApplication member
The main reason why CInputManager was singleton is the easy access across
the code. That had the negative side effect that time of destruction was
at a very late stage of the shutdown and could not be controlled by us.
My moving it to CApplication, the access is equally easy (using sApp) and
allows to be cleaned up properly during graceful shutdown.

ref T391
2018-11-04 17:42:42 +01:00
Klaus Basan
705a56b1cb Ref T401, adjusted settings used in components 2018-11-04 17:42:42 +01:00
Klaus Basan
fe99eb261b Ref T367, Ref T400 signal and read handling
* connect this->setupHandlingCompleted directly with reader + renaming
* do not waitForSetup if request already failed
2018-11-04 17:42:41 +01:00
Roland Winklmeier
832082c5bc Delay creating input devices to when required
Every first call to CInputManager::instance() was automatically creating
the low level input devices. This was not always desired and therefore
creation is now explicit via function.
Unit tests do not need the devices created. In contrast, Windows unit tests
failed since Windows didn't like the Jenkins service childs to allocate
DInput devices.

T391
2018-10-07 16:17:28 +02:00
Roland Winklmeier
c42900f959 Release input devices when application is shutdown
If they are released with the deallocation of CInputManager, we might
run into global deallocation hell.
Also on Windows release all DirectX devices before COM library is closed.

ref T391
2018-10-07 16:17:26 +02:00
Mat Sutcliffe
f42d42487d Ref T314 Change CApplication::m_networkWatchDog from a smart pointer to a raw pointer.
Attempting to manage a worker's lifetime with a smart pointer is a mistake.
It can lead to double-delete or premature-delete bugs, and race conditions.
Workers self-manage their own lifetimes.
2018-10-05 17:39:56 +02:00
Klaus Basan
4406174668 Ref T341, crash prevention as seen in https://crashreports.swift-project.org/crashreports/81 2018-09-09 02:53:36 +02:00
Klaus Basan
09ab653cf9 Reduced number of (unnecessary) network status messages 2018-09-08 15:36:21 +02:00
Klaus Basan
5096df034b Ref T314, thread CContinuousWorker::finish
- use application thread if there is no owner
- use QPointer for owner
- more detailled error message
2018-08-31 20:08:06 +02:00
Klaus Basan
755455e8a4 Style, in CGuiApplication sGui can be used as guard (no QPointer needed) 2018-08-16 14:33:54 +02:00
Klaus Basan
0327776edd Ref T295, based on bug report of RP (no WIFI detected) creating a network report
* network report when starting swift
* also ignore inactive configs when checking for "the bearer bug"

references:
https://stackoverflow.com/questions/51824242/disable-qt-bearer-management-at-runtime
https://swift-project.slack.com/archives/G7GD2UP9C/p1534181224000115
https://swift-project.slack.com/archives/G96QTUBEG/p1534162173000320
2018-08-16 14:33:52 +02:00
Klaus Basan
c0ca56ee93 Ref T295, fix for the "no network config" issue
* details: https://stackoverflow.com/questions/51686943/no-qnetworkconfiguration-although-i-can-connect-to-wifi
* network accessibility check can be disabled if network config looks suspicious
* using QNetworkConfigurationManager
2018-08-09 01:25:18 +02:00
Klaus Basan
c282d4e1f8 Ref T295, network watchdog optimizations
* constructor can pass network accessibility as default
* ping URL now constructed in global setup
* watchdog will prevent unnecessary signals by checking if state has really changed (there are redundant QAM signals for QNetworkAccessManager::networkAccessibleChanged)
* refactorings, thread checks
2018-07-31 01:43:32 +02:00
Klaus Basan
5966a1ead4 Display platform in title bar (easier to identify screenshot) 2018-07-27 23:33:14 +02:00
Klaus Basan
a6ee6d4b72 Ref T292, Ref T285 minor style improvements, renamings 2018-07-26 04:32:38 +02:00