Commit Graph
688 Commits
Author SHA1 Message Date
Rocha Euripedes cea7e959ee Merge branch 'fix/deleted_msg_event' into 'master'
When MQTT_REPORT_DELETED_MESSAGES, delete QOS messages with id 0

Closes IDFGH-14022 and IDFGH-14021

See merge request espressif/esp-mqtt!225
2024-11-18 17:49:39 +08:00
Euripedes Rocha ea036a5819 doc: Clarify deleted message event to cover QoS=0 case
Minor improvement on documentation for the event.

Merges github.com/espressif/esp-mqtt/pull/290
Closes github.com/espressif/esp-mqtt/issues/289
2024-11-15 10:38:10 +01:00
Totrasmek b82c8f6c87 When MQTT_REPORT_DELETED_MESSAGES, delete QOS messages with id 0 2024-11-07 10:08:56 +11:00
Rocha Euripedes 942fd027f2 Merge branch 'fix_client_destroy' into 'master'
fix: Race condition when using destroy

See merge request espressif/esp-mqtt!223
2024-10-23 20:28:34 +08:00
Euripedes Rocha 44292cc2c4 fix: Race condition when using destroy
In a case were destroy is being called by a higher priority task set the
STOPPED_BIT before seting the state would lead to a crash.
2024-10-14 12:57:05 +02:00
Rocha Euripedes 9de024ca53 Merge branch 'feature/tcp_keepalive' into 'master'
feat: Add TCP keepalive configuration

Closes IDF-8049

See merge request espressif/esp-mqtt!220
2024-09-25 17:20:52 +08:00
Rocha Euripedes e89f239358 Merge branch 'feature/message_topic_in_multichunk_msg' into 'master'
feat: Include message topic in all chunks

Closes IDFGH-11179

See merge request espressif/esp-mqtt!219
2024-08-22 18:57:03 +08:00
Bogdan Kolendovskyy 82017e9bcc feat: Include message topic in all data events for big messages.
When message is larger than the buffer, and must produce several events include topic where it came from in each of those events
2024-08-22 12:48:43 +02:00
Bogdan Kolendovskyy 7c3227a24d feat: Add TCP keepalive configuration 2024-08-22 11:18:43 +02:00
Rocha Euripedes b5b80336b7 Merge branch 'fix/clean_transport' into 'master'
fix: set TCP transport every time when setting the config

See merge request espressif/esp-mqtt!218
2024-07-10 22:07:55 +08:00
Rocha Euripedes 1420c01c88 Merge branch 'feat/get_transport' into 'master'
feat: Allow users to get the transport in use

See merge request espressif/esp-mqtt!216
2024-07-10 15:17:41 +08:00
Rocha Euripedes 97dc85a080 feat: Allow users to get the transport in use 2024-07-10 15:17:41 +08:00
Rocha Euripedes 72d7bc7f55 Merge branch 'clean_expired' into 'master'
clean: Remove expired deletion from publish

See merge request espressif/esp-mqtt!217
2024-07-09 16:36:06 +08:00
Jackson Ming Hu c3c4cb9a2a fix: set TCP transport every time when setting the config 2024-07-01 16:54:47 +10:00
Euripedes Rocha 2285726229 clean: Remove expired deletion from publish
Since expired messages deletion are now handled in all states this call
is unnecessary.
2024-06-17 15:23:17 +02:00
Rocha Euripedes cac1552e62 Merge branch 'fix/analyzer-unknown-pragma-warning' into 'master'
fix: clang analyzer unknown pragma warning

See merge request espressif/esp-mqtt!215
2024-06-10 21:38:11 +08:00
Alexey Lapshin 6bb5a5bab0 fix: clang analyzer unknown pragma warning 2024-06-10 20:08:47 +07:00
Rocha Euripedes e6c5596f3f Merge branch 'fix/analyzer-unknown-pragma-warning' into 'master'
fix: gcc analyzer unknown pragma warning

See merge request espressif/esp-mqtt!214
2024-06-10 20:41:41 +08:00
Alexey Lapshin b5272039fe fix: gcc analyzer unknown pragma warning 2024-06-10 19:34:48 +07:00
Rocha Euripedes a0f4ce85de Merge branch 'Improve-handling-of-expired-messages' into 'master'
feat: Moves deletion of expired messages to run at all states

Closes IDFGH-12831

See merge request espressif/esp-mqtt!213
2024-06-03 20:48:47 +08:00
Rocha Euripedes 60c76d5f17 Merge branch 'fix/enqued_qos0_handling' into 'master'
fix: Handling of state in the outbox for enqueued QoS 0 messages

Closes IDFGH-12829

See merge request espressif/esp-mqtt!212
2024-06-03 20:48:18 +08:00
Euripedes Rocha 32dada47ff feat: Moves deletion of expired messages to run at all states
Process expiration of messages in all states removing messages from the
outbox even in disconnected scenarios.

Closes https://github.com/espressif/esp-mqtt/issues/278
2024-05-27 10:56:40 +02:00
Euripedes Rocha 739cb2dd32 fix: Handling of state in the outbox for enqueued QoS 0 messages
If a QoS 0 was handled by the enqueued messages transmission, it could
lead to set incorrectly another QoS 0 as transmitted.

Closes https://github.com/espressif/esp-mqtt/issues/276
2024-05-27 16:36:14 +08:00
Rocha Euripedes bed1207999 Merge branch 'fix_gcovr_install' into 'master'
fix: Instalation of gcovr in host tests was broken

See merge request espressif/esp-mqtt!211
2024-05-24 15:18:14 +08:00
Euripedes Rocha 6643c49cb6 fix: Instalation of gcovr in host tests was broken
Fix instalation by allowing pip to avoid system packages.
2024-05-23 08:54:55 +02:00
Rocha Euripedes 72feca44d6 Merge branch 'fix_mqtt5_topic_alias' into 'master'
Allow to publish using only topic alias on MQTT5

Closes IDFGH-12735

See merge request espressif/esp-mqtt!207
2024-05-23 14:37:03 +08:00
Euripedes Rocha 0071aca61d Fix: Allow to publish using only topic alias on MQTT5
Previously if message had a NULL topic filter the client would reject
and not build the messages. This fix it allowing the usage of topic
alias.
2024-05-23 13:56:34 +08:00
Rocha Euripedes e694d80b05 Merge branch 'refactor/mqtt_remove_heap_mock' into 'master'
refactor: replaced heap mock with Linux-compatible heap component

See merge request espressif/esp-mqtt!208
2024-05-23 13:56:10 +08:00
Rocha Euripedes 833870068d Merge branch 'fix/gcc-fanalyzer-warnings' into 'master'
fix: gcc -fanalyzer warnings

See merge request espressif/esp-mqtt!209
2024-05-23 13:55:21 +08:00
Jakob Hasse 8b0b43efa8 refactor: replaced heap mock with Linux-compatible heap component 2024-05-22 22:16:27 +08:00
Alexey Lapshin 8bc3bff757 fix: gcc -fanalyzer warnings 2024-05-22 22:15:48 +08:00
Rocha Euripedes d27bd520b2 Merge branch 'fix_host_test' into 'master'
fix: Use catch from component manager

See merge request espressif/esp-mqtt!210
2024-05-22 22:15:21 +08:00
Euripedes Rocha 53e0cc75ee fix: Use catch from component manager
The version present on idf repo was failing to compile.
Simple fix is to update to latest supported provided by component manager.
2024-05-22 14:58:58 +02:00
Rocha Euripedes ef12b615e1 Merge branch 'fix_host_test_github' into 'master'
fix: Fix host test for github ci.

Closes IDF-8883

See merge request espressif/esp-mqtt!206
2024-04-24 21:52:37 +08:00
Euripedes Rocha b43d93c82d fix: Fix host test for github ci. 2024-04-17 14:35:34 +02:00
Rocha Euripedes aa6f889fb4 Merge branch 'fix/error_codes' into 'master'
fix: regard reason codes greater than 0x80 as failures.

See merge request espressif/esp-mqtt!205
2024-04-05 17:09:50 +08:00
Rocha Euripedes 1edd167dcb Merge branch 'fix/calloc_failure' into 'master'
PR: Return on allocation failure

See merge request espressif/esp-mqtt!204
2024-04-03 15:29:51 +08:00
Ss Wang c06f1540fe set last_retransmit to now when first connected
when published before connected, the msg will be always retransmitted immediately even it is  send right now
2024-04-02 10:48:45 +02:00
Ss Wang 37478a9c00 add return to faile_message, avoid segment fault
should not use response_topic when calloc failed
2024-04-02 10:48:45 +02:00
Rocha Euripedes fd21b27a83 Merge branch 'fix/unused_variable_warning' into 'master'
Minor warning of unused variable

See merge request espressif/esp-mqtt!203
2024-04-02 14:41:47 +08:00
zhouzb e7b9aa5e6a fix: regard reason codes greater than 0x80 as failures. 2024-04-01 10:37:42 +08:00
Euripedes Rocha 726e5f2fce fix: Minor warning of unused variable
In case of hardcoded id mac array was unused.
2024-03-28 14:16:34 +01:00
Rocha Euripedes 14f5fa079f Merge branch 'fix/cliend_id' into 'master'
Cover the case for SOC without MAC address

See merge request espressif/esp-mqtt!202
2024-03-28 20:37:54 +08:00
Euripedes Rocha 5e3abd4b8c fix: Cover the case for SOC without MAC address
We need to cover for the case where the available MAC isn't defined in
soc caps. E.g. A new target is being introduced but the support isn't
complete yet.
2024-03-28 12:40:07 +01:00
Rocha Euripedes 37cb056c5f Merge branch 'feature/atomic_state' into 'master'
Make state and size atomic

See merge request espressif/esp-mqtt!199
2024-03-22 15:26:15 +08:00
Rocha Euripedes 74481cbbf4 Merge branch 'fix/log_level_on_timeout' into 'master'
fix: Adjust the log level on few messages to avoid cluthering the logs

See merge request espressif/esp-mqtt!201
2024-03-22 15:05:49 +08:00
Rocha Euripedes c33a0c8e44 Merge branch 'fix/detect_mac_type' into 'master'
fix: Make automatic client_id soc dependent

See merge request espressif/esp-mqtt!200
2024-03-22 15:05:21 +08:00
Euripedes Rocha 5c17fc4a1a fix: Adjust the log level on few messages to avoid cluthering the logs 2024-03-21 14:11:57 +01:00
Euripedes Rocha 657a2aea77 fix: Make automatic client_id soc dependent
When creating the client_id for user, the library uses the device MAC.
For some of our devices WIFI isn't available and the library needs to select
a different MAC to use.
2024-03-14 07:31:37 +01:00
Euripedes Rocha 891380bdf5 feat: Make state and size atomic
This makes the mqtt client state atomic to reduce the scope of locking in
some parts of the code.
2024-03-12 08:49:36 +01:00