2201 Commits

Author SHA1 Message Date
Michael Zanetti
22bacf09e1 fix build 2019-12-01 01:14:26 +01:00
Michael Zanetti
5a36c2347f fix logging system to cope with the qml output redirection 2019-12-01 00:08:57 +01:00
Michael Zanetti
bffdf9cb88 add copyright headers 2019-12-01 00:08:57 +01:00
Michael Zanetti
c9d4d03de4 always enable qml logging 2019-12-01 00:08:57 +01:00
Michael Zanetti
ebf4d83286 Make it build with Qt 5.5 2019-12-01 00:08:57 +01:00
Michael Zanetti
22f7654444 bump some version numbers 2019-12-01 00:08:57 +01:00
Michael Zanetti
9a52345700 fix notifications 2019-12-01 00:08:57 +01:00
Michael Zanetti
53a79c52d6 fixes 2019-12-01 00:08:57 +01:00
Michael Zanetti
3c274b04ab More work on scripting 2019-12-01 00:08:57 +01:00
Michael Zanetti
3a9a0a0abc Add scripts api namespace 2019-12-01 00:08:57 +01:00
Michael Zanetti
6ab6f8a80b tune script types a bit 2019-12-01 00:08:57 +01:00
Michael Zanetti
d4081195d4 Some more work on the script engine 2019-12-01 00:07:35 +01:00
Michael Zanetti
0f75be0fa4 Require Qt 5.12 for ScriptDevicePlugin 2019-12-01 00:07:35 +01:00
Michael Zanetti
4c0c95b1a8 Add a ScriptEngine 2019-12-01 00:07:35 +01:00
Michael Zanetti
f562503d6d Add missing dpkg dependency 2019-12-01 00:07:35 +01:00
Michael Zanetti
fd401a850a cleanup 2019-12-01 00:07:35 +01:00
Michael Zanetti
e47a4062ee Fix loading of JS plugins 2019-12-01 00:07:35 +01:00
Michael Zanetti
b97e4e5b0c Add support for JS device plugins 2019-12-01 00:07:35 +01:00
Michael Zanetti
9322cc79e9 Initial attempt to script a plugin 2019-12-01 00:07:35 +01:00
Jenkins nymea
6cdcd47f9b Jenkins release build 0.17.0 2019-12-01 00:05:04 +01:00
Jenkins nymea
f1cd51c5e6 Merge PR #236: Add some more plugin search paths to work better on non-debian systems 2019-12-01 00:05:00 +01:00
Jenkins nymea
387ce07bf3 Merge PR #234: Weaken password requirements a bit 2019-12-01 00:05:00 +01:00
Jenkins nymea
a56362a264 Merge PR #233: Threaded log database 2019-12-01 00:05:00 +01:00
Jenkins nymea
a9c304b5f8 Merge PR #232: Don't emit EventEmitted for invalid devices 2019-12-01 00:05:00 +01:00
Jenkins nymea
3f066c5cc9 Merge PR #230: Don't load devices if the plugin dropped support for it 2019-12-01 00:05:00 +01:00
Jenkins nymea
196cf7a6fe Merge PR #229: Add a barcodescanner interface 2019-12-01 00:05:00 +01:00
Jenkins nymea
b4984d442b Merge PR #228: Experience plugins 2019-12-01 00:05:00 +01:00
Jenkins nymea
2e478a1032 Merge PR #224: Drop old REST server 2019-12-01 00:04:59 +01:00
Jenkins nymea
9710aa5927 Merge PR #223: More complete setup 2019-12-01 00:04:59 +01:00
Jenkins nymea
9b1a5c383c Merge PR #222: Allow more fine grained notification options 2019-12-01 00:04:59 +01:00
Michael Zanetti
2b63b59261 drop whitespace 2019-11-30 23:58:26 +01:00
Michael Zanetti
212ccc8596 remove unneeded processQueue 2019-11-30 23:56:56 +01:00
Michael Zanetti
64a494e44a Fix tests that didn't wait long enough for log entries to be written 2019-11-28 20:47:55 +01:00
Michael Zanetti
619bbf76f3 don't use QSqlQuery at all outside the job queue
On some backends, such as MySQL, a prepare() call will access
the database
2019-11-28 14:20:37 +01:00
Michael Zanetti
5030ab8ac5 Add some more plugin search paths to work better on non-debian systems 2019-11-26 19:47:19 +01:00
Michael Zanetti
1f0e00cb9d Update tests 2019-11-25 12:33:57 +01:00
Michael Zanetti
7b99783603 Weaken password requirements a bit
We've decided to not require special characters any more
2019-11-22 17:37:37 +01:00
Michael Zanetti
cee2ed1542 make "make test" target work properly 2019-11-16 00:52:25 +01:00
Michael Zanetti
c7dd26d525 cleanup, fix last tests 2019-11-16 00:44:08 +01:00
Michael Zanetti
73812df269 fix shutdown 2019-11-15 23:54:40 +01:00
Michael Zanetti
0ce99fc127 add some debugs 2019-11-15 23:37:52 +01:00
Michael Zanetti
f36eac080f fix duplicate query execution 2019-11-15 23:12:27 +01:00
Michael Zanetti
2361cc0473 Wait for the job queue to finish before shutting down 2019-11-15 18:34:20 +01:00
Michael Zanetti
3eac06de6e Threaded log database
This
a) makes the log db threaded by using QtConcurrent to run queries in a
different thread but still keeps ordering of the queries and always
only allows a single query at a time (QSql is not threadsafe). This fixes
removeDevice calls failing if we take more than $jsonprc_timeout to clean
a deleted device from the DB and keeps nymead responsive during that too.

b) generally improces performance of the system by not requiring operations
(emitting events, changing states) to wait for the sync log db entry to be
made.

c) drops some of the houskeeping code on nymea startup. While this will still
do log db housekeeping if the DB exceeds maxDbSize, it will not run
housekeeping on the DB any more at application startup. Reasoning for this
is that there have been reports of rules/log entries beimg destroyed if a
plugin can't be found at application startup. Given our general direction
of working towards more dynamic plugin loading, this might happen more often
in the future and we sure don't want to destroy rules etc when we just
temporarily miss a plugin.

d) tries to fix issue #226 by rotating the DB not only when it fails to open
initially, but also when it fails to insert new entries.
2019-11-15 18:33:10 +01:00
Michael Zanetti
f5942a0223 Also check state changes 2019-11-15 11:02:35 +01:00
Michael Zanetti
2228523cf0 Don't emit EventEmitted for invalid devices 2019-11-12 19:25:24 +01:00
Michael Zanetti
abdfce129e Don't load devices if the plugin dropped support for it 2019-11-07 11:37:11 +01:00
Michael Zanetti
ec15e664e1 cleanup warnings and allow setting "unknown" debug categories 2019-11-06 13:38:22 +01:00
Michael Zanetti
25152c5e27 Add readonly feature to JSONRPC 2019-11-06 00:06:03 +01:00
Michael Zanetti
ad32ee86ce silence false positive warning 2019-11-04 14:36:21 +01:00