-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Open
Labels
feature-requestAzure report labelAzure report label
Description
Is your feature request related to a problem?
We need to update Web Chat to clear up some chores and code hygiene. This is a non-exhaustive list.
Describe the suggestion or request in detail
- XS: Do not use React
FC
/VFC
types, useProps
instead Address XS code hygiene tasks #4981 - XS: Mark all props as read-only, also any arrays and objects under it Address XS code hygiene tasks #4981
- XS: Prefer
import { type ABC }
overimport type { ABC }
Address XS code hygiene tasks #4981 - XS: Move to
use-ref-from
anduse-state-with-ref
, fromuseValueRef
- S: Change activity key type from
string
toActivityKey
of typewc.a.${string}
- S: Consider using opaque/tagged type for channel ID or other IDs
- S: Move predicates (e.g.
isFromUser
,hasSent
) to core package - M: Dupe most style options into CSS custom properties
- Should try redo time-sensitive style options, say "Send failed. Retry." into a CSS animation than a JavaScript effect
- M: Mark
WebChatActivity
and many things as read-only - M: Move helper function to
botframework-webchat-base
(Add base package #5176)- The new
base
package will be bundled and not published
- The new
- M: Port Direct Line emulator to TypeScript
- L: Remove deprecated code
- L: Add a wrapper for workarounding behavioral issues related to DirectLineJS
- L: Componentize the active descendant trick (different narration between browse mode vs. scan mode)
- XL: Add GitHub CI pipeline (Add PR validation pipeline to GitHub Actions #4976)
- XL: Move to
tsup
(Emit ESM build via tsup #5148) - XL: Move to modern middleware and
react-chain-of-responsibility
(Feature/middleware v2 init #5118) - XL: Migrate from
lerna@6
tolerna@7
or pure NPM workspaces #4847 - XL: Move as much hooks to API as possible
- XL: Unify middleware v1 (activity, etc.) and middleware v2 (attachment for screen reader) (Feature/middleware v2 init #5118)
- L: Combine attachment middleware and attachment for screen reader middleware in a single middleware (Feature/middleware v2 init #5118)
- XL:
useStyleOptions
inside activity middleware could read partial style options from channel data - XL: Moving some release testing into main repo: test hosting Web Chat in
create-react-app
, Webpack 4/5, esbuild - L: Fixing AzDO CI/CD automation
- L: Use
valibot
to validate props from external #5182 - L: Move to
micromark
or other synchronousmdast
packages, need table extension, strikethrough extension, and auto-link #4844 - L: Move to
dompurify
- XL/Mutex: Update VRT snapshot file names
- XL/Mutex: Move VRT into folder hierarchy
- L: Remove remnants of IE11 and ES5
- M: Upload VRT failure snapshots in CI
- XL: Move our current Redux logics into a chat adapter shim and embrace for an updated chat adapter which exposes
Activity[]
instead ofactivity$
- L: Move to CFS from Terrapin
- L: Build a SSO sample out of the Copilot Studio sample
- L: Plan CSAT payload
- XL: Plan to make Web Chat exposed as both Web Component and React component
- XL: Host Web Chat inside Web Component
Notes: Mutex = when this work is started, will block all other works
Describe alternatives you have considered
No response
Additional context
No response
tdurnford and OEvgeny
Metadata
Metadata
Assignees
Labels
feature-requestAzure report labelAzure report label