// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Change to use loggers from
LoggerProvider
as default when initialize background blur/replacement processor.
- Add
changeBackgroundReplacementImage
function in theBackgroundReplacementProvider
to enable the functionality of changing the background replacement image.changeBackgroundReplacementImage
will take aBlob
as its parameter and return aPromise
. - Add usage of
changeBackgroundReplacementImage
in storybook.
- Add support for node 20 and drop support for node < 18.
- Add
skipDeviceSelection
option on theMeetingManager.join
API. TheMeetingManager.join
by default lists and selects audio input, output and video input devices. UseskipDeviceSelection
flag to skip this default device selection. This is helpful when builders want to fully control device selection as part of meeting initialization. This also avoids no-audio issues in Safari which happens due to listing and selecting devices multiple times.
startAudioInputDevice
,startVideoInputDevice
, andsetupDeviceLabelTrigger
ofMeetingManager
now throw errors with the original errorname
returned by thegetUserMedia
call. See details in issue #888.- Migrate SDK to react 18 based.
- Migrate storybook to v7.
- Migrate stories to ArgTypes based.
- Add support for react 18.
- Applications depending on Chime SDK component library currently do not have a out of the box
MeetingStatus
to tell whether the JS SDK is in reconnection. Thus, addaudioVideoDidStartConnecting
with a newMeetingStatus.Reconnecting
to aid such a use case.
- Updated
ContentShare
to have optional nameplate prop.
-
Fix a bug where the
isVideoEnabled
is still true even when the video device is unplugged. -
When audio inputs change in a meeting,
AudioInputProvider
will only automatically select a new audio input device if a meeting is joined withDeviceLabels.Audio
orDeviceLabels.AudioAndVideo
device labels. -
Publish
MeetingStatus.Failed
only when a non-terminal failure is encountered. Currently, some Amazon Chime SDK for JavaScript meeting session statuses pass both thesessionStatus.isFailure()
as well assessionStatus.isTerminal()
in JS SDK, thus, for a status if it is in both, it will be considered as non-terminal failure andMeetingStatus.TerminalFailure
will never get set for such statuses. Check MeetingSessionStatus file for more information on both methods in JS SDK.
- Add support for Node.js 18.
- Updated
VoiceFocusProvider
to destroy the Voice Focus worker thread on unmount. - Reverted changes to
BackgroundBlurProvider
andBackgroundReplacemenProvider
to fix bug related toisBackgroundBlurSupported
andisBackgroundReplacementSupported
returning false.
- Update the documentation to use
GlobalStyles
along withThemeProvider
.
- Refactor
toggleContentShare
function to allow specifying aMediaStream
to share. This can be used to share non-screen share content. - Expose the background blur processor and background replacement processor from their respective providers -
BackgroundBlurProvider
andBackgroundReplacementProvider
.
- Update tsconfig to include packages under
./@types
andnode_modules/@types
in the TypeScript compilation. - Move the definition of default theme from its implementation to its
d.ts
file under./@types
to support function themes usage of styled-component.
- Add
audioSpeakerDelayMs
,audioUpstreamRoundTripTimeMs
,audioUpstreamJitterMs
,audioDownstreamJitterMs
andcurrentRoundTripTimeMs
metrics touseMediaStreamMetrics
hook. Also addrtcStatsReport
to expose the originalRTCStatsReport
from RTCPeerConnection.getStats().
- Improve "Handle Device Permission" guide in Quick Starts.
- Upgrade
storybook
to a fixed6.5.0-alpha.64
withwebpack v5
to fix security vulnerabilities and issues with external HTTP link rendering. - Update integration test demo to install
amazon-chime-sdk-component-library-react
from local instead of from npm. Update corresponding GitHub Action and scripts.
- Fix command line sample to install latest node dependencies in migration guides.
- Clarify
setIsVideoEnabled
usage inLocalVideoProvider
anduseLocalVideo
docs.
Amazon Chime SDK React Components Library v3 is here !! 🎉🎉🎉
Amazon Chime SDK React Components Library v3 includes major improvements for component style customization, MeetingProvider/MeetingManager
configuration, device management, WebRTC metrics and logger.
- Component style customization: Improve components for easier customization of style. Check out our styling guide for more information.
MeetingProvider/MeetingManager
configuration: ImproveMeetingProvider
,MeetingManager
andMeetingManager.join()
API to allow configuring a meeting session right before joining a meeting instead of whenMeetingProvider
mounts.- Device management: Improve
types
for device selection components to better support basic and transformed devices. RemoveuseSelectAudioInputDevice
,useSelectVideoInputDevice
, anduseSelectAudioOutputDevice
hooks to standardize device selection throughMeetingManager
and throw error when selection fails. - WebRTC metrics: Publish the standardized WebRTC metrics for all supported browsers. Deprecate
useBandwidthMetrics
hook in favor ofuseMediaStreamMetrics
hook. - Logger: Add
LoggerProvider
anduseLogger
components to enable universal logging in component library.
Below is a list of all changes in Amazon Chime SDK React Components Library v3. Please refer to the Migration from 2.0 to 3.0 for more information.
- Add
LoggerProvider
anduseLogger
components to enable universal logging in component library. - Add a new interface
MeetingManagerJoinOptions
containingdeviceLabels
,eventController
,enableWebAudio
, andactiveSpeakerPolicy
properties. This interface is used for optional parameteroptions
ofMeetingManager.join()
API. - Add new method
selectVideoInputDevice(device: VideoInputDevice)
inMeetingManager
. This method only updates theMeetingManager.selectedVideoInputDevice
with the givendevice
and publish this update viaselectedVideoInputDeviceObservers
. The originalselectedVideoInputDevice
method in V2 has been renamed tostartVideoInputDevice
in V3. - Extend and enable style customizing capabilities on the SDK components.
- Add documentation for device management change.
- Remove logging of the video transform device to avoid circular structure error.
- Remove preset device selection options ("None" and "440 Hz" for audio input device. "None", "Blue", and "SMTP Color Bars" for video input device). Remove
appendSampleDevices
from Props ofCameraSelection
,MicSelection
,AudioInputControl
,AudioInputVFcontrol
, andVideoInputControl
. RemoveDeviceConfig
type. RemoveadditionalDevices
from Props ofuseAudioInputs
anduseVideoInputs
hook. - Remove
useSelectAudioInputDevice
,useSelectAudioOutputDevice
anduseSelectVideoInputDevice
hook. - Remove use of the deprecated
enableUnifiedPlanForChromiumBasedBrowsers
configuration variable. - Remove all deprecated
MeetingSessionStatusCode
. - Remove legacy metrics
videoDownstreamGoogFrameHeight
,videoDownstreamGoogFrameWidth
,videoUpstreamGoogFrameHeight
andvideoUpstreamGoogFrameWidth
from thevideoStreamMetrics
returned by theuseMediaStreamMetrics
hook to adopt to Amazon Chime SDK for JavaScript V3 changes (aws/amazon-chime-sdk-js#2086). - Remove
MeetingSessionConfiguration
properties fromMeetingProvider
props. - Remove
deviceLabels
,eventController
,logLevel
,postLogConfig
,logger
,enableWebAudio
, andactiveSpeakerPolicy
fromMeetingProvider
props. - Deprecate
useBandwidthMetrics
hook as we already haveuseMediaStreamMetrics
.
- Update the
selectedDeviceId: string | null
toselectedDevice: Device | TransformDevice
. - Update
MeetingManager
to use newEventController
API. - Update
amazon-chime-sdk-js
dependency to v3. - Update the
compilerOptions.target
intsconfig.json
fromes5
toES2015 (ES6)
. - Update the
ChannelList
UI component to take in optionallastChannelMessage
andlastChannelMessageTimestamp
parameters. If any of them is set, it will display more detailed channel item view with last message content or timestamp. - Update
MeetingManager.join()
API to have a require parametermeetingSessionConfiguration: MeetingSessionConfiguration
and an optional parameteroptions?: MeetingManagerJoinOptions
. WithmeetingSessionConfiguration
parameter builders have direct access toMeetingSessionConfiguration
which allows more flexibility to customize theMeetingSession
. Withoptions
parameter, builders can easily config theenableWebAudio
,logger
,activeSpeakerPolicy
,deviceLabels
andeventController
before joining the meeting. - Rename
selectAudioInputDevice
tostartAudioInputDevice
,selectVideoInputDevice
tostartVideoInputDevice
, andselectAudioOutputDevice
tostartAudioOutputDevice
. - Rename
DevicePermissionStatus.UNSET
toDevicePermissionStatus.UNTRIGGERED
andDevicePermissionStatus
toDeviceLabelTriggerStatus
. - Rename
useDevicePermissionStatus
touseDeviceLabelTriggerStatus
. - Rename
devicePermissionsObservers
todeviceLabelTriggerStatusObservers
and correspondingsubscribe
,unsubscribe
, andpublish
functions. - Rename
deviceLabelTriggerChangeObservers
todeviceLabelTriggerObservers
and correspondingsubscribe
,unsubscribe
, andpublish
functions. - Rename the
global
property ofDefaultTheme
interface toglobalStyle
to avoid conflict with reserved keywordglobal
. - Revert "Add Observer to select input device error" (PR #493).
useAudioInputs
anduseVideoInputs
hook no longer returnselectDeviceError
.selectAudioInputDevice
,selectVideoInputDevice
, andselectAudioOutputDevice
method ofMeetingManager
now throw error when failed. The device selection methods returned byuseSelectAudioInputDevice
,useSelectVideoInputDevice
, anduseSelectAudioOutputDevice
hook are built on top of theseMeetingManager
methods, thus now they throw error when failed as well.
- Add styling guide documentation for customizing SDK and UI component CSS.
- Extend and enable style customizing capabilities on the SDK components.
- Add
MeetingSessionConfiguration
as a required parameter toMeetingManager.join()
method. With this change the builders have direct access toMeetingSessionConfiguration
, this will allow more flexibility to customize theMeetingSession
. - Add
MeetingManagerJoinOptions
as a new interface for theoptions
parameter of theMeetingManager.join
method. - Add
deviceLabels
,eventController
,logLevel
,postLoggerConfig
,logger
,enableWebAudio
, andactiveSpeakerPolicy
toMeetingManagerJoinOptions
interface.
- Update
MeetingManager
to use newEventController
API. - Update
amazon-chime-sdk-js
dependency to v3 beta. - Update the
compilerOptions.target
intsconfig.json
fromes5
toES2015 (ES6)
. - Rename the
global
property ofDefaultTheme
Interface toglobalStyle
to avoid conflict with reserved keywordglobal
. - Change
Versioning.ts
to read from Git instead of manually hard-coded. This is the same behavior inamazon-chime-sdk-js
. - Update the ChannelList UI component to take in optional
lastChannelMessage
andlastChannelMessageTimestamp
parameters. If any of them is set, it will display more detailed channel item view with last message content or timestamp.
- Remove use of the deprecated
enableUnifiedPlanForChromiumBasedBrowsers
configuration variable. - Remove all deprecated
MeetingSessionStatusCode
. - Remove legacy metrics
videoDownstreamGoogFrameHeight
,videoDownstreamGoogFrameWidth
,videoUpstreamGoogFrameHeight
andvideoUpstreamGoogFrameWidth
from thevideoStreamMetrics
returned by theuseMediaStreamMetrics
hook to adopt to Amazon Chime SDK for JavaScript V3 changes (aws/amazon-chime-sdk-js#2086). - Deprecate
useBandwidthMetrics
hook as we already haveuseMediaStreamMetrics
. - Remove
MeetingSessionConfiguration
properties fromMeetingProvider
props. - Remove
deviceLabels
,eventController
,logLevel
,postLogConfig
,logger
,enableWebAudio
, andactiveSpeakerPolicy
fromMeetingProvider
props.
- Fix a bug in
BackgroundBlurProvider
andBackgroundReplacementProvider
where the options objects are updated and causing re-rendering and destroying previous processor. - Fix a bug in
PreviewVideo
where the PreviewVideo component did not start whenaudioVideo
changed.
- Add Amazon Chime Echo Reduction feature. Allow builders to supply the response from a
CreateMeeting
orCreateMeetingWithAttendees
call when adding aVoiceFocusProvider
to the component tree. This enables optional features like Amazon Chime Echo Reduction to be added to devices when turning on Amazon Voice Focus. - Add
videoAvailabilityDidChange
as an audio observer inLocalVideoProvider
and a new statehasReachedVideoLimit
to disable the video button when the video limit is reached. - Add
keepLastFrameWhenPaused
as an optional parameter to allow to keep the last frame of the video when a remote video is paused via the pauseVideoTile.
- Add
BackgroundReplacementProvider
provider to support background replacement.
- Add
activeSpeakerPolicy
andvideoUplinkBandwidthPolicy
toMeetingProvider
props.
- Change
additionalDevices
to a prop inAudioInputControl
,VideoInputControl
,AudioInputVFControl
,MicSelection
, andCameraSelection
components to allow option to turn off that configuration. - Add
reconnectTimeoutMs
as an optional parameter toMeetingManagerConfig
to manage the timeout for reconnection.
- Fix the issue that Amazon Voice Focus does not get applied on new devices mid-meeting.
- Add
BackgroundBlurCheckbox
component to allow selecting background blur video filter for thePreviewVideo
component.
- The
PreviewVideo
component will listen to theselectedVideoInputTransform
state, which means it can display regularDevice
video streams, along withVideoTransformDevice
video streams as well. VideoInputBackgroundBlurControl
component is initialized with theselectedVideoInputTransformDevice
.
- Revert back to publishing
audioVideo
update after listing devices. Publishing earlier before listing devices breaksuseAudioInputs
,useAudioOutputs
anduseVideoInputs
hooks. The reason is device change observers may fail to get added toaudioVideo
based on builders implementation. Hence, falling back to what existed earlier.
- Fix the issue that
AudioVideoObserver
was not removed as expected inLocalVideoProvider
. - Fix
eventDidReceive
observer removal inMeetingManager
.
- Add Eslint rules to enforce code style and fix issues.
- Add logs for Amazon Voice Focus components.
- Add FAQ link on audio outputs not available in FireFox and Safari.
- Add
BackgroundBlurProvider
which provides a background blur video transform device. - Add
VideoInputBackgroundBlurControl
component which includes a checkbox for enabling background blur. - Add
unsubscribeFromSelectedVideoInputTransformDevice
which subscribes to changes to selected video devices. - Add
subscribeFromSelectedVideoInputTransformDevice
. - Add
publishSelectedVideoInputTransformDevice
which publishes aDevice | VideoTransformDevice
depending on what video device was chosen.
- Update
useSelectVideoInputDevice
hook documentation and usage example. - Update package.json to include NPM 8.
- Update
meetingManager.selectVideoInputDevice
to acceptVideoTransformDevice
as a parameter.
- Revert the commit: Add Amazon Voice Focus to default device to fix the breaking issue #636
- Fix the issue that Amazon Voice Focus does not get applied on new devices mid-meeting.
- Fix the issue where we call
meetingManager.leave
an additional time when we callmeetingManager.leave
. - Remove the observer in
LocalVideoProvider
when it is unmounted to fix memory leak.
- Add
activeSpeakerPolicy
andvideoUplinkBandwidthPolicy
inMeetingManagerConfig
to allow builders to pass in custom policies. - For more flexibility, allow passing
MeetingManagerConfig
tomeetingManager.join
method. Passing the config here would override config passed throughMeetingProvider
props. - Add more details in the
AudioInputProvider
on storybook. - Add
MeetingStatus.Left
and set it when explicitly leaving the meeting. - Publish
MeetingStatus.Failed
whenaudioVideoDidStop
gets triggered with one of the Failure types ofMeetingSessionStatus
. - Add
Terminal Failure
Meeting Status.
- Remove the audio video observers in the
audioVideoDidStop()
function instead ofleave()
function in theMeetingManager
. - Update
VoiceFocusProvider
anduseVoiceFocus
documentation in the storybook.
- Remove setting the
MeetingStatus
toMeetingStatus.Loading
when we callmeetingManager.leave
.
- Remove the year in the copy right checker.
- Add MeetingEventProvider and useMeetingEvent hook to receive meeting events from
amazon-chime-sdk-js
. Please check Amazon Chime SDK for JavaScript meeting events guide for more information on meeting events. - Add optional parameter
enableWebAudio: boolean
in the config of meeting manager to decide whether to enable Web Audio in the device controller. - Extend the ability to accept
Device
andAudioTransformDevice
as audio input in meeting manager. - Add a new provider VoiceFocusProvider to initialize noise suppression and transform a normal audio input device to an Amazon Voice Focus transform device.
- Add a new UI component AudioInputVFControl to provide Amazon Voice Focus option to users.
- Add CSS for
disabled
props onPopOverItem
. - [Doc] Add documentation for
AudioInputVFControl
component withinMeetingControls
in the story book. - [Doc] Add documentation for
VoiceFocusProvider
provider in the story book. - [Doc] Add documentation for useVoiceFocus hook in the story book.
- Change the input type of
useSelectAudioInputDevice
hook from string toDevice
andAudioTransformDevice
. - Add
meetingManagerConfig: ManagerConfig
object toMeetingManager
and use it ininitializeMeetingSession
method. We will use values frommeetingManagerConfig: ManagerConfig
directly instead of class level variables.
- Exclude the uuid module from the Rollup bundle so that the Chime SDK React Components Library uses the uuid module from the builder's node_modules.
- [Doc] Fix the broken hyperlinks in storybook and slightly improve the storybook.
- Add optional parameter
deviceLabels: DeviceLabels | DeviceLabelTrigger
inmeetingManager.listAndSelectDevices()
to let builder indicate the type of devices they want to select. - Add optional parameter
logger
andvideoDownlinkBandwidthPolicy
inManagerConfig
to pass in theLogger
object andVideoDownlinkBandwidthPolicy
object that you want to be used in the meeting session. - [Doc] Add several how-to docs in storybook.
- The
listAndSelectDevices()
method inMeetingManager
now selects the devices based on its parameterdeviceLabels
instead of the existence of device label. - [Doc] Rename the "How-tos" section in storybook to "Quick Starts" as well the file name.
- Migrate Meeting Demo app to amazon-chime-sdk repo under aws-sample. The new meeting demo is here.
- [Doc] Add explanation for the limitation of the
useDevicePermissionStatus
hook in storybook. - [Doc] Add how-to doc for view-only mode in storybook.
- Add support to override event reporter for client event ingestion once enabled in the Amazon Chime SDK for JavaScript. For more information check the Client Event Ingestion guide in the Amazon Chime SDK for JavaScript.
- Add new function
setIsVideoEnabled
inuseLocalVideo
hook. - [Doc] Add how-to doc for
useMediaStreamMetrics
hook in storybook.
- Set the
isVideoEnabled
tofalse
when stopping video preview.
- Add
sourceId
as an optional parameter in thetoggleContentShare
function to specify which screen to share. - [Doc] Add a new page, a "How-tos" section in the story book to show use-cases with sample code.
- In
MeetingManager
, add optional parameterdeviceLabels: DeviceLabels | DeviceLabelTrigger
injoin()
method, and addinvokeDeviceProvider(deviceLabels: DeviceLabels)
method to control the device permission request. Builder could pass adeviceLabels
of typeDeviceLabels
to select the devices from which the browser requests permission when joining the meeting. Builder could also pass adeviceLabels
ofDeviceLabelTrigger
type, to set their customizeddeviceLabelTrigger
which is triggered to get the device info. Builder could callinvokeDeviceProvider(deviceLabels: DeviceLabels)
to trigger the device permission prompts. For example, builder wants to implement a view-only mode and no device permission prompts are triggered during the whole process. Builder could first callmeetingManager.join(DeviceLabels.None)
to join a meeting. Later they can trigger the device permission prompts by callingmeetingManager.invokeDeviceProvider(DeviceLabels.AudioAndVideo)
to get the full access to devices.
- [Demo] Fix post logging in the demo meeting app.
- [Doc] Add documentation in introduction on how to use
MeetingSessionPostLogger
to post Amazon Chime SDK for JavaScript logs. - Add
useMediaStreamMetrics
hook to expose audio, video and bandwidth data.
- Add or remove event listener only when
el.current
reference is valid inuseFocusIn
anduseMouseMove
hooks. - Fix bug related to
PreviewVideo
component not releasing media stream when unmounted. - Correct
IconButton
border in dark theme.
- Added optional props to specify icon titles in the
AudioInputControl
andContentShareControl
components. - Added optional props to specify the dropdown text that shows when no video quality is selected, in the
QualitySelection
component. - Added observer to
selectAudioInputDeviceError
andselectVideoInputDeviceError
to deliver the error from SDK level to client application level.
- Change
package-lock
to V2 to support NPM 7. - Update
engines
field inpackage.json
to include Node 16. - Bump
hosted-git-info
version.
- Add browser flag for node resolve in rollup config.
- Fix device permission doc to remove reference to meetingStatus
- Added support for optional keys to pass extra data in the
AttendeeResponse
.
- Fix incorrect type definitions in date formatting.
- Fix the Jest configuration to not use the deprecated
tsConfig
spelling oftsconfig
. - Fix removeEventListener bug for WithTooltip.
- Reset
isAudioOn
state totrue
whenLocalAudioOutputProvider
unmounts.
- Added a step in release script to create a test react app, install latest version of component app as dependency and build the test app.
- Added some key properties to
ModalButtonGroup
, which quiets some React warnings. - Added an optional prop
onPopOverClick
to pass a callback function to thePopOver
UI component. This callback will be called when thePopOver
UI component is clicked. - Added
--no-fail-on-empty-changeset
flag in deploy script to not fail for empty changeset. - Add
WithTooltip
docs, warning log if no container is found, and some additional flexibility.
- Bumped react and react-dom version to 17.
- Updated versions of testing-library family of packages.
- Corrected the detection of
yesterday
in said code. - Wraped actions in tests with
act
, as React requests.
- [Demo] Removed call
await MeetingManager.leave()
onendMeetingForAll
button click.
- Fix getAttendee populate name even after the attendee has left the meeting
- Fixed the
MicrophoneActivity
component'sclassName
prop overridden by theMicVolumeIndicator
componentclassName
. - NotificatonGroups don't accept pointer-events.
- Clean up timeouts when
useFocusIn
anduseMouseMove
hooks are unmounted.
- Allow the
PopOver
UI component to stay open for multiple clicks. - Added
WithTooltip()
HOC and updatedRosterHeader
,RosterCell
,PopOverMenu
,PopOver
,NavbarItem
,ControlbarItem
, andChatBubbleConatiner
to support tooltips. - Added documentation for components that support tooltips, exposed
WithTooltip
component and related interfaces/types.
- Render roster without waiting for getAtendee callback.
- Update
MeetingProvider
and corresponding documentation to support re-usableMeetingManager
instance.
- [Docs] Fix broken link in RosterAttendee story
- Fix LocalVideo not rendering on initial attempt
- Fix inconsistent snapshot for EditableChatBubble
- [Docs] Fix mdx style rendering
- Confirm video device exists when requesting user device permission
- Add JoinedFromAnotherDevice meeting status
- Allow property passthough to IconButton in NavbarItem
- Fix icon preventing clicks on
Select
components - Fix Github Actions build-storybook error
- [Docs] Fix ContentShare docs
- Fix non-overridable Mic prop in
RosterAttendee
- Fix incorrect fill-rule property on
ZoomIn
andZoomOut
- [Demo] Fix closing roster from stopping active speaker detection.
- Fix serverless deploy script to work on Windows
- [Tests] Update outdated snapshots
- [Chat Demo] Fix double API calls on channel click.
- NotificatonGroups don't accept pointer-events
- Add
useSelectAudioInputDevice
,useSelectAudioOutputDevice
hooks - Added Echo icon
- Added poorConnection property to DeskPhone icon
- Added optional 'id' prop for ui components
- Added optional
timestamp
prop in ChatBubble - Added forwardRef for ChatBubbleContainer
- Added optional img to MessageAttachment
- Added a classname to PopOverMenu component for styling access
- Added forwardRef for Textarea
- Added
useDevicePermissionStatus
hook as an exported component from the library. - Added a "dismissible" prop to Modal to optionally allow persistent modals
- Added ZoomIn and ZoomOut icons
- Added style variants to Caution icon
- Update Jest major version
- Changed RosterHeader 'title' prop to all for elements as well as strings
- Changed senderName to optional in ChatBubble
- Moved children inside of a div in ChatBubble
- Changed
MeetingManager
to strictly enforceDevicePermissionStatus
type. - Update
realtimeUnsubscribeFromVolumeIndicator
interface to also accept a callback param. - Refactored NavBar to allow static width
- Refactored NavBarItem to use IconButton directly
- Change control bar theme opacity to 1
- [Chat Demo] Rename misspelled file names and imports
- Set amazon-chime-sdk-js in package.json dependencies
- Remove playwright tests, scripts, and dependency
- Removed content in ChatBubble
- Removed showName in ChatBubble
- Removed unused import statements from NavBar
- Fix meeting manager to handle
setSinkId
error
- Remove needless camera selection when joining meeting
- [Demo] Fix demo test speakers
- [Demo] Add Chat Demo app
- Allow arbitrary to be passed to RosterProvider
- Allow for simlucast configuration in MeetingProvider
- Updated button focus states to increase their accessibility
- [Documentation] Update README with solutions of common issues
- Fixed ModalBody component to allow custom classNames
- Fixed PopOver components to allow custom classNames
- Fixed small visual errors in chat componnets.
- Fixed broken snapshot tests for Badge component.
- Fixed slight spacing issue in ChatBubbleContainer.
- Fixed issue where checkmark in PopOverItem wouldn't change on hover/focus.
- Removed unused import in ChatBubble component.
- Fix InfiniteList to make it more flexible.
- Fix Popover Submenu being hidden.
- Added Lock and Pin icons
- Export Chat components and utilities
- Added Attachment, Dock, and Emoji picker icons
- Added HandRaise and ListHandRaise icons
- Added ConnectionProblem icon
- Added linkColors for incoming and outgoing chat in chatBubble
- Changed ChatBubbleContainer props to be more flexible.
- Changed Record icon
- Slight style changes to Modal and PopOver components.
- Changed Badge props to be more flexible.
- Changed PopOver component styling.
- Bumped chime-sdk-js version to 1.22.
- Added try/catch block to MeetingManager leave() function.
- [Demo] Changed handling audio binding asynchronously.
- Removed DateHeader component
- [Demo] Removed use of depricated methods.
- [Demo] Removed call MeetingManager.leave() on leave button click. (duplicate)
- Docs rename variable
rosterArray
from the attendees list toattendees
- Add base styles to ChannelList
- Fixed createChatBubbleList unit test that was incorrectly named and not running
- Fixed TS error inside /InfiniteList/index.tsx.
- Add
tabIndex
to BaseProps - Add
Like
,Dislike
,Feedback
icons - Add
isSelected
prop to NavBarItem - Add optional children to RosterHeader for custom element rendering
- Add optional
icon
property forRadio
andRadioGroup
to allow for rendering an icon instead of a label - Add Document icon and MessageAttachment components.
- Add stories and tests for all ChatBubble components.
- Add class to DateHeader component.
- Add Attachment icon
- Added passthrough for a react node in the subtitle of PopOverHeader
- Add
buttonProps
passthrough forRosterCell
andPopOverMenu
- Changed ChannelList props to accept and children instead of PopOverItem props.
- Added extra scroll functionality to the InfiniteList component when a new message is sent.
- Changed Message type to only include needed properties.
- Changed ChatBubble to composed components to support redact and edit.
- Changed RosterCell to support extra icons and menus when running late
- Changed ChatBubble component props for simplicity.
- Removed createChatBubbleList function.
- Removed exports and stories for unreleased chat components
- Fixed
useToggleLocalMute
not working when mounted before audioVideo initialized - Fixed missing
audioVideo
deps inuseLocalAudioInputActivityPreview
- Fixed
leadingIcon
alignment inSearchInput
- Rename icon (ContentShare > ScreenShare) to fix conflicting names
- Remove unused import in Select
- Temporarily removed ChannelList component snapshot test
- [Demo] Fixed so a user leaves a meeting when they press the back button in the browser or navigate back to home
- Add
useLocalAudioInputActivityPreview
hook for direct access to microphone input value - Add chat message component
- Add
isSelected
prop toControlBarButton
component - Add
UpAndDownCaret
icon component - Add channel list component for chat
- Add
children
prop for ControlBarItem to allow for custom PopOver content - Added styleMessageList function
- Added Chat DateHeader component
- Added formatDate utility function
- Adjust clear behavior and minor styling of inputs
- Changed RosterCell CSS to ensure vertical alignment of icons
- [DEMO] Upgrade
webpack-dev-server
to fixnode-forge
security vulnerability alert - Updated
Select
caret icon - Allow layout prop for VideoTileGrid
- Changed Message component to ChatBubble and moved InfiniteList to /Chat/MessageList
- Add PostLogger support to MeetingProvider
- Add
useBandwidthMetrics
hook, add bandwidth stats to demo - Add missing exported hooks to index.ts
- Add documentation for UserActivityProvider and RosterProvider
- [Demo] Default to nearest available region
- [Docs] Upgrade storybook to v6
- Update Device selector to use hooks instead of local state
- Fixed
css
prop not taking precedence over media queries - Fixed incorrect device permission status
- Fixed
useAttendeeStatus
returning incorrect video state for local user when mounting
- Add Github documentation link to README
- Add SDK log level selection ability to demo and library
- Added npm run build to the github actions publishing workflow
- Improve consistency and accuracy of docs for Hooks and Providers
- Fix
npm run build:release
running on windows OS - Update Storybook to 5.3
- Improve docs for SDK components
- Portrait video support, minor style fixes
- [Demo] Update demo dependencies
- Fixed reversed labels for mute/unmute control in
AudioInputControl
- Fixed
PreviewVideo
component when selecting new video input device - Fixed incorrect Storybook docs rendering
- Add NPM and CI Flow badge to README
- Move StyledSystem to peer dependencies
- Test script to run /Modal/index.test.tsx and /Button/PrimaryButton/index.test.tsx in playwright across 3 browsers
- Add Play, Pause and Sound disabled SVG icons
- Add initial roster components
- Add connected components to lib directory
- Add types required in
AudioOutputProvider
- Add sound disabled to
AudioOutputControl
- Add
LocalAudioOutputProvider
toMeetingView
- Add
ContentShareControlProvider
for content share control methods - Add
device-utils
needed in audio, video providers in library connected components - Add audio, video device types to types in library
- Add
useToggleLocalMute
to demo - Add
Modal
,ModalButtonGroup
to librarysrc/index
- Add code style checking script
- Add postbuild script
- RemoteVideos, RemoteVideo components
- CSS reset, public domain version
- Set up customized MDX documentation and add docs for Badge component
- Add patch version bump for each merge
- Add docs for Button component, re-organize docs
- Add docs for all Form components
- Add mic volume indicator component
- Add serverless setup for the meeting demo
- Add publish script.
- ActiveSpeaker, ActiveTile providers and hooks
- Add docs for PopOver component
- Add github action workflow that automates publishing to npm
- Add docs for Grid component
- Add docs for the Modal component
- Add docs for Heading and ControlBar components
- Add SDK components documentation
- Add docs for Flex component
- Add Navbar component
- Add github actions workflow check for changes to workflows with 'push' or 'pull_request' trigger types
- Add docs for MeetingProvider and hooks
- Add docs or Label and Portal components
- Add docs for Navbar, Roster and Notification components
- Add notification
Severity
,ActionType
enums to index exports - Add notification
NotificationType
,Action
interfaces to index exports - Add docs for
MeetingControls
- Add introduction documentation
- Add styles around
DeviceSelection
in demo - Add documentation around
DeviceSelection
anduseAudioInputActivityPreview
hook - Add docs for all icon components
- Added documentation for Modal component again, after being reverted
- Add RosterAttendee component, connected MicVolumeIndicator
- Add docs for Themes
- Add theme switcher to demo nav
- Add docs for local devices and meeting status providers
- Add docs for VideoGrid and VideoTile components
- Add
Grid
unit test. - Add a story to display all icons in one place for reference
- Add versioning tag to demo app
- Add third party dependency attributes to NOTICE file
- Add component to manage visibility of controlbar
- Add third party licence text
- Add InfiniteList container component
- Added delay for more consistent animation snapshotting with playwright.
npm run test
script changed to only include /components and /utils- Update prebuild script to trigger git actions on git push event
- Changed relative imports and
MeetingView
to accomodate imports of connected components from library - Updated the
ContentShareControl
with SDK components - Changed
ScreenShare
toContentShare
in library and demo - Update
AudioInputControl
to use hooks and SDK components - Updated end meeting control, meeting controls container in demo app with SDK components
- Changed
Modal
toModalButtonGroup
in ModalButtonGroup component - Changed
endMeeting
to callleaveMeeting
and avoid cleanups with both calls in demoMeetingManager
npm run build:release
will run code style check as part of the build.- Update
RosterHeader
for filtering - Import components relatively using alias
- Update demo app README
- Update
Modal
to SDK Modal component and minor change toCard
component in the demo - Updating demo with basic video grid
- Add enforcement of passing test coverage thresholds.
- Update codestyle script to ignore non-source files within
demo/meeting
app. - Moved components into /ui directory
- Change license from ISC to Apache-2.0
- Move provider, hooks and connected components from demo to library
- Add clear button to input component
- SIP Meeting implementation and related imports
- Update import in
useDevicePermissionStatus
hook - Renamed
MeetingControlsContainer
toMeetingControls
- Changed play, pause icons in
ContentShareControl
to popover actions - Changed IconButton props to accept dynamic width and height
- Changed test script so you can properly test one file
- Changed jest exclude config to exclude playwright tests
- Changed disabled microphone icon prop to muted
- Changed modal size properties to theme object
- Update grid to support active speaker
- Updated prebuild script to ignore CHANGELOG verification for BOT submitted PR's
- Added
npm run build:publish
script - Changed `prebuild:publish' to run npm install prior to running scripts to make sure all dependencies are available
- Update roster with mobile design
- [Desktop only] Integrate navbar, roster toggle in demo
- Take callback for fetching attendees. Take in meeting/attendee info for joining meeting
- Update Home view index file name
- Provide fallback message when no devices are found
- Rename
NotificationProvider
hooks - Update publish github action to deploy storybook documentation
- Remake
AudioActivityPreview
intouseLocalAudioInputActivityPreview
hook - Refactor styles from SDK Component
DeviceSelection
and move them to demo - Moved
ActivityBar
from library to demo, since it seemed more tightly related our demo - Updated package.json to state sdk as peer dependency
- Stop local video, if enabled, when selecting "none" as video input source
- Add volume indicator, stop local video when selecting none as video source
- Add redirection to home on page refresh in demo
- Changed
NotificationGroup
minor styles - Updated VideoTileGrid to take in prop for fallback view. Updated demo meeting view with meeting info
- Use route HOME constant as BASE_URL to replace runtime BASE_URL generation
- Make Microphone red when connection is poor. Adjust MicActivity %s
- Updated Portal storybook documentation to only show documentation without visual documentation
- Change className to include
ch-
prefix for all UI components - Change
data-testid
in some components to maintain consistency - Use MeetingManager to maintain active speakers
- Change storybook layouts so that there's a more consistent look
- Add
useMeetingStatus
hook - Renamed
MeetingManager
subscriptions for consistency - Improve Storybook documentaions according to the guidance of technical writing
- NOTICE includes correct copyright text
- LICENSE includes full Apache license
- Update typescript build tree to exclude test-helper and demo's folder from library build process
- Changed hard coded labels in components to take labels in prop and updated related docs
- Updated
ContentTile
static color to refer theme color
- Removed active state button tests.
- 'styled-reset' package due to license incompatibility
- Reverted
Add docs for the Modal component
commit to fix CSSProperties compatibility error - Removed
MeetingStatusProvider
- Removed minor version bumping for each merge.
- Fixed prebuild for PR and Push
- Fix react state update errors for
MeetingStatusProvider
,MeetingRoster
andMeetingJoinDetails
- Fix roster showing stale attendees
AudioActivityPreview
to show mic progress track on audio input device change- Fixed release execution bug
- Fixed bug in verdaccio clean up
- Fix demo application not allowing to select video / audio via popover
- Fixed some demo layout issues
- Fixed issue in demo when reselecting a device in the control bar
- Fix roster not including attendees when rejoining meeting
- Fix mobile portrait local video being too large
- Fix content share not resetting when leaving a meeting
- Fix demo form, add display names back to form components
- Fix race condition where content share would stop but grey bg would persist
- Fix end meeting
- Fix video grid, input bugs on iOS
- Fix microphone poorConnection SVG warning in devtools
- Fix search input snapshot tests for new layout