J. Nick Koston
3a2a2f473c
Add test to ensure connect task aborts when stopped ( #727 )
2023-11-26 09:29:33 -06:00
J. Nick Koston
b3d4189b07
Fix reconnect logic cancelling the connection while handshaking ( #726 )
2023-11-26 09:14:42 -06:00
J. Nick Koston
68dfc868d9
Add coverage to ensure encryption error results in maximum backoff ( #725 )
2023-11-26 08:14:51 -06:00
J. Nick Koston
7a7a99474e
Add coverage for reconnect logic downgrading logging level after first failure ( #723 )
2023-11-26 08:04:34 -06:00
J. Nick Koston
e8468647e2
Remove duplicate code in tests ( #722 )
2023-11-26 07:53:48 -06:00
J. Nick Koston
cd5ad769f0
Refactor reading varuints to significant simplify plaintext frame helper ( #718 )
2023-11-25 14:17:24 -06:00
J. Nick Koston
99380487a5
Add test for resolver timing out while connecting ( #713 )
2023-11-25 10:08:34 -06:00
J. Nick Koston
66e654084b
Add test for unexpected hello responses ( #712 )
2023-11-25 09:58:30 -06:00
J. Nick Koston
79686bf729
Fix client connection code swallowing unhandled exceptions as debug logging ( #711 )
2023-11-25 09:33:43 -06:00
J. Nick Koston
b7e319b26a
Add test for connecting with a password ( #709 )
2023-11-25 08:59:36 -06:00
J. Nick Koston
3711d54ffa
Add test for trying to finish an unstarted connection ( #706 )
2023-11-25 08:44:25 -06:00
J. Nick Koston
3abf9ff8d4
Make force_disconnect a normal function ( #705 )
2023-11-25 08:39:04 -06:00
J. Nick Koston
b67e19bd94
Add test for attempting to reuse an APIConnection object raises ( #703 )
2023-11-25 08:18:08 -06:00
J. Nick Koston
9edba66d30
Add test coverage for invalid protobuf messages ( #701 )
2023-11-25 08:10:26 -06:00
J. Nick Koston
67661dbd7f
Avoid expensive debug logging checks in packet processor ( #700 )
2023-11-25 07:51:48 -06:00
J. Nick Koston
e01f22d99a
Fix race in cleaning up connection ( #698 )
2023-11-25 07:11:34 -06:00
J. Nick Koston
7a57f1fa89
Optimize the frame helpers by improving cython typing ( #691 )
2023-11-24 12:12:32 -06:00
J. Nick Koston
0eb468ec61
Add test for corrupt or invalid encryption ( #690 )
2023-11-24 10:48:20 -06:00
J. Nick Koston
9d27f0c772
Reduce code duplication in noise tests ( #689 )
2023-11-24 10:38:43 -06:00
J. Nick Koston
412a78aa04
Test that we detect bad noise psks ( #688 )
2023-11-24 10:29:55 -06:00
J. Nick Koston
837d6ad650
Add test for wrong protocol in noise ( #687 )
2023-11-24 09:57:31 -06:00
J. Nick Koston
6453aa87f6
Reduce code duplication in noise tests ( #686 )
2023-11-24 09:50:00 -06:00
J. Nick Koston
095ef822f1
Fix error in noise frame helper were we could write when the writer was unset ( #685 )
2023-11-24 09:42:56 -06:00
J. Nick Koston
dba6c72735
Add test for empty noise hello ( #684 )
2023-11-24 09:01:40 -06:00
J. Nick Koston
c21e32fda7
Fix handshake getting the wrong exception when the ESP drops the connection because its not using noise ( #681 )
2023-11-24 08:26:12 -06:00
J. Nick Koston
83b4f43610
Refactor frame helper to get debug state from connection ( #679 )
2023-11-23 12:20:52 -06:00
J. Nick Koston
a0cf5d0e90
Add coverage for subscribe_home_assistant_states ( #677 )
2023-11-23 11:37:25 -06:00
J. Nick Koston
0347302222
Add coverage for bluetooth connection free responses ( #673 )
2023-11-23 10:49:24 -06:00
J. Nick Koston
33966938f2
Add coverage for bluetooth advertising ( #670 )
2023-11-23 10:20:56 -06:00
J. Nick Koston
1cc6b3ed52
Fix missed GATT notify if the device responds immediately after subscribe ( #669 )
2023-11-23 09:46:56 -06:00
J. Nick Koston
cf2fd3c92a
Add test coverage for bluetooth GATT notify ( #668 )
2023-11-23 09:17:41 -06:00
J. Nick Koston
b8427c4cbb
Fix race running disconnect callback in reconnect logic ( #666 )
2023-11-23 08:39:03 -06:00
J. Nick Koston
df0dbadae7
Ensure scope_id is preserved from zeroconf resolution on python versions that support it ( #664 )
2023-11-23 07:48:34 -06:00
J. Nick Koston
e1447dd249
Improve connection tests for handling pings ( #663 )
2023-11-23 13:36:30 +01:00
J. Nick Koston
7a1fcc33bd
Add additional test coverage to the client module ( #662 )
2023-11-22 23:11:29 +01:00
J. Nick Koston
3fb5f322b5
Add coverage for fetching GATT services ( #658 )
2023-11-22 21:57:26 +01:00
J. Nick Koston
d8cace0b26
Reduce duplication in bluetooth gatt read code ( #657 )
2023-11-21 23:24:54 +01:00
J. Nick Koston
432a3e65b6
Add more missing command tests ( #656 )
2023-11-21 17:26:09 +01:00
J. Nick Koston
7dd0992f52
Add siren tests ( #655 )
2023-11-21 17:18:58 +01:00
J. Nick Koston
54452b4b94
Add button tests ( #654 )
2023-11-21 17:09:11 +01:00
J. Nick Koston
2501ea4275
Add additional coverage for starting noise connections ( #653 )
2023-11-21 16:42:23 +01:00
J. Nick Koston
0afa8c6832
Remove in_do_connect contextvar ( #652 )
2023-11-21 15:36:43 +01:00
J. Nick Koston
f88b15e33b
Fix eof_received
not raising SocketClosedAPIError ( #651 )
2023-11-21 14:56:31 +01:00
J. Nick Koston
ccf2f1f245
Add tests for ping responses ( #650 )
2023-11-21 14:01:58 +01:00
J. Nick Koston
298aa01b00
Small cleanups to connection ( #648 )
2023-11-21 13:08:48 +01:00
J. Nick Koston
f783438a7d
Ensure expected_disconnect is True when sending DisconnectResponse fails ( #646 )
2023-11-20 19:08:29 +01:00
J. Nick Koston
c76d741cb8
Refactor to reduce duplicate connection code ( #644 )
2023-11-18 15:10:40 -06:00
J. Nick Koston
b12903e2e7
Refactor zeroconf code to avoid creating instances when one is unneeded ( #643 )
2023-11-17 13:11:36 -06:00
J. Nick Koston
f94ddf8e6a
Fix handling incoming data from protractor event loop ( #642 )
2023-11-16 17:50:54 -06:00
J. Nick Koston
3ccb36b6fc
Refactor frame helper to avoid py conversions when processing packets ( #641 )
2023-11-16 12:24:50 -06:00
J. Nick Koston
d6293d9177
Refactor frame helper to allow sending multiple packets at once ( #640 )
2023-11-16 10:31:02 -06:00
J. Nick Koston
634c739048
Fix host resolution when local dns does not resolve mdns ( #636 )
2023-11-11 14:48:12 -06:00
J. Nick Koston
c1a0500ecb
Update some legacy python code to python 3.9 ( #635 )
2023-11-11 14:19:04 -06:00
J. Nick Koston
0202e00eae
Ensure zeroconf instance is closed when log runner ends ( #632 )
2023-11-11 13:43:31 -06:00
J. Nick Koston
3ffcca3bdd
Make log runner code reusable and add coverage ( #630 )
2023-11-11 13:06:27 -06:00
J. Nick Koston
b227f79dad
Refactor bluetooth client functions to reduce duplicate code ( #629 )
2023-11-10 17:14:00 -06:00
J. Nick Koston
a15b96c76b
Send hello and login asynchronously to speed up connecting ( #628 )
2023-11-09 19:17:53 -06:00
J. Nick Koston
ef9f9bf136
Ensure an empty noise_psk or expected_name is treated as None ( #623 )
2023-11-08 18:00:28 -06:00
J. Nick Koston
7ac7742c91
Ensure passed params are always a str ( #622 )
2023-11-08 17:26:51 -06:00
J. Nick Koston
6458ebcf60
Allow the stop callback to be cancelled when already disconnected ( #615 )
2023-11-06 18:17:50 -06:00
J. Nick Koston
0683521839
Wait for handshake to finish to allow for clean disconnect when stopping reconnect logic ( #614 )
2023-11-06 16:46:32 -06:00
J. Nick Koston
2ef9ed9026
Fix zeroconf reconnect logic ( #613 )
2023-11-06 15:04:09 -06:00
J. Nick Koston
8357a3a0c6
Remove extra timeouts ( #610 )
2023-10-31 23:20:22 -05:00
J. Nick Koston
1d2682a76e
Improve logging on clean disconnect failure ( #609 )
2023-10-31 23:07:40 -05:00
Daniel Dunn
5a8c0d8e23
Updated fork of PR for Text input components ( #532 )
...
Co-authored-by: Maurits <maurits@vloop.nl>
Co-authored-by: Daniel Dunn <dannydunn@eternityforest.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-10-25 15:35:04 +13:00
J. Nick Koston
ae03a831b9
Add test for successful noise handshake and single packet ( #605 )
2023-10-24 15:58:08 -05:00
J. Nick Koston
9f30e9d0df
Add test coverage for noise handshake failure ( #604 )
2023-10-24 14:44:57 -05:00
J. Nick Koston
e1c42e95bf
Ensure frame_helper is always closed before the underlying socket ( #602 )
2023-10-23 19:22:08 -05:00
J. Nick Koston
1630816dc8
Fix unhandled exception when handshake times out ( #601 )
2023-10-23 12:32:20 -05:00
J. Nick Koston
000ff14ac0
Make reconnect logic state machine switches check locks ( #597 )
2023-10-21 17:46:45 -10:00
J. Nick Koston
63897ed680
Move varuint functions into plain_text frame_helper ( #587 )
2023-10-16 17:24:03 -10:00
J. Nick Koston
90f0901ded
Add function to build new format unique ids ( #585 )
2023-10-15 15:03:13 -10:00
J. Nick Koston
b877a0ef8c
Fix imports in host resolver test ( #584 )
2023-10-15 13:22:12 -10:00
J. Nick Koston
cb5cea784e
Improve host resolver coverage ( #583 )
2023-10-15 13:05:23 -10:00
J. Nick Koston
2a78e9588e
Fix trying to convert hostnames to IP Addresses ( #579 )
2023-10-15 12:39:12 -10:00
J. Nick Koston
d950d90245
Improve consistency of name logging ( #577 )
2023-10-14 17:04:27 -10:00
J. Nick Koston
b7449d4ded
Split connection process to enable faster reconnects ( #576 )
2023-10-14 16:03:12 -10:00
J. Nick Koston
dc367b67bb
Narrow msg_types to only accept tuples ( #574 )
2023-10-13 18:25:27 -10:00
J. Nick Koston
74facc8fef
Improve performance of processing incoming packets ( #573 )
2023-10-13 18:01:34 -10:00
J. Nick Koston
275ca3a660
Run tests on multiple python versions ( #566 )
2023-10-11 12:52:19 -10:00
J. Nick Koston
1d465e3a8a
Switch host resolver to use modern zeroconf APIs ( #559 )
2023-10-01 18:31:50 +01:00
J. Nick Koston
49d86f940e
Refactor frame helpers to share more code ( #500 )
2023-07-21 03:11:04 -05:00
J. Nick Koston
65e659e4a5
Split _frame_helper into plain_text and noise ( #491 )
2023-07-18 14:28:56 -05:00
J. Nick Koston
7196ca6ee8
Speed up encrypted handshake ( #487 )
2023-07-17 14:51:47 -10:00
J. Nick Koston
ab3c096c9b
Speed up noise handshake ( #486 )
2023-07-17 14:13:58 -10:00
J. Nick Koston
e909891ebe
Fix pong timer warning when pending ping is skipped ( #483 )
2023-07-17 09:27:59 -10:00
J. Nick Koston
8306058703
Improve performance of processing incoming packets ( #475 )
2023-07-15 08:48:47 -10:00
J. Nick Koston
7a80e3529b
Improve error reporting when encryption is disabled on device but client requests it ( #464 )
2023-07-10 21:15:14 -10:00
J. Nick Koston
b81fe760ba
Improve performance reassembling fragmented packets ( #461 )
2023-07-09 12:10:33 -10:00
J. Nick Koston
f3f5bd6b55
Reduce protocol overhead ( #454 )
2023-07-03 11:57:04 -05:00
J. Nick Koston
34f6badcde
Use slots for APIConnection and APIClient ( #453 )
2023-07-01 16:31:58 -05:00
J. Nick Koston
eaa5e295cf
Fix more cases where incorrect encryption keys were not detected ( #447 )
2023-06-24 10:47:24 -05:00
Graham Brown
a79da42aaf
Add support for alarm_control_panel entities ( #427 )
2023-06-12 10:39:49 +12:00
J. Nick Koston
a539a6e950
Improve data throughput ( #421 )
2023-04-19 20:47:38 -10:00
J. Nick Koston
51d581dd9c
Cooldown before reconnecting on expected disconnect ( #397 )
2023-03-05 18:54:54 -10:00
dependabot[bot]
cd142a1fc6
Bump black from 22.12.0 to 23.1.0 ( #371 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-02-09 12:08:24 +13:00
J. Nick Koston
a83838d025
Fix Invalid protobuf message: expected bytes, bytearray found and add coverage ( #359 )
2023-01-07 14:24:24 -10:00
J. Nick Koston
2886d361f0
Simplify connection flow with an asyncio.Protocol ( #352 )
2023-01-05 23:24:10 -05:00
J. Nick Koston
a3e3cec26e
Add decoder tests ( #344 )
2023-01-03 17:39:50 -05:00
J. Nick Koston
de5cdfa230
Callback messages to listeners by type ( #328 )
2022-12-02 09:36:58 -10:00