microsoft / microsoft/BotFramework-DirectLineJS

Cannot use with new version of RxJS (7.8.0 vs 5.5.12, for new Angular projects)

Open
#435 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
199
Forks
133
PR merge metrics
No merged PRs in 30d

Description

When trying to use this library you cannot use new RxJS operators, even simple ones like map.
Because the type of Observable does not match.

This forces many manual subscribes that could have been pipeline operators.

Image

Minimal snippet (on new angular project with RxJS 7.8.0 and botframework-directlinejs 0.15.5):

return this.directLine.activity$.filter(x => x.type === 'message').pipe(map((x: Message): string => ''));

Possible solutions including making RxJS a peer dependency or upgrading it to a new version.

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 by reviewing how botframework-directlinejs 0.15.5 declares RxJS and how the activity$ entry point is typed. Reproduce the Angular project example with RxJS 7.8.0 and the map operator, then determine whether the dependency declaration or the RxJS compatibility needs changing. Done means the library can be used with the newer RxJS types without manual subscriptions.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
api, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.