microsoft / microsoft/BotFramework-WebChat
React Native: Investigate Adaptive Card web vs. native renderer
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 1.8k
- Forks
- 1.6k
- Avg merge
- 22h 58m
- Merged PRs (30d)
- 2
Description
Background
Adaptive Card have native renderer for iOS and Android.
We should use them. But there are a few features Web Chat use. We need to make sure the renderer support these features:
- [P0] Enable/disable card buttons
- [P0] Hook "perform card action"
- When the user click on the card action, the renderer should send the button click to Web Chat for further processing
- Support Markdown
- AC currently supported subset of CommonMark, https://docs.microsoft.com/en-us/adaptive-cards/authoring-cards/text-features
- [P1] Hyperlinks can be programmatically handled, so we can pipe it into the custom
window.openmiddleware - [P2] Can the Markdown engine replaced? In HTML version, we can replace it
- [P1] Two native renderers
- Need to make sure both iOS and Android renderers have similar feature set
Also, we need to make sure the renderer is good on the standards, e.g. accessibility, RTL, etc.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the Adaptive Cards iOS and Android native renderers with the Web Chat features listed in the issue, including card buttons, card actions, Markdown, hyperlinks, accessibility, and RTL. Check whether both native renderers support the same features and whether hyperlinks can use the custom window.open middleware. Done means documenting the compatibility findings and sending the questions to the adaptivecardscore DL list.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native
- Domain
- accessibility, frontend, mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100