Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor GraphNotificationClient subscription renewal process #3142

Open
wants to merge 24 commits into
base: next/mgt-chat
Choose a base branch
from

Conversation

andrewDoing
Copy link

@andrewDoing andrewDoing commented Mar 15, 2024

Closes #3072

PR Type

Bugfix

Refactoring (no functional changes, no api changes)

Description of the changes

  • Removed cleanup timer
  • Added renewal loop
    • All renewal logic occurs in this loop, allowing for easier debugging when issues arise.
    • GraphNotificationClient now relies on a single timer (ex. renewalTimeout) to check for chat subscription renewals on a loop. Only active chats qualify for subscription renewals. Inactive chats will naturally expire.
  • Move sessionId generation into the GraphChatClient where its used.
  • Shortened renewal timer interval from 20 seconds to 3. This timer is shared across chats so it needed to be faster
  • Renewal will trigger on a chatId change based on a faster timer

PR checklist

  • Project builds (yarn build) and changes have been tested in at least two supported browsers (Edge + non-Chromium based browser)
  • All public APIs (classes, methods, etc) have been documented following the jsdoc syntax
  • Stories have been added and existing stories have been tested
  • Added appropriate documentation. Docs PR:
  • License header has been added to all new source files (yarn setLicense)
  • Contains NO breaking changes

Other information

Authored by MSFT FTEs: andoing and dexterw

@andrewDoing andrewDoing requested a review from a team as a code owner March 15, 2024 20:55
Copy link
Contributor

Thank you for creating a Pull Request @andrewDoing.

This is a checklist for the PR reviewer(s) to complete before approving and merging this PR:

  • I have verified a documentation PR has been linked and is approved (or not applicable)
  • I have ran this PR locally and have tested the fix/feature
  • I have verified that stories have been added to storybook (or not applicable)
  • I have tested existing stories in storybook to verify no regression has occured
  • I have tested the solution in at least two browsers (Edge + 1 non-Chromium based browser)

@andrewDoing andrewDoing changed the title Refactor subscriptiom Refactor subscription renewal process Mar 15, 2024
@andrewDoing andrewDoing changed the title Refactor subscription renewal process Refactor GraphNotificationClient subscription renewal process Mar 15, 2024
@TechnicallyWilliams
Copy link

TechnicallyWilliams commented Mar 19, 2024

This probably also closes #3059 . No longer able to reproduce this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

None yet

2 participants