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