282 Commits

Author SHA1 Message Date
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
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
fa1cd3605c Add deprecation warnings 2019-11-04 11:56:24 +01:00
Michael Zanetti
5be6e6e19d Deprecate Actions/Events/States namespaces 2019-11-04 10:52:36 +01:00
Michael Zanetti
0e7edd5abd cleanup 2019-11-04 10:52:06 +01:00
Michael Zanetti
3cbd01c1d2 drop all pack/unpack methds 2019-11-03 21:24:16 +01:00
Michael Zanetti
3a88a25c49 add copyright headers 2019-11-01 20:55:45 +01:00
Michael Zanetti
baaa719b6a Restructuring json done 2019-11-01 20:55:45 +01:00
Michael Zanetti
11a388d729 implement stubs for AddDelivery and GetDeliveries 2019-11-01 20:55:45 +01:00
Michael Zanetti
bdd9876a88 Allow registering QMetaObjects on JSON api 2019-11-01 20:55:45 +01:00
Michael Zanetti
e2cf9cb5c3 More work on the experience mode framework 2019-11-01 20:55:45 +01:00
Michael Zanetti
f8d23db584 allow registering json handlers in experience plugins 2019-11-01 20:55:02 +01:00
Michael Zanetti
fab1871ea1 loading plugins working 2019-11-01 20:53:41 +01:00
Michael Zanetti
a47bded031 add loading of plugins 2019-11-01 20:53:41 +01:00
Michael Zanetti
f1ca2a5b86 Add experience mode plugins 2019-11-01 20:46:55 +01:00
Michael Zanetti
5e3bc2acbd Drop JsonTypes class by distributing logic to json handlers
This is required in order to be able to be more flexible in registering
new types/methods.
2019-11-01 20:46:55 +01:00
Michael Zanetti
03b8be22d6 Drop old REST server 2019-11-01 20:14:00 +01:00
Michael Zanetti
977247e950 Complete setup api 2019-10-31 13:09:26 +01:00
Michael Zanetti
0b5f475991 Fix typo 2019-10-19 14:13:48 +02:00
Michael Zanetti
9b1b6d86e6 Allow more granular notification subscriptions in API 2019-10-19 14:13:48 +02:00
Jenkins nymea
55011abaf9 Merge PR #219: Add support for more media service icons 2019-10-18 14:57:23 +02:00
Jenkins nymea
d589b66e3c Merge PR #218: Improve live logs in debug interface and rework logging rules 2019-10-18 14:57:23 +02:00
Jenkins nymea
fa93998d5b Merge PR #217: Improve debug report and report download mechanism 2019-10-18 14:57:23 +02:00
Jenkins nymea
c066962a66 Merge PR #215: Always initialize device settings params 2019-10-18 14:57:22 +02:00
Jenkins nymea
29655ad175 Merge PR #214: MQTT hardware resource api updates 2019-10-18 14:57:22 +02:00
Jenkins nymea
c2c4b50e76 Merge PR #213: Improve json parse errors 2019-10-18 14:57:22 +02:00
Michael Zanetti
679e51b027 Fix failing test 2019-10-17 12:21:16 +02:00
Michael Zanetti
e049c3b2f5 Don't execute actions on devices that didn't complete the setup 2019-10-17 00:07:32 +02:00
Michael Zanetti
0c7a810366 Use deviceClass.displayName to generate a device name if the user doesn't give one 2019-10-16 17:56:49 +02:00
Michael Zanetti
14bc0eb73e fix pairing for oauth 2019-10-16 17:56:49 +02:00
Michael Zanetti
32f7f22a7d Add a timeout to api info objects 2019-10-16 17:56:49 +02:00
Michael Zanetti
fe5af9a0f5 Make displayMessages translatable 2019-10-16 17:56:49 +02:00
Michael Zanetti
82bebeccca move docs around 2019-10-16 17:56:49 +02:00
Michael Zanetti
7f0f2d1d09 Rework devicemanager and plugin api 2019-10-16 17:56:49 +02:00
Simon Stürz
cc858b4d0a Fix hostname reading for Qt < 5.6 2019-10-08 16:20:20 +02:00
Simon Stürz
191936e235 Load debug categories from settings and allow configuration using debug interface 2019-10-08 16:20:20 +02:00
Simon Stürz
b4f32c073a Add dynamic logging filter elements for core and plugins in the livelog view 2019-10-08 16:19:42 +02:00
Simon Stürz
dc6c4b88df Prepare debug categories for the live log viewer in the debug interface 2019-10-08 16:19:42 +02:00
Simon Stürz
7d98bb37c8 Adjust live logs buttons with flexbox 2019-10-08 16:19:42 +02:00
Simon Stürz
0555449578 Add remove and copy buttons for log view 2019-10-08 16:19:42 +02:00
Simon Stürz
3655ac39de Fix leftover QSysInfo::machineHostName for Qt < 5.6 2019-10-08 16:19:17 +02:00
Michael Zanetti
1f68389a85 Fix Browser icon definition in introspect 2019-10-08 15:51:10 +02:00
Simon Stürz
3114151f29 Fix hostname parsing for Qt < 5.6 2019-10-08 09:47:04 +02:00
Simon Stürz
79cdf8316e Improve debug report and report download mechanism 2019-10-02 13:12:50 +02:00