microsoft / microsoft/BotFramework-WebChat

Code to-do: move acknowledgement logic to chat adapter

Open
#3,670 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backlog feature-request
Dominant language
HTML
Stars
1.8k
Forks
1.6k
Avg merge
22h 58m
Merged PRs (30d)
2

Description

(Related to #2490)

Feature Request

In packages/component/src/hooks/internal/useAcknowledgedActivity.js, we have a TODO for moving this acknowledgement logic to chat adapter.

Currently, we assume no chat adapter supports activity acknowledgement. In the future, it may need to change when we support human-to-human conversation.

The current acknowledgement logic:

  • Acknowledge all activities when the user explicitly scroll to bottom (from a non-bottom position)
    • In the future, we might be able to use IntersectionObserver to progressively acknowledge activities as the user scroll
  • Acknowledge all activities when the user sent a message

There are 3 ways to send the acknowledgement signal:

  1. Send IDs of activities which is acknowledged (seems too flexible which could make things complicated)
  2. Send the ID of the last acknowledged activities, everything above that activity is also considered acknowledged
  • This assumes the order of activities perceived by Web Chat is same as the chat adapter
  1. Send a signal to acknowledge all activities
  • This assumes the chat adapter know what activities it sent to Web Chat, in an synchronous manner

[feature-request]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with packages/component/src/hooks/internal/useAcknowledgedActivity.js and read the TODO alongside related issue #2490. Document how acknowledgement currently occurs on scrolling and message sending, then resolve which acknowledgement signal the chat adapter should support and define the adapter boundary before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.