-
Notifications
You must be signed in to change notification settings - Fork 116
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
Multi audio #299
Multi audio #299
Conversation
bhh1988
commented
Aug 11, 2017
src/lib/viewers/media/DashViewer.js
Outdated
this.player.selectVariantTrack(newTrack, true); | ||
} else { | ||
// This should never happen... | ||
console.log(`Could not find a track with videoId=${videoId}!`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if I'm allowed to do this? I feel like we should log something though...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you consider this to be an error feel free to use console.error
. I would probably remove that comment though
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
this.hdRepresentation = {}; | ||
this.sdRepresentation = {}; | ||
this.hdVideoId = -1; | ||
this.sdVideoId = -1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not so sure if this is ok to do - using -1 as sentinel value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We would normally do null
or just initialize it as undefined
but if -1 makes more sense since these are numeric IDs I'm ok with that. What are other peoples thoughts on this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-1's probably fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGMT assuming its not tied to the shaka player update.
src/lib/viewers/media/DashViewer.js
Outdated
const sdRep = tracks.reduce((a, b) => (a.width < b.width ? a : b)); | ||
if (sdRep.videoId === null) { | ||
// There is only audio, no video | ||
this.videoWidth = 854; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Magic Numbers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Defined as constants at top
* @return {void} | ||
*/ | ||
initAlternateAudio(audioLanguages) { | ||
this.settings.addListener('audiotracks', this.handleAudioTrack); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this emitted by shakaplayer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. Settings menu emits this whenever you choose an option. Shaka player doesn't seem to emit events when you manually choose a track. Why?
23e82c3
to
b89671e
Compare
build/karma.conf.js
Outdated
@@ -2,7 +2,7 @@ | |||
const webpackConfig = require('./webpack.karma.config'); | |||
|
|||
const DOC_STATIC_ASSETS_VERSION = '0.130.0'; | |||
const MEDIA_STATIC_ASSETS_VERSION = '0.127.0'; | |||
const MEDIA_STATIC_ASSETS_VERSION = '1.5.1'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When you do manage to merge this in after Shaka 2.2, please make sure to update this to the latest version at that point. Right now, it's 1.6.2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do
src/lib/constants.js
Outdated
@@ -80,7 +80,7 @@ export const X_REP_HINT_VIDEO_MP4 = '[mp4]'; | |||
// These should be updated to match the Preview version in package.json | |||
// whenever a file in that third party directory is updated | |||
export const DOC_STATIC_ASSETS_VERSION = '0.130.0'; | |||
export const MEDIA_STATIC_ASSETS_VERSION = '0.127.0'; | |||
export const MEDIA_STATIC_ASSETS_VERSION = '1.5.1'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
src/lib/viewers/media/DashViewer.js
Outdated
@@ -12,6 +12,8 @@ const CSS_CLASS_HD = 'bp-media-controls-is-hd'; | |||
const SEGMENT_SIZE = 5; | |||
const MAX_BUFFER = SEGMENT_SIZE * 12; // 60 sec | |||
const MANIFEST = 'manifest.mpd'; | |||
const DEFAULT_VIDEO_WIDTH = 854; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like appending the unit, e.g. DEFAULT_VIDEO_WIDTH_PX
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
this.hdRepresentation = {}; | ||
this.sdRepresentation = {}; | ||
this.hdVideoId = -1; | ||
this.sdVideoId = -1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-1's probably fine.
src/lib/viewers/media/DashViewer.js
Outdated
* | ||
* @private | ||
* @param {number} videoId - the id of the video used in the variant (provided by Shaka) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Capitalize The
in The id of the video
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
* @return {void} | ||
*/ | ||
handleAudioTrack() { | ||
const audioIdx = parseInt(this.cache.get('media-audiotracks'), 10); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a situation where the cache could be empty for media-audiotracks
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should be no such situation, because handleAudioTrack() is only ever called after selection in Settings.js, which sets the cache as the only means of communicating to this file what audio track should be switched to.
src/lib/viewers/media/DashViewer.js
Outdated
const audioIds = []; | ||
const uniqueAudioVariants = []; | ||
let i = 0; | ||
for (i = 0; i < variants.length; i++) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please space out your code more. I'd suggest a line break before let i = 0;
, this.audioTracks =
, and if (this.audioTracks.length > 1) {
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
src/lib/viewers/media/DashViewer.js
Outdated
this.videoWidth = hdRep.width; | ||
this.videoHeight = hdRep.height; | ||
this.hdVideoId = hdRep.videoId; | ||
this.sdVideoId = sdRep.videoId; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be simplified:
if (sdRep.videoId === null) {
// There is only audio, no video
this.videoWidth = DEFAULT_VIDEO_WIDTH;
this.videoHeight = DEFAULT_VIDEO_HEIGHT;
} else {
this.videoWidth = hdRep.width;
this.videoHeight = hdRep.height;
this.hdVideoId = hdRep.videoId !== sdRep.videoId ? hdRep.videoId : undefined;
this.sdVideoId = sdRep.videoId;
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Also shaka 2.2.0 has an isAudioOnly() method, which I can call now instead of checking sdRep.videoId === null
e0e4227
to
3f06360
Compare
This commit adds support for selection of different audio tracks when available in the manifest. It selects based on a combination of the language and "role" of the audio track. This combination should be unique in order to unambiguously select audio tracks - roles are made unique by the backend, as audio0, audio1, etc. One thing to be careful of in all this is how this interacts with selecting HD/SD video. Previous implementation would cache the HD/SD variant to switch to. Now, there are multiple HD variants and multiple SD variants, because the HD stream could have different audio. Thus this required some refactoring of how we pick the HD/SD streams, so that we maintain the same audio stream while changing video quality. In the process, I've also fixed a bug in how we size the video for audio-only representations (before, the size would end up being so small that the play button icon would leak into the controls).
https://github.com/box/box-annotations/releases/tag/v3.7.0 ## 3.7.0 (2019-01-22) * Fix: Creation of highlights on Edge/IE11/Firefox browsers (box#322) ([3d9ee7f](box/box-annotations@3d9ee7f)), closes [box#322](box/box-annotations#322) * Docs: Update badges (box#324) ([daf18a7](box/box-annotations@daf18a7)), closes [box#324](box/box-annotations#324) ## 3.6.0 (2019-01-15) * Fix: Don't display @mention selector in ACF (box#323) ([a474251](box/box-annotations@a474251)), closes [box#323](box/box-annotations#323) * Fix: Drawing threads now destroy their event handlers properly (box#317) ([ba3795d](box/box-annotations@ba3795d)), closes [box#317](box/box-annotations#317) * Fix: Functional tests (box#320) ([bba4a9c](box/box-annotations@bba4a9c)), closes [box#320](box/box-annotations#320) * Fix: Only unbind listeners from existing DOM elements (box#321) ([6a71a9e](box/box-annotations@6a71a9e)), closes [box#321](box/box-annotations#321) * Update: Improve and simplify annotation button and icon styles (box#318) ([538fbd2](box/box-annotations@538fbd2)), closes [box#318](box/box-annotations#318) * Chore: Add webpack-dev-server and basic fixture for local dev (box#316) ([7e3c01b](box/box-annotations@7e3c01b)), closes [box#316](box/box-annotations#316) * Chore: Update doc and test fixtures to support IE11 (box#319) ([6f9d783](box/box-annotations@6f9d783)), closes [box#319](box/box-annotations#319) ## 3.5.0 (2018-12-13) * Fix: AnnotationPopover CSS to not hide popover svgs (box#304) ([83ca5b7](box/box-annotations@83ca5b7)), closes [box#304](box/box-annotations#304) * Fix: date appears incorrectly for point annotations in IE11 (box#312) ([bcd6ae5](box/box-annotations@bcd6ae5)), closes [box#312](box/box-annotations#312) * Fix: Don't render until AFTER all are fetched (box#311) ([0e3fbff](box/box-annotations@0e3fbff)), closes [box#311](box/box-annotations#311) * Fix: Ensure dialog is still visible on undo/redo (box#302) ([1c8a7e2](box/box-annotations@1c8a7e2)), closes [box#302](box/box-annotations#302) * Fix: Ensure thread number is persisted for annotation replies (box#307) ([734fc6c](box/box-annotations@734fc6c)), closes [box#307](box/box-annotations#307) * Fix: Functional tests to work with React components (box#303) ([4f0418e](box/box-annotations@4f0418e)), closes [box#303](box/box-annotations#303) * Fix: Get mode button from header element rather than container (box#308) ([b50d72b](box/box-annotations@b50d72b)), closes [box#308](box/box-annotations#308) * Fix: Point image annotations popover should be on annotated element (box#305) ([6d71dee](box/box-annotations@6d71dee)), closes [box#305](box/box-annotations#305) * Fix: Reset current annotation thread immediately on save (box#313) ([19c89cc](box/box-annotations@19c89cc)), closes [box#313](box/box-annotations#313) * Fix: Reset undo/redo buttons on drawing save/delete (box#306) ([441f0f2](box/box-annotations@441f0f2)), closes [box#306](box/box-annotations#306) * Fix: Show comment list scrollbars only on overflow (box#314) ([83c143e](box/box-annotations@83c143e)), closes [box#314](box/box-annotations#314) * Chore: Remove NSP from build (defunct) (box#315) ([720802f](box/box-annotations@720802f)), closes [box#315](box/box-annotations#315) * Chore: Update test page for annotations 3.4 (box#301) ([71afd21](box/box-annotations@71afd21)), closes [box#301](box/box-annotations#301) * Update: CSS className constants for react classNames (box#299) ([b472a2e](box/box-annotations@b472a2e)), closes [box#299](box/box-annotations#299) ## 3.4.0 (2018-11-28) * Fix: Dialog not showing when creating points (box#295) ([c0ee86f](box/box-annotations@c0ee86f)), closes [box#295](box/box-annotations#295) * Fix: Don't clear selection if selecting outside of annotated element (box#298) ([5e277a0](box/box-annotations@5e277a0)), closes [box#298](box/box-annotations#298) * Fix: Fix test site for IE 11 (box#300) ([359bda3](box/box-annotations@359bda3)), closes [box#300](box/box-annotations#300) * Fix: Positioning of undo/redo drawing buttons in header on mobile (box#296) ([873394f](box/box-annotations@873394f)), closes [box#296](box/box-annotations#296) * Chore: Add Annotations test page to be hosted by github pages (box#294) ([b91ade9](box/box-annotations@b91ade9)), closes [box#294](box/box-annotations#294) * Chore: Ignore js and json in i18n (box#297) ([e691bdc](box/box-annotations@e691bdc)), closes [box#297](box/box-annotations#297) ## 3.3.0 (2018-11-20) * Fix: Clear highlight selection on mousedown and hideAnnotations() (box#293) ([b60bc56](box/box-annotations@b60bc56)), closes [box#293](box/box-annotations#293) * Fix: Ensure deleteSuccessHandler destroys thread when necessary (box#289) ([e972a72](box/box-annotations@e972a72)), closes [box#289](box/box-annotations#289) * Fix: Ensure popover parent element is determined correctly (box#292) ([eab98ec](box/box-annotations@eab98ec)), closes [box#292](box/box-annotations#292) * Fix: Popover CSS issues (box#287) ([e64b3f8](box/box-annotations@e64b3f8)), closes [box#287](box/box-annotations#287) * Fix: Reset create highlight UI when mouse hasn't moved on mouseup (box#290) ([4abd611](box/box-annotations@4abd611)), closes [box#290](box/box-annotations#290) * Fix: Reset popover UI on re-render/scale events (box#284) ([43e5cb0](box/box-annotations@43e5cb0)), closes [box#284](box/box-annotations#284) * Fix: Unfocus textarea on comment post/cancel (box#286) ([448347c](box/box-annotations@448347c)), closes [box#286](box/box-annotations#286) * Fix: Unregister drawing on mode cancel (box#288) ([12d5f6d](box/box-annotations@12d5f6d)), closes [box#288](box/box-annotations#288) * Chore: Remove unecesary highlightThread.onMouseDown() (box#291) ([a01db9f](box/box-annotations@a01db9f)), closes [box#291](box/box-annotations#291) * Update: Husky scripts (box#285) ([eaff0f0](box/box-annotations@eaff0f0)), closes [box#285](box/box-annotations#285) * Mojito: Update translations (box#283) ([529bbc0](box/box-annotations@529bbc0)), closes [box#283](box/box-annotations#283) ## 3.2.0 (2018-11-13) * Mojito: Update translations (box#282) ([48d2f8f](box/box-annotations@48d2f8f)), closes [box#282](box/box-annotations#282) ## 3.1.0 (2018-11-07) * Fix: Alignment of createdAt timestamp and user's name (box#277) ([b4980fb](box/box-annotations@b4980fb)), closes [box#277](box/box-annotations#277) * Fix: Ensure drawings are only registered once with the controller (box#278) ([feedc87](box/box-annotations@feedc87)), closes [box#278](box/box-annotations#278) * Fix: Ensure onSelectionChange isn't triggered while creating highlights (box#281) ([3130210](box/box-annotations@3130210)), closes [box#281](box/box-annotations#281) * Fix: Remove clickHandler from DrawingModeController (box#280) ([0c7fe0f](box/box-annotations@0c7fe0f)), closes [box#280](box/box-annotations#280) * Fix: Remove focus trap on AnnotationPopover on mobile (box#279) ([a14fe6b](box/box-annotations@a14fe6b)), closes [box#279](box/box-annotations#279) * Chore: Fix publish script (box#275) ([25c40f7](box/box-annotations@25c40f7)), closes [box#275](box/box-annotations#275) * Chore: Upgrade husky (box#276) ([14bda8a](box/box-annotations@14bda8a)), closes [box#276](box/box-annotations#276) ## 3.0.0 (2018-10-31) * Chore: Adding rsync to yarn run watch (box#241) ([afe6ab6](box/box-annotations@afe6ab6)), closes [box#241](box/box-annotations#241) * Chore: Cleanup flow types (box#274) ([33adb47](box/box-annotations@33adb47)), closes [box#274](box/box-annotations#274) * Chore: Reduce redundant point creation via buffering (box#237) ([2bfc2f1](box/box-annotations@2bfc2f1)), closes [box#237](box/box-annotations#237) * Breaking: Migrate Annotations UI into React (box#251) ([d853b80](box/box-annotations@d853b80)), closes [box#251](box/box-annotations#251) ## 2.3.0 (2018-10-16) * Chore: Add supported excel types. Remove greenkeeper badge (box#227) ([8bd1bb9](box/box-annotations@8bd1bb9)), closes [box#227](box/box-annotations#227) * Chore: break text to fit into dialog (box#230) ([3a5cc86](box/box-annotations@3a5cc86)), closes [box#230](box/box-annotations#230) * Chore: Remove unused thread.mouseoutHandler() (box#206) ([1017082](box/box-annotations@1017082)), closes [box#206](box/box-annotations#206) * Chore: Replace Karma with Jest for testing framework (box#199) ([a847b01](box/box-annotations@a847b01)), closes [box#199](box/box-annotations#199) * Chore: Update preview version to 1.54.0 in functional tests (box#239) ([6de2cf4](box/box-annotations@6de2cf4)), closes [box#239](box/box-annotations#239) * Fix: Cursor type in annotation dialog (box#195) ([b568288](box/box-annotations@b568288)), closes [box#195](box/box-annotations#195) * Fix: Functional tests scripts ([2dfc22e](box/box-annotations@2dfc22e)) * Fix: travis.yml config (box#203) ([a71ecb6](box/box-annotations@a71ecb6)), closes [box#203](box/box-annotations#203) * Update: Annotations with header (box#233) ([91cdce3](box/box-annotations@91cdce3)), closes [box#233](box/box-annotations#233) * Update: box-react-ui to v25.6.0 (box#204) ([398b4c3](box/box-annotations@398b4c3)), closes [box#204](box/box-annotations#204) * Update: Filter multi-image functional tests separately from image tests ([b15a007](box/box-annotations@b15a007)) * Update: Test yaml changes ([bb58296](box/box-annotations@bb58296)) * Update: Webpack 4 + dependencies (box#208) ([b2ba5df](box/box-annotations@b2ba5df)), closes [box#208](box/box-annotations#208) * Update .travis.yml ([9c09e8e](box/box-annotations@9c09e8e)) * Update .travis.yml ([236c383](box/box-annotations@236c383)) * Update add-annotation-type.md ([fcceb3e](box/box-annotations@fcceb3e)) * Update add-annotation-type.md ([ca5c6f0](box/box-annotations@ca5c6f0)) * Update webpack.selenium.config.js ([e008f68](box/box-annotations@e008f68)) * New: Add functional tests for image files (box#197) ([7c7b39e](box/box-annotations@7c7b39e)), closes [box#197](box/box-annotations#197)
https://github.com/box/box-annotations/releases/tag/v3.7.1 ## 3.7.0 (2019-01-22) * Fix: Creation of highlights on Edge/IE11/Firefox browsers (box#322) ([3d9ee7f](box/box-annotations@3d9ee7f)), closes [box#322](box/box-annotations#322) * Docs: Update badges (box#324) ([daf18a7](box/box-annotations@daf18a7)), closes [box#324](box/box-annotations#324) ## 3.6.0 (2019-01-15) * Fix: Don't display @mention selector in ACF (box#323) ([a474251](box/box-annotations@a474251)), closes [box#323](box/box-annotations#323) * Fix: Drawing threads now destroy their event handlers properly (box#317) ([ba3795d](box/box-annotations@ba3795d)), closes [box#317](box/box-annotations#317) * Fix: Functional tests (box#320) ([bba4a9c](box/box-annotations@bba4a9c)), closes [box#320](box/box-annotations#320) * Fix: Only unbind listeners from existing DOM elements (box#321) ([6a71a9e](box/box-annotations@6a71a9e)), closes [box#321](box/box-annotations#321) * Update: Improve and simplify annotation button and icon styles (box#318) ([538fbd2](box/box-annotations@538fbd2)), closes [box#318](box/box-annotations#318) * Chore: Add webpack-dev-server and basic fixture for local dev (box#316) ([7e3c01b](box/box-annotations@7e3c01b)), closes [box#316](box/box-annotations#316) * Chore: Update doc and test fixtures to support IE11 (box#319) ([6f9d783](box/box-annotations@6f9d783)), closes [box#319](box/box-annotations#319) ## 3.5.0 (2018-12-13) * Fix: AnnotationPopover CSS to not hide popover svgs (box#304) ([83ca5b7](box/box-annotations@83ca5b7)), closes [box#304](box/box-annotations#304) * Fix: date appears incorrectly for point annotations in IE11 (box#312) ([bcd6ae5](box/box-annotations@bcd6ae5)), closes [box#312](box/box-annotations#312) * Fix: Don't render until AFTER all are fetched (box#311) ([0e3fbff](box/box-annotations@0e3fbff)), closes [box#311](box/box-annotations#311) * Fix: Ensure dialog is still visible on undo/redo (box#302) ([1c8a7e2](box/box-annotations@1c8a7e2)), closes [box#302](box/box-annotations#302) * Fix: Ensure thread number is persisted for annotation replies (box#307) ([734fc6c](box/box-annotations@734fc6c)), closes [box#307](box/box-annotations#307) * Fix: Functional tests to work with React components (box#303) ([4f0418e](box/box-annotations@4f0418e)), closes [box#303](box/box-annotations#303) * Fix: Get mode button from header element rather than container (box#308) ([b50d72b](box/box-annotations@b50d72b)), closes [box#308](box/box-annotations#308) * Fix: Point image annotations popover should be on annotated element (box#305) ([6d71dee](box/box-annotations@6d71dee)), closes [box#305](box/box-annotations#305) * Fix: Reset current annotation thread immediately on save (box#313) ([19c89cc](box/box-annotations@19c89cc)), closes [box#313](box/box-annotations#313) * Fix: Reset undo/redo buttons on drawing save/delete (box#306) ([441f0f2](box/box-annotations@441f0f2)), closes [box#306](box/box-annotations#306) * Fix: Show comment list scrollbars only on overflow (box#314) ([83c143e](box/box-annotations@83c143e)), closes [box#314](box/box-annotations#314) * Chore: Remove NSP from build (defunct) (box#315) ([720802f](box/box-annotations@720802f)), closes [box#315](box/box-annotations#315) * Chore: Update test page for annotations 3.4 (box#301) ([71afd21](box/box-annotations@71afd21)), closes [box#301](box/box-annotations#301) * Update: CSS className constants for react classNames (box#299) ([b472a2e](box/box-annotations@b472a2e)), closes [box#299](box/box-annotations#299) ## 3.4.0 (2018-11-28) * Fix: Dialog not showing when creating points (box#295) ([c0ee86f](box/box-annotations@c0ee86f)), closes [box#295](box/box-annotations#295) * Fix: Don't clear selection if selecting outside of annotated element (box#298) ([5e277a0](box/box-annotations@5e277a0)), closes [box#298](box/box-annotations#298) * Fix: Fix test site for IE 11 (box#300) ([359bda3](box/box-annotations@359bda3)), closes [box#300](box/box-annotations#300) * Fix: Positioning of undo/redo drawing buttons in header on mobile (box#296) ([873394f](box/box-annotations@873394f)), closes [box#296](box/box-annotations#296) * Chore: Add Annotations test page to be hosted by github pages (box#294) ([b91ade9](box/box-annotations@b91ade9)), closes [box#294](box/box-annotations#294) * Chore: Ignore js and json in i18n (box#297) ([e691bdc](box/box-annotations@e691bdc)), closes [box#297](box/box-annotations#297) ## 3.3.0 (2018-11-20) * Fix: Clear highlight selection on mousedown and hideAnnotations() (box#293) ([b60bc56](box/box-annotations@b60bc56)), closes [box#293](box/box-annotations#293) * Fix: Ensure deleteSuccessHandler destroys thread when necessary (box#289) ([e972a72](box/box-annotations@e972a72)), closes [box#289](box/box-annotations#289) * Fix: Ensure popover parent element is determined correctly (box#292) ([eab98ec](box/box-annotations@eab98ec)), closes [box#292](box/box-annotations#292) * Fix: Popover CSS issues (box#287) ([e64b3f8](box/box-annotations@e64b3f8)), closes [box#287](box/box-annotations#287) * Fix: Reset create highlight UI when mouse hasn't moved on mouseup (box#290) ([4abd611](box/box-annotations@4abd611)), closes [box#290](box/box-annotations#290) * Fix: Reset popover UI on re-render/scale events (box#284) ([43e5cb0](box/box-annotations@43e5cb0)), closes [box#284](box/box-annotations#284) * Fix: Unfocus textarea on comment post/cancel (box#286) ([448347c](box/box-annotations@448347c)), closes [box#286](box/box-annotations#286) * Fix: Unregister drawing on mode cancel (box#288) ([12d5f6d](box/box-annotations@12d5f6d)), closes [box#288](box/box-annotations#288) * Chore: Remove unecesary highlightThread.onMouseDown() (box#291) ([a01db9f](box/box-annotations@a01db9f)), closes [box#291](box/box-annotations#291) * Update: Husky scripts (box#285) ([eaff0f0](box/box-annotations@eaff0f0)), closes [box#285](box/box-annotations#285) * Mojito: Update translations (box#283) ([529bbc0](box/box-annotations@529bbc0)), closes [box#283](box/box-annotations#283) ## 3.2.0 (2018-11-13) * Mojito: Update translations (box#282) ([48d2f8f](box/box-annotations@48d2f8f)), closes [box#282](box/box-annotations#282) ## 3.1.0 (2018-11-07) * Fix: Alignment of createdAt timestamp and user's name (box#277) ([b4980fb](box/box-annotations@b4980fb)), closes [box#277](box/box-annotations#277) * Fix: Ensure drawings are only registered once with the controller (box#278) ([feedc87](box/box-annotations@feedc87)), closes [box#278](box/box-annotations#278) * Fix: Ensure onSelectionChange isn't triggered while creating highlights (box#281) ([3130210](box/box-annotations@3130210)), closes [box#281](box/box-annotations#281) * Fix: Remove clickHandler from DrawingModeController (box#280) ([0c7fe0f](box/box-annotations@0c7fe0f)), closes [box#280](box/box-annotations#280) * Fix: Remove focus trap on AnnotationPopover on mobile (box#279) ([a14fe6b](box/box-annotations@a14fe6b)), closes [box#279](box/box-annotations#279) * Chore: Fix publish script (box#275) ([25c40f7](box/box-annotations@25c40f7)), closes [box#275](box/box-annotations#275) * Chore: Upgrade husky (box#276) ([14bda8a](box/box-annotations@14bda8a)), closes [box#276](box/box-annotations#276) ## 3.0.0 (2018-10-31) * Chore: Adding rsync to yarn run watch (box#241) ([afe6ab6](box/box-annotations@afe6ab6)), closes [box#241](box/box-annotations#241) * Chore: Cleanup flow types (box#274) ([33adb47](box/box-annotations@33adb47)), closes [box#274](box/box-annotations#274) * Chore: Reduce redundant point creation via buffering (box#237) ([2bfc2f1](box/box-annotations@2bfc2f1)), closes [box#237](box/box-annotations#237) * Breaking: Migrate Annotations UI into React (box#251) ([d853b80](box/box-annotations@d853b80)), closes [box#251](box/box-annotations#251) ## 2.3.0 (2018-10-16) * Chore: Add supported excel types. Remove greenkeeper badge (box#227) ([8bd1bb9](box/box-annotations@8bd1bb9)), closes [box#227](box/box-annotations#227) * Chore: break text to fit into dialog (box#230) ([3a5cc86](box/box-annotations@3a5cc86)), closes [box#230](box/box-annotations#230) * Chore: Remove unused thread.mouseoutHandler() (box#206) ([1017082](box/box-annotations@1017082)), closes [box#206](box/box-annotations#206) * Chore: Replace Karma with Jest for testing framework (box#199) ([a847b01](box/box-annotations@a847b01)), closes [box#199](box/box-annotations#199) * Chore: Update preview version to 1.54.0 in functional tests (box#239) ([6de2cf4](box/box-annotations@6de2cf4)), closes [box#239](box/box-annotations#239) * Fix: Cursor type in annotation dialog (box#195) ([b568288](box/box-annotations@b568288)), closes [box#195](box/box-annotations#195) * Fix: Functional tests scripts ([2dfc22e](box/box-annotations@2dfc22e)) * Fix: travis.yml config (box#203) ([a71ecb6](box/box-annotations@a71ecb6)), closes [box#203](box/box-annotations#203) * Update: Annotations with header (box#233) ([91cdce3](box/box-annotations@91cdce3)), closes [box#233](box/box-annotations#233) * Update: box-react-ui to v25.6.0 (box#204) ([398b4c3](box/box-annotations@398b4c3)), closes [box#204](box/box-annotations#204) * Update: Filter multi-image functional tests separately from image tests ([b15a007](box/box-annotations@b15a007)) * Update: Test yaml changes ([bb58296](box/box-annotations@bb58296)) * Update: Webpack 4 + dependencies (box#208) ([b2ba5df](box/box-annotations@b2ba5df)), closes [box#208](box/box-annotations#208) * Update .travis.yml ([9c09e8e](box/box-annotations@9c09e8e)) * Update .travis.yml ([236c383](box/box-annotations@236c383)) * Update add-annotation-type.md ([fcceb3e](box/box-annotations@fcceb3e)) * Update add-annotation-type.md ([ca5c6f0](box/box-annotations@ca5c6f0)) * Update webpack.selenium.config.js ([e008f68](box/box-annotations@e008f68)) * New: Add functional tests for image files (box#197) ([7c7b39e](box/box-annotations@7c7b39e)), closes [box#197](box/box-annotations#197)