Commit graph

1893 commits

Author SHA1 Message Date
e0e3081eb1 VLC volume should strictly be an integer 2021-02-28 01:31:00 +01:00
d0707b6479 Bump version: 0.20.1 → 0.20.2 2021-02-27 21:27:37 +01:00
66445cb4e4 - Do not parse Zeroconf info at all if not available
- Temporarily skip test_procedure until I find a proper way to clean up the status from the previous run and start a fresh platform
2021-02-27 21:11:37 +01:00
f93df2fd49 Avoid the loop on the Zeroconf addresses object if the object is None (e.g. in the context of some tests) 2021-02-27 20:55:38 +01:00
0d806eeb6e - Removed setUp method from test_event_parse - let the parent setUp run and properly start the daemon
- More resilient logic in case some entries in the Zeroconf registry are still loading and the info object is still None
2021-02-27 20:51:48 +01:00
36fdcf6963 - The context should be properly expanded also when calling a Python procedure
- Refactored the logic for executing a request and wrapping the response common to procedures, crons and event hook decorators into platypush.common.exec_wrapper

- Added mock getvalue() method to Logger to prevent PyCharm failures in the tests when sys.stdout is redirected to the Logger object
2021-02-27 20:27:36 +01:00
cde5e4e4f9 Bump version: 0.20.0 → 0.20.1 2021-02-27 15:01:38 +01:00
b4f9472fc5 - Proper expansion of the context variables on functional procedure call
- Expanded and refactored tests framework

- Added test_procedure
2021-02-27 15:01:25 +01:00
9e00428568 Don't fail silently if there were errors in parsing ${} variables or getting the context 2021-02-26 22:43:54 +01:00
b4258faa29 Fixed broken regular expressions after LINT refactor 2021-02-26 22:33:26 +01:00
9e4daacd74 Aligning flex elements to the right with justify-content: right doesn't work on Chromium-based browsers - use flex-end instead 2021-02-26 21:10:45 +01:00
a5f02c6a30 The /hook route should not require token authentication - authentication is up to the hook implementation 2021-02-24 22:21:01 +01:00
076cc6a63e Fixed regex format 2021-02-24 01:34:41 +01:00
d0a579cf4b Fixed old regex sequences to r'' format 2021-02-24 01:28:46 +01:00
571a8ca9d1 Improvements on HTTP integration test. Plus, removed ApplicationStoppedEvent - it's unreliable and it could be delivered when the bus has already been stopped 2021-02-24 00:23:32 +01:00
2800bac3fb Make sure that all hanging threads, backends and services are stopped and their resources cleaned up when the application stops. 2021-02-23 23:09:26 +01:00
Fabio Manganiello
b27c9ee630 Make sure to always run .quit() on the _player instance on stop/exit event, even if the player is already stopped, otherwise the OMXPlayer session may be hanging in the background and prevent new DBus connections 2021-02-22 14:22:45 +01:00
04a23d555d Updated README (it hadn't been updated for ages) 2021-02-22 02:53:20 +01:00
67702d3cc8 Rephrased disclaimer for the Google assistant backend 2021-02-22 01:41:54 +01:00
6df336465f Fixed nested list style in backend.http documentation 2021-02-22 01:35:42 +01:00
ffb7a3e5a3 Extended and updated pieces of documentation on the HTTP server, Zigbee2mqtt and mpd. Also added example dashboard template and event hook script. 2021-02-22 01:20:01 +01:00
10eb0c12aa Don't fail hard if the web app is initialized without access to a configuration file (e.g. from a ReadTheDocs build environment) 2021-02-21 23:30:05 +01:00
53fb254c57 js dependencies updated 2021-02-21 18:47:26 +01:00
727094467d Fixed some UI elements for Chrome on mobile 2021-02-21 18:10:22 +01:00
Fabio Manganiello
6f9428487f Higher priority to gstreamer plugin over omxplayer for tts 2021-02-21 02:44:26 +01:00
3e777bd19f Media buttons should have no background by default 2021-02-21 02:15:27 +01:00
7922ae4801 Removed old templates/ and static/ web directories 2021-02-21 00:41:40 +01:00
94c35e210e Migrated /plugin/<pluginName> route 2021-02-21 00:39:06 +01:00
34892e227a The webapp dist/ folder should actually be under the webapp dir 2021-02-20 23:26:25 +01:00
856eb720b0 Migrated execute panel 2021-02-20 23:12:54 +01:00
94ad14f23f Migrated Samsung TV web panel 2021-02-20 01:18:05 +01:00
c8fa61cc4f Fixed navigator scrolling and style 2021-02-19 22:55:31 +01:00
8ab72e8f94 Upgraded axios and bulma 2021-02-19 21:06:58 +01:00
6b5b50d186 Migrated switches plugin 2021-02-19 20:47:29 +01:00
56f8d85feb Migrated switches web panel and refactored switch plugins to expose a more consistent interface 2021-02-19 02:54:12 +01:00
51de11da25 Finalized migration of camera and sound plugins 2021-02-17 01:02:57 +01:00
ca2fd60950 Migrated camera.android.ipcam UI 2021-02-16 23:56:43 +01:00
e508d453ba Set better default scaling for camera.ir.mlx90640 UI 2021-02-16 22:57:09 +01:00
12e1c60f6c Fixed camera.ir.mlx90640 UI panel reference and RSS widget font 2021-02-16 22:42:43 +01:00
8c3ba9f367 Migrated camera.pi and camera.ir.mlx90640 UI panels 2021-02-16 20:14:20 +01:00
41acb02eb0 Migrated camera.cv/camera.ffmpeg/camera.gstreamer UI panels 2021-02-16 01:51:37 +01:00
748609c6f4 Migrated settings panel and logout button 2021-02-15 23:09:27 +01:00
201bb5986f Don't create an MQTT client connection if there are no topics to subscribe.
If we open multiple connections from multiple MQTT-based backends to the
same host, with some of them having no topics subscribed, Paho-MQTT can
mess up which client is supposed to receive which message and we may end
up with lost messages on the platypush_bus_mqt/<host> topic.
2021-02-15 22:02:58 +01:00
51e6d95205 Fixed valueId lookup in Z-Wave filtered values 2021-02-14 22:02:17 +01:00
c78420749b More Z-Wave UI fixes [WIP] 2021-02-14 21:43:11 +01:00
adbde5a681 Z-Wave UI style fixes [WIP] 2021-02-14 21:08:29 +01:00
80aa9b968d More Z-Wave UI fixes [WIP] 2021-02-14 19:16:21 +01:00
b922f29bb8 Moar Z-Wave UI style fixes [WIP] 2021-02-14 18:53:59 +01:00
4dd5ea71d6 Style fixes for Z-Wave UI migration [WIP] 2021-02-14 18:07:40 +01:00
297c18e176 Fixed glitches in new Z-Wave panel [WIP] 2021-02-14 16:28:34 +01:00
a1e2bf9b3a Fixed font size and ratio on new dashboard 2021-02-14 15:31:24 +01:00
c2784c400f Added dist files for z-wave panel migration 2021-02-14 14:46:02 +01:00
b49865181b Z-Wave plugin UI migration [WIP] 2021-02-14 02:29:39 +01:00
add1bd05cb Keep track of the last state of the Zigbee controller so that new messages on the bridge/state topic won't trigger new events unless the state has actually changed [see #183] 2021-02-13 15:54:21 +01:00
8168cd3ab3 Don't default on logging.INFO level if another level is set in the configuration, and apply the same logging level also to the web server [closes #162] 2021-02-13 15:13:07 +01:00
b3c28f6773 Added support for JWT token-based authentication 2021-02-12 22:43:34 +01:00
06ca5be54b Still support default host/port fallback on mqtt.publish 2021-02-12 02:19:36 +01:00
30d5cdcb00 Generated new dist files for the web app 2021-02-11 23:58:36 +01:00
2427cceb5e Migration completed for the zigbee.mqtt web panel 2021-02-11 23:53:05 +01:00
3cf91a3f27 Fixed backend.zigbee.mqtt to work with the new zigbee2mqtt API 2021-02-11 23:50:28 +01:00
f9598977db Refactored backend.mqtt to reuse connections whenever possible, as well as programmatically subscribe/unsubscribe topics at runtime 2021-02-10 22:31:33 +01:00
1a70c6ea0b Fixed remaining Zigbee groups and binding methods to work with the new zigbee2mqtt API [see #163] 2021-02-10 02:00:52 +01:00
db80240209 zigbee2mqtt web panel migration [WIP] 2021-02-09 02:33:56 +01:00
1eedcaf2be Moved more zigbee2mqtt methods to the new API 2021-02-09 02:33:43 +01:00
86e6ffd18d Zigbee web panel migration [WIP] 2021-02-08 02:04:59 +01:00
b8979040da Fixed device_get and device_rename to use the new zigbee2mqtt API 2021-02-08 01:45:21 +01:00
816492d3b2 Fixed MQTT over SSL default version spec in case the parameter is not a string 2021-02-08 01:44:26 +01:00
0bddbb0bca Merge branch 'master' into vuejs 2021-02-06 14:46:08 +01:00
314c01ef97 Refactored Zigbee backend and remove unused logic for keeping devices up-to-date 2021-02-06 14:45:50 +01:00
4c5a52417e Support for new zigbee2mqtt API and protocol (see #163) 2021-02-06 02:19:15 +01:00
23a5cd519a Merge branch 'master' into vuejs 2021-02-05 23:18:31 +01:00
b57a241f52 Changed base URL to platypush.tech 2021-02-05 23:18:18 +01:00
2abfb2964c Merge branch 'master' into vuejs 2021-02-04 01:57:36 +01:00
4858dbc060 Back/forward seek changed from 60 to 30 2021-02-04 01:56:28 +01:00
Fabio Manganiello
2834ed2a7c Refactored and fixed many bugs on the media.omxplayer plugin 2021-02-04 01:44:21 +01:00
Fabio Manganiello
165f85f8dc Added support for background shell commands 2021-02-04 01:43:51 +01:00
Fabio Manganiello
7f24b82281 Removed deprecated media.ctrl plugin 2021-02-03 22:13:10 +01:00
7e1d232942 Another fix bites the dust 2021-02-03 17:47:33 +01:00
31a7ecee03 Quick fix 2021-02-03 17:46:05 +01:00
346bd9602d The whole get_plugin/.status() block should be under try/except 2021-02-03 17:44:40 +01:00
673351db51 Don't fail if a media plugin can't be imported 2021-02-03 17:43:26 +01:00
86ebc4fae9 Get the plugin name, not the object 2021-02-03 17:42:20 +01:00
118540db8c Fixed unreferenced var 2021-02-03 17:41:06 +01:00
a1d6c4fbe4 Added missing Config import 2021-02-03 17:39:55 +01:00
2bb07ae191 Fixed base class name 2021-02-03 17:39:16 +01:00
1920bd80a3 First search among the configured media plugins in media.ctrl plugin 2021-02-03 17:34:33 +01:00
ef63c3769e Cast request headers to dict before adding them to the event 2021-01-31 00:16:44 +01:00
fddf2006e4 Added headers argument to webhook event 2021-01-31 00:01:58 +01:00
a0bf227573 Fixed trailing column in wss: protocol 2021-01-30 23:21:52 +01:00
8e2d590e62 Merge branch 'master' into vuejs 2021-01-23 15:06:14 +01:00
Fabio Manganiello
31b110a06c FIX: zigbee2mqtt applies different logic to /<device_name> and /<device_name>/get 2021-01-22 16:24:43 +01:00
Fabio Manganiello
717ad5d88c Revert "FIX: zigbee2mqtt /get calls require a property field specified on the message"
This reverts commit 7ff08a9587.
2021-01-22 16:13:18 +01:00
Fabio Manganiello
cc839620cf FIX: zigbee2mqtt /get calls require a property field specified on the message 2021-01-22 01:03:52 +01:00
Fabio Manganiello
cebd79079b Merge branch 'master' into vuejs 2021-01-22 01:01:22 +01:00
Fabio Manganiello
7a7e00bea2 Migrated music.snapcast UI 2021-01-22 01:00:49 +01:00
Fabio Manganiello
7ff08a9587 FIX: zigbee2mqtt /get calls require a property field specified on the message 2021-01-22 00:45:52 +01:00
Fabio Manganiello
370a7d4c15 Added frontend support for Plex 2021-01-18 01:28:10 +01:00
Fabio Manganiello
85f56cf98c New media panel [WIP] 2021-01-14 00:15:35 +01:00
Fabio Manganiello
6ae76f1f38 Migrating media plugins [WIP] 2021-01-05 00:50:24 +01:00
Fabio Manganiello
67d3b40772 Finalized new music.mpd web interface 2021-01-02 14:33:01 +01:00
Fabio Manganiello
d2887b7454 Implemented search in music.mpd 2021-01-01 15:58:56 +01:00
d10649e1f1 Support for token over Authorization: Bearer header 2020-12-31 15:36:48 +01:00
Fabio Manganiello
e127f2597c music.mpd refactor WIP 2020-12-31 01:36:02 +01:00
Fabio Manganiello
1777ebb051 Retry logic in case of Pushbullet listener error 2020-12-30 19:44:30 +01:00
Fabio Manganiello
3eb7f01d38 Updated dist files 2020-12-26 17:43:00 +01:00
Fabio Manganiello
57304e8d7e Music buttons should have no background 2020-12-26 17:41:12 +01:00
Fabio Manganiello
b4fc734a15 music.mpd panel migration - WIP 2020-12-26 15:03:12 +01:00
Fabio Manganiello
bc3e0b8634 Support for plugin panels embedded into dashboards 2020-12-17 02:09:23 +01:00
Fabio Manganiello
1726cbd96a Optimized panel size for tablet 2020-12-16 22:31:04 +01:00
Fabio Manganiello
e5c8adfc1b Fixed and expanded integration tests to deal with HTTP user authentication 2020-12-16 02:10:37 +01:00
Fabio Manganiello
049a48e156 Fixed modified property Vue warning 2020-12-15 21:32:39 +01:00
Fabio Manganiello
5d4f4b0378 Support for subscribe-once/unsubscribe frontend events mechanisms 2020-12-15 00:01:28 +01:00
Fabio Manganiello
0db997c6a0 transitiontime is not supported on hue/sat/bri change 2020-12-14 16:31:24 +01:00
Fabio Manganiello
5e7c6c26c9 Migrating lights panel WIP 2020-12-14 02:13:55 +01:00
Fabio Manganiello
2de1e3ebe6 Lights panel migration - WIP 2020-12-09 21:16:07 +01:00
Fabio Manganiello
79179746a7 Fixed websocket reconnection logic 2020-12-09 20:40:22 +01:00
Fabio Manganiello
fc718c907a Migrating light.hue panel WIP 2020-12-03 00:59:35 +01:00
Fabio Manganiello
0cd120f492 New template for index panel 2020-11-30 20:57:00 +01:00
Fabio Manganiello
c3f01c198f Keep track of the user authentication state 2020-11-28 15:32:07 +01:00
Fabio Manganiello
229b2de566 The /execute endpoint should require authentication as well 2020-11-28 15:28:09 +01:00
Fabio Manganiello
dea547a491 Migrated Pushbullet component 2020-11-28 01:12:54 +01:00
Fabio Manganiello
1036358b28 Use a $watch-based system to register subscribe handlers when the events component is not yet ready instead of relying on setTimeout hacks 2020-11-28 00:29:22 +01:00
Fabio Manganiello
8f477fa335 Migrated voice assistant component 2020-11-27 23:12:10 +01:00
Fabio Manganiello
3c6f3c5a21 Migrated login and register components 2020-11-26 23:43:16 +01:00
Fabio Manganiello
0902099855 Migrated RSS news widget 2020-11-26 17:11:03 +01:00
Fabio Manganiello
3c9a633907 Fixed carousel style 2020-11-26 12:53:34 +01:00
Fabio Manganiello
1e193f8346 Added new static files 2020-11-26 12:41:56 +01:00
Fabio Manganiello
9af02ba886 Carousel default font increased 2020-11-26 12:27:42 +01:00
Fabio Manganiello
221bcc058b Need static/js and static/css as well 2020-11-26 12:02:41 +01:00
Fabio Manganiello
04cb2324aa Removed dashboard configuration from HttpBackend, removed old HTTP
static files and replaced them with Vue app target dist/ directory.
2020-11-26 11:54:28 +01:00
Fabio Manganiello
887a0e5e88 Webapp dist files 2020-11-26 11:44:08 +01:00
Fabio Manganiello
cc3e52c69d Migrated ImageCarousel widget 2020-11-26 00:26:10 +01:00
Fabio Manganiello
243e56b194 Added support for rows on dashboard and music widget 2020-11-23 00:44:31 +01:00
Fabio Manganiello
ecf6a844dd Added support for refreshSeconds on dashboard level 2020-11-22 14:26:25 +01:00
Fabio Manganiello
62b651789a Migrated DateTimeWeather and Calendar widgets 2020-11-22 12:57:28 +01:00
Fabio Manganiello
ba8e5ef6a0 Fixed croniter timezone offset logic mismatch 2020-11-21 01:38:07 +01:00
Fabio Manganiello
9dacd2d3c9 Fixed croniter timezone offset logic mismatch 2020-11-21 01:36:37 +01:00
Fabio Manganiello
39abdfe40a New Vue.js template for dashbord WIP 2020-11-21 01:12:08 +01:00
Fabio Manganiello
0c0e7411f7 Bump version: 0.13.8 → 0.13.9 2020-11-11 22:31:47 +01:00
Fabio Manganiello
9179f35a82 Support for row height for dashboard widgets 2020-11-11 22:28:43 +01:00
Fabio Manganiello
470bd62af7 Parse actions in cron also from list 2020-11-11 17:09:36 +01:00
Fabio Manganiello
c7711d75a1 New pychromecast has replaced host/port with uri 2020-11-11 03:07:42 +01:00
Fabio Manganiello
711ea543bb Use youtube-dl to extract the video URL instead of streaming its content to a local sock file 2020-11-11 03:07:23 +01:00
Fabio Manganiello
43f71ed47b Bump version: 0.13.7 → 0.13.8 2020-11-10 22:55:03 +01:00
Fabio Manganiello
a07cb6ec3d Explicit cast of possible dict_keys element to list() before copy() 2020-11-10 22:53:12 +01:00
Fabio Manganiello
45d998130b Event import fixed 2020-10-28 23:29:34 +01:00
Fabio Manganiello
cc36325ca6 Added support for custom user events 2020-10-28 23:28:41 +01:00
Fabio Manganiello
c5dc9333f0 Extended light plugin status method signature 2020-10-28 23:19:16 +01:00
Fabio Manganiello
8a7f783032 Support for list args type in requests 2020-10-28 23:18:55 +01:00
Fabio Manganiello
77530b4a06 Use a threading Event to synchronize with the Hue animation thread instead of relying on the Redis backend 2020-10-14 00:18:23 +02:00
Fabio Manganiello
8279f22940 Bump version: 0.13.6 → 0.13.7 2020-10-13 23:26:13 +02:00
Fabio Manganiello
1c84659e34 Support for Python cronjobs in scripts folder - closes #156 2020-10-13 23:25:27 +02:00
Fabio Manganiello
37e006d86e Refined Tensorflow train methods 2020-10-12 01:06:32 +02:00
Fabio Manganiello
8d7e790eda More descriptive attribute names for the Tensorflow predict response.
Using `outputs` instead of `values` and `predictions` instead of `labels`.
2020-10-02 01:17:34 +02:00
Fabio Manganiello
daaa0050d1 Squeeze the extra dimensions in a grayscale image and pass the model name to the response objects 2020-10-01 18:50:36 +02:00
Fabio Manganiello
287b6303ae More flexible module loading and better lock management for models in Tensorflow plugin 2020-10-01 17:41:12 +02:00
Fabio Manganiello
9b23ab7015 Only stop the loop if it is set 2020-09-30 13:53:32 +02:00
Fabio Manganiello
7947c1031d More robust frontend reaction in case of race conditions on player state events 2020-09-29 15:58:23 +02:00
Fabio Manganiello
9e6c40d393 media.gstreamer added to the list of compatible media plugins 2020-09-29 15:37:46 +02:00
Fabio Manganiello
f3a9dc4ef5 Added navigator icon for media.gstreamer plugin 2020-09-29 15:35:29 +02:00
Fabio Manganiello
05b0a7f14d Added GStreamer media plugin [closes #151] 2020-09-29 15:32:40 +02:00
Fabio Manganiello
6ad5397a25 Removed unused import 2020-09-28 22:13:42 +02:00
Fabio Manganiello
0a9c4fc3a7 Added GStreamer camera plugin [relates to #151] 2020-09-28 22:10:56 +02:00
Fabio Manganiello
e9d9ef252f Frames directory should be created in 0o755 mode 2020-09-28 02:33:27 +02:00
Fabio Manganiello
f2a654bdec Reset camera.android.ipcam stylesheet 2020-09-27 19:47:21 +02:00
Fabio Manganiello
d92e630314 Bump version: 0.13.5 → 0.13.6 2020-09-27 17:20:51 +02:00
Fabio Manganiello
07336d3272 Fixed login redirect page [closes #154] 2020-09-27 17:20:14 +02:00
Fabio Manganiello
959cc8b75b Added navigator icon for ffmpeg camera 2020-09-27 17:09:52 +02:00
Fabio Manganiello
df1e03f0af Added FFmpeg camera plugin [relates to #150] 2020-09-27 12:52:07 +02:00
Fabio Manganiello
b21193dc74 Added camera.ffmpeg plugin web panel 2020-09-27 03:09:14 +02:00
Fabio Manganiello
9ad6188b5d New js file for camera.pi plugin 2020-09-27 02:52:20 +02:00
Fabio Manganiello
31f2c5152c New template file for camera.pi 2020-09-27 02:47:38 +02:00
Fabio Manganiello
c269c62fe6 Refactored logging names 2020-09-27 01:33:38 +02:00
Fabio Manganiello
6e6092e4b2 Do proper decapsulation for PiCamera wrapped object when reinitialized 2020-09-25 18:25:33 +02:00
Fabio Manganiello
ac42f7eba4 Make sure that the PiCamera session is properly closed and re-opened on each stream request 2020-09-25 18:06:27 +02:00
Fabio Manganiello
258a9b57ce release_device should not fail hard if stop_recording or close fail on ConnectionError 2020-09-25 17:42:21 +02:00
Fabio Manganiello
28409b8688 The device should be released after each streaming session 2020-09-25 17:34:53 +02:00
Fabio Manganiello
c12e7bab90 The streaming thread shouldn't fail and exit if it fails closing a client socket 2020-09-25 17:28:25 +02:00
Fabio Manganiello
09f9e974b1 Camera plugins refactor 2020-09-25 17:19:43 +02:00
Fabio Manganiello
c0f7cc0782 Added NextCloud integration [closes #149] 2020-09-10 11:10:26 +02:00
Fabio Manganiello
0af326fa11 Refactored inotify backend 2020-09-09 02:16:13 +02:00
Fabio Manganiello
beeb7dca7c Removed unneeded import 2020-09-09 02:15:52 +02:00
Fabio Manganiello
1e972ded99 More robust logic on the bus in case the message failed to parse (prevents the application from crashing) 2020-09-09 02:15:35 +02:00
Fabio Manganiello
a650840429 Refactored variable plugin 2020-09-09 02:14:59 +02:00
Fabio Manganiello
4d0d467292 PIL JPEG format name typo fix 2020-09-08 18:14:49 +02:00
Fabio Manganiello
83122becdb Applied degrees -> PIL rotation ID conversion to the output image 2020-09-08 18:03:18 +02:00
Fabio Manganiello
9623752e19 Fixed module name typo 2020-09-08 17:57:18 +02:00
Fabio Manganiello
53ddbad7ce Refactored MLX90640 plugin and HTTP route to work with direct BytesIO - it improves performance over using temporary files or base64-encoded responses 2020-09-08 17:51:46 +02:00
Fabio Manganiello
ac02becba8 Switched RSS HTML digests style to inline CSS for better client cross-compatibility and added docstring to RssUpdates 2020-09-05 16:54:08 +02:00
Fabio Manganiello
13642cc42e Possibility to customize the CSS in the generated RSS digests 2020-09-05 01:48:28 +02:00
Fabio Manganiello
d6f653d834 Using named arguments for formatting the parsed content of a feed 2020-09-05 01:43:33 +02:00
Fabio Manganiello
dc254d6474 Also include the link in an RSS feed digest 2020-09-05 01:39:16 +02:00
Fabio Manganiello
8a1f49a906 Open the source file in read non-binary mode in case of MIMEText 2020-09-05 01:29:43 +02:00
Fabio Manganiello
6dce4c59f6 (Forgot to pass the new arguments to the MIME constructor) 2020-09-05 01:27:08 +02:00
Fabio Manganiello
ce42f5aada MIMEText doesn't accept the Name parameter 2020-09-05 01:25:12 +02:00
Fabio Manganiello
e9d4ed3911 Added more source fields to the RSS NewFeedEvent 2020-09-05 00:50:04 +02:00
Fabio Manganiello
2ceb3511b3 More robust websocket retry handler for Todoist 2020-09-04 22:59:23 +02:00
Fabio Manganiello
d27b23ec5a Bump version: 0.13.4 → 0.13.5 2020-09-03 17:17:47 +02:00
Fabio Manganiello
9402e4f65f Removed trailing column 2020-09-03 17:16:35 +02:00
Fabio Manganiello
a4c6028dc4 Fixed wrong code-block syntax 2020-09-03 14:32:51 +02:00