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

Multi audio #299

Merged
merged 1 commit into from Aug 30, 2017
Merged

Multi audio #299

merged 1 commit into from Aug 30, 2017

Conversation

bhh1988
Copy link
Contributor

@bhh1988 bhh1988 commented Aug 11, 2017

New: Support multiple audio tracks

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).

this.player.selectVariantTrack(newTrack, true);
} else {
// This should never happen...
console.log(`Could not find a track with videoId=${videoId}!`);
Copy link
Contributor Author

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...

Copy link
Contributor

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

Copy link
Contributor Author

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;
Copy link
Contributor Author

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.

Copy link
Contributor

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?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-1's probably fine.

Copy link
Contributor

@jeremypress jeremypress left a 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.

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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Magic Numbers

Copy link
Contributor Author

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);
Copy link
Contributor

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?

Copy link
Contributor Author

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?

@bhh1988 bhh1988 force-pushed the multi_audio branch 3 times, most recently from 23e82c3 to b89671e Compare August 15, 2017 23:05
@@ -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';
Copy link
Contributor

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do

@@ -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';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above.

@@ -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;
Copy link
Contributor

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

Copy link
Contributor Author

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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-1's probably fine.

*
* @private
* @param {number} videoId - the id of the video used in the variant (provided by Shaka)
Copy link
Contributor

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

Copy link
Contributor Author

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);
Copy link
Contributor

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?

Copy link
Contributor Author

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.

const audioIds = [];
const uniqueAudioVariants = [];
let i = 0;
for (i = 0; i < variants.length; i++) {
Copy link
Contributor

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) {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

this.videoWidth = hdRep.width;
this.videoHeight = hdRep.height;
this.hdVideoId = hdRep.videoId;
this.sdVideoId = sdRep.videoId;
Copy link
Contributor

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;
}

Copy link
Contributor Author

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

@bhh1988 bhh1988 force-pushed the multi_audio branch 2 times, most recently from e0e4227 to 3f06360 Compare August 30, 2017 20:47
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).
@bhh1988 bhh1988 merged commit 70f5b81 into box:master Aug 30, 2017
JustinHoldstock pushed a commit to JustinHoldstock/box-content-preview that referenced this pull request Jan 22, 2019
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)
pramodsum added a commit to pramodsum/box-content-preview that referenced this pull request Jan 25, 2019
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants