Commit Graph

66 Commits

Author SHA1 Message Date
J. Nick Koston
0dfaa58f07
Simplify logic in send_message_callback_response (#471) 2023-07-15 08:00:33 -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
6b0d84110e
Avoid sending pings when we have traffic (#463) 2023-07-10 21:00:24 -10:00
J. Nick Koston
69b4c42cf3
Add checks for debug logging in the write path (#458) 2023-07-03 19:54:22 -05:00
J. Nick Koston
974b8e3ac1
Check if debug is enabled once per packet (#455) 2023-07-02 16:55:36 -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
Jesse Hills
44f0b8027d
Add raw ble advertisements support (#439)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-06-07 00:42:57 -05:00
J. Nick Koston
6b32b7c5a3
Avoid one dict lookup when processing packets (#431) 2023-05-08 10:07:51 -05:00
J. Nick Koston
8261700bdd
Fix disconnecting while handshake is in process (#428) 2023-05-04 12:47:03 -05:00
J. Nick Koston
de9b7266f1
Refactor reconnect logic to reduce complexity (#426) 2023-04-25 16:11:40 -04:00
J. Nick Koston
a539a6e950
Improve data throughput (#421) 2023-04-19 20:47:38 -10:00
J. Nick Koston
eacf758900
Allow any message from the remote to cancel the pong timer (#401) 2023-03-13 09:56:36 -10:00
J. Nick Koston
0327f75414
Adjust ping timeout to prevent premature disconnections (#395) 2023-03-05 18:56:22 -10:00
J. Nick Koston
51d581dd9c
Cooldown before reconnecting on expected disconnect (#397) 2023-03-05 18:54:54 -10:00
J. Nick Koston
81f6e67038
Fix disconnect message not being sent when disconnecting during hello phase (#396) 2023-03-05 18:52:55 -10:00
J. Nick Koston
0656b65ca1
Ensure we hold strong references to tasks (#382) 2023-02-13 14:11:58 +13:00
dependabot[bot]
422f25f776
Bump pylint from 2.15.10 to 2.16.1 (#374)
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:03:38 +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
025376852b
Clear on_stop after calling instead of using a separate _on_stop_called bool (#357) 2023-01-07 14:16:34 -10:00
J. Nick Koston
284b767d8d
Refactor cleanup to be a normal function (#355) 2023-01-06 21:42:39 -05:00
J. Nick Koston
2886d361f0
Simplify connection flow with an asyncio.Protocol (#352) 2023-01-05 23:24:10 -05:00
J. Nick Koston
15edff86a3
Log the packet type when we get an invalid protobuf message (#343) 2023-01-03 17:40:17 -05:00
J. Nick Koston
b34664e44c
Fix failure to reconnect when the process task raises an exception during decoding a protobuf message (#339) 2022-12-13 10:31:12 -10:00
Alex Yao
3e99cd3177
Only start task if existing one is done (#337) 2022-12-12 20:18:35 -10:00
J. Nick Koston
9d9d19a2c1
Fix leak if send_message_callback_response raises (#334) 2022-12-04 17:20:12 -05:00
J. Nick Koston
de5cdfa230
Callback messages to listeners by type (#328) 2022-12-02 09:36:58 -10:00
J. Nick Koston
3692478455
Optimize throughput of api to decrease latency (#327) 2022-12-02 14:12:19 -05:00
J. Nick Koston
a452e738ff
Move message parsing out of the read loop (#323) 2022-12-01 11:42:15 +13:00
J. Nick Koston
ac303e8986
Fix connection subscription leak on cancelation (#316) 2022-11-28 23:06:06 +13:00
Jesse Hills
356e4fbd8f
Catch error when task is stopped (#306) 2022-11-15 20:26:11 +13:00
J. Nick Koston
dbfff4397e
Fix BLE writes timing out (#298) 2022-11-07 08:32:32 +13:00
Jesse Hills
c7edc2e601
Raise GATT errors on read and write etc (#272)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-31 11:38:24 +13:00
Alex Yao
b550b294c7
Fix permanent disconnect issue (#273) 2022-10-24 07:11:16 -05:00
Jesse Hills
712f23d2b2
Fix process_task not ending correctly (#271)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-07 09:37:47 +13:00
J. Nick Koston
4a1715536f
Increase underlying socket receive buffer (#267) 2022-10-03 11:32:26 +13:00
Jesse Hills
2103a7467a
Process messages in a separate task loop (#263) 2022-09-30 10:59:40 +13:00
Jesse Hills
c5779b3e17
Change BLE advertisement data to bytes (#262) 2022-09-30 09:12:49 +13:00
Jesse Hills
6a82766553
Add Bluetooth GATT calls (#259) 2022-09-28 12:50:37 -04:00
J. Nick Koston
1ffe252f6f
Change out asyncio.wait_for with async_timeout (#243) 2022-08-22 15:26:53 +12:00
dependabot[bot]
6b6828043b
Bump mypy from 0.942 to 0.950 (#204)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-05-18 15:39:03 +12:00
Otto Winter
3752b8280e
Fix no timeout for handshake (#176) 2022-02-09 16:29:50 +01:00
Otto Winter
9964034f18
Expect a name for connections (#122)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-01-20 12:03:36 +01:00
dependabot[bot]
014d81350a
Bump mypy from 0.910 to 0.930 (#156)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com>
2022-01-08 13:57:56 +01:00
david reid
8fcb3a58dd
Catch conn reset (#159) 2022-01-05 08:30:22 +13:00
Otto Winter
3b8b2d9d66
Fix login error cleanup (#126) 2021-10-21 19:20:05 +02:00
Otto Winter
07d16dc1ab
Prevent showing password in error logs (#121) 2021-10-14 11:25:51 +02:00
Otto Winter
f3aaf0391d
Remove eventloop parameter (#110) 2021-10-13 10:15:30 +02:00
Otto Winter
9ca228cd1e
Refactor frame_helper into new module (#109) 2021-10-13 10:05:08 +02:00
Otto Winter
06806b4490
Fix wrapping native RequiresEncryption error types (#113) 2021-10-05 10:56:35 +02:00