Skip to content

feat: Add acknowledgement status and retry for emoji reactions#4142

Merged
jamesarich merged 2 commits into
meshtastic:mainfrom
jamesarich:feat/reaction-ack-4113
Jan 6, 2026
Merged

feat: Add acknowledgement status and retry for emoji reactions#4142
jamesarich merged 2 commits into
meshtastic:mainfrom
jamesarich:feat/reaction-ack-4113

Conversation

@jamesarich

@jamesarich jamesarich commented Jan 5, 2026

Copy link
Copy Markdown
Collaborator

This introduces status tracking and a resend mechanism for message reactions.

  • Adds status-related fields (status, packetId, routingError, etc.) to the ReactionEntity to monitor delivery.
  • Bumps the database version to 28 and adds the corresponding schema.
  • Implements update and getReactionByPacketId functions in PacketDao and PacketRepository.
  • Updates the UI to display the status of reactions, including a dimmed state for sending and an error state.
  • Adds a dialog to show delivery details and a "resend" option for failed reactions.
  • Ensures reactions are sent with wantAck=true and are stored with a QUEUED status upon creation.
  • Handles ACKs/NAKs for reactions in MeshDataHandler to update their status and implement a retry mechanism.

@github-actions github-actions Bot added the enhancement New feature or request label Jan 5, 2026
@jamesarich jamesarich marked this pull request as draft January 5, 2026 21:03
@jamesarich jamesarich force-pushed the feat/reaction-ack-4113 branch from 7b80435 to e7f4ba8 Compare January 5, 2026 21:05
This commit introduces status tracking and a resend mechanism for message reactions.

- Adds status-related fields (`status`, `packetId`, `routingError`, etc.) to the `ReactionEntity` to monitor delivery.
- Bumps the database version to 28 and adds the corresponding schema.
- Implements `update` and `getReactionByPacketId` functions in `PacketDao` and `PacketRepository`.
- Updates the UI to display the status of reactions, including a dimmed state for sending and an error state.
- Adds a dialog to show delivery details and a "resend" option for failed reactions.
- Ensures reactions are sent with `wantAck=true` and are stored with a `QUEUED` status upon creation.
- Handles ACKs/NAKs for reactions in `MeshDataHandler` to update their status and implement a retry mechanism.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
@jamesarich jamesarich force-pushed the feat/reaction-ack-4113 branch from e7f4ba8 to 9732116 Compare January 5, 2026 21:34
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
@jamesarich jamesarich marked this pull request as ready for review January 5, 2026 21:38
@codecov

codecov Bot commented Jan 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (6bb54bc) to head (bf68308).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #4142   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files          2       2           
  Lines         19      19           
  Branches       7       7           
=====================================
  Misses        19      19           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jamesarich jamesarich added this pull request to the merge queue Jan 6, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jan 6, 2026
@jamesarich jamesarich added this pull request to the merge queue Jan 6, 2026
Merged via the queue into meshtastic:main with commit 2526728 Jan 6, 2026
6 checks passed
@jamesarich jamesarich deleted the feat/reaction-ack-4113 branch January 6, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant