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

Snackbar #99

Merged
merged 23 commits into from
Aug 6, 2018
Merged

Snackbar #99

merged 23 commits into from
Aug 6, 2018

Conversation

developit
Copy link
Collaborator

A custom element that exposes a showSnackbar() method and handles the message stacking business. Here's what it looks like:

snackbar

@jakearchibald jakearchibald requested review from surma and kosamari July 16, 2018 13:03
}

handleSnackBarRemoved () {
this._snackbars = this._snackbars.slice(1);
Copy link
Collaborator

Choose a reason for hiding this comment

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

shift()?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think I was relying on referential inequality before, nothing is now though.

}
}

export default class SnackBarElement extends HTMLElement {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Kinda wondering... why is this a Custom Element? Seems like it should mostly be a module with a showSnackbar() function?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah, as it stands it doesn't make sense as a custom element. It would make more sense if the snack bar items appeared within the custom element, but if that isn't useful a simple module/class could work.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'd originally had the CE provide a root. Do we think that might be useful? If so it would justify the CE.

}
}

customElements.define('snack-bar', SnackBarElement);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Our other custom elements are in a custom elements folder. Do the same for consistency?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, but I don't think it makes sense to nest the element dirs inside the component dirs since they're n:n

@@ -104,6 +105,8 @@ export default class App extends Component<Props, State> {
],
};

private snackbar?: SnackBarElement = undefined;
Copy link
Collaborator

Choose a reason for hiding this comment

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

You don't need the = undefined fwiw.

Copy link
Collaborator Author

@developit developit Jul 17, 2018

Choose a reason for hiding this comment

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

without it, typescript complains that the property is uninitialized. It has to be defined either here or in the constructor, and there's no useful value to set it to in the constructor. I could have sworn that's why I added it, but it works fine without. Removed.

this.setState({ images });
}

showError (error: Error | String) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are we providing this function with error objects anywhere? If not, we don't need to accept it.

Also, string rather than String.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I had thought so but I likely changed it after.

@@ -269,7 +276,7 @@ export default class App extends Component<Props, State> {
/>
))}
{anyLoading && <span style={{ position: 'fixed', top: 0, left: 0 }}>Loading...</span>}
{error && <span style={{ position: 'fixed', top: 0, left: 0 }}>Error: {error}</span>}
<snack-bar ref={(c) => { this.snackbar = c as SnackBarElement; }} />
Copy link
Collaborator

Choose a reason for hiding this comment

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

Didn't you create a helper for this?

Copy link
Collaborator Author

@developit developit Jul 17, 2018

Choose a reason for hiding this comment

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

separate PR. or I'm crazy, not sure. It's there, just switched to it.

}
}

export default class SnackBarElement extends HTMLElement {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah, as it stands it doesn't make sense as a custom element. It would make more sense if the snack bar items appeared within the custom element, but if that isn't useful a simple module/class could work.

}

class SnackBar {
on?: () => void;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should this be optional given it has a default value?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm not sure what the on? was from, that seemed like a typo. onhide is an optional hook, it is only invoked if it exists.

this.element.className = 'snackbar';
this.element.setAttribute('aria-live', 'assertive');
this.element.setAttribute('aria-atomic', 'true');
this.element.setAttribute('aria-hidden', 'true');
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think we need this, since the presence in the dom is controlling visibility.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It's used to control the animation.


if (options.actionText) {
this.button.className = 'snackbar--button';
this.button.textContent = options.actionText || '';
Copy link
Collaborator

Choose a reason for hiding this comment

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

options.actionText cannot be falsey at this point.

this.button.textContent = options.actionText || '';
this.button.addEventListener('click', (event) => {
if (options.actionHandler && options.actionHandler() === false) return;
this.hide();
Copy link
Collaborator

Choose a reason for hiding this comment

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

Since hide is async, it's possible to click this button multiple times. Do we want that?

Copy link
Collaborator Author

@developit developit Jul 17, 2018

Choose a reason for hiding this comment

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

There's a boolean _showing flag checked in hide() to prevent this. I've just added the same guard to actionHandler invocation though.

remove () {
this.cancelTimer();
this.parent.removeChild(this.element);
if (this.onhide) this.onhide();
Copy link
Collaborator

Choose a reason for hiding this comment

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

Seems like onhide is more like onremove.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

indeed, I'll fix the name

@developit
Copy link
Collaborator Author

Comments address except for the CE's naming - I'd suggest <snack-bar-manager>... or maybe SnackBar and Snack? I'm twisting that metaphor though..

Copy link
Collaborator

@jakearchibald jakearchibald left a comment

Choose a reason for hiding this comment

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

If we end up needing a name for the inner thing, I agree with "snack".

}

showError (error: string) {
if (!this.snackbar) return;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nit: Throw instead? This shouldn't happen, right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I guess it could happen if an error occurred prior to rendering, but it doesn't matter to me

}

interface SnackBarAttributes extends HTMLAttributes {
showSnackbar?: (options: SnackBarOptions) => void;
Copy link
Collaborator

Choose a reason for hiding this comment

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

This doesn't look like an attribute, or am I missing something?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

nah, these are JSX attributes. they're case-sensitive property names.

showSnackbar (options: SnackBarOptions) {
const snackbar = new SnackBar(options, this);
this._snackbars.push(snackbar);
this._processStack();
Copy link
Collaborator

Choose a reason for hiding this comment

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

It seems a bit indirect that the child manages the parent. Wouldn't it make more sense for the SnackBarElement to manage the adding/removing of its content?

In that case, the SnackBar class doesn't need any methods, it can just be a props-like object, and SnackBarElement would create elements for them as needed.

@surma second opinion?

@jakearchibald
Copy link
Collaborator

Also, what do you think about showSnackbar returning a promise that resolves with the action? It only ever happens once right, so it feels more like a promise than a callback.

@developit
Copy link
Collaborator Author

@jakearchibald Alright I took a crack at addressing those things. I didn't end up gutting Snack{}, but did remove the parent reference.

Copy link
Collaborator

@surma surma left a comment

Choose a reason for hiding this comment

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

One Q, otherwise LGTM

this._processStack();
}

private _processStack () {
Copy link
Collaborator

Choose a reason for hiding this comment

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

async?

Copy link
Collaborator Author

@developit developit Aug 6, 2018

Choose a reason for hiding this comment

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

  • indeed.

Copy link
Collaborator

Choose a reason for hiding this comment

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

+1

showSnackbar (options: SnackOptions) {
const snack = new Snack(options);
this._snackbars.push(snack);
this._processStack();
Copy link
Collaborator

Choose a reason for hiding this comment

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

Not 100% sure, but shouldn’t we make sure that the stack isn’t already being processed from a previous call to showSnackbar?

Copy link
Collaborator Author

@developit developit Aug 6, 2018

Choose a reason for hiding this comment

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

  • ah yup, good catch.

Copy link
Collaborator

@jakearchibald jakearchibald left a comment

Choose a reason for hiding this comment

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

It still seems really weird that each Snack is in change of changing the content of the SnackElement, and it'd be cleaner if SnackElement was in charge of its content, but I guess I could create a PR if it bothers me enough.

Address the couple of nits and we can merge.

}

interface SnackBarAttributes extends HTMLAttributes {
showSnackbar?: (options: SnackOptions) => void;
Copy link
Collaborator

Choose a reason for hiding this comment

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

This isn't an attribute, is it? I don't think it shows up on the JSX at all right?

this._processStack();
}

private _processStack () {
Copy link
Collaborator

Choose a reason for hiding this comment

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

+1

@jakearchibald jakearchibald merged commit c90db02 into master Aug 6, 2018
@jakearchibald jakearchibald deleted the snackbar branch August 6, 2018 13:32
alisaitbilgi pushed a commit to alisaitbilgi/squoosh that referenced this pull request Feb 19, 2019
* Initial swing

* Finish up <snack-bar> implementation and integrate it

* Add missing types

* Use shift() since we dont care about referential equality

* Use `_` for private fields

* Remove rogue handler

* Remove impossible fallback value

* Make `<snack-bar>` actually contain its children

* will-change for the button ripple

* Guard against mutliple button action clicks

* `onhide()` -> `onremove()`

* remove transitionend

* Replace inline ref callback with linkRef

* showError only accepts strings

* Remove undefined initialization

* Throw on error

* Add missing error type.

* `SnackBar` ▶️ `Snack`

* Avoid child retaining a reference to parent, make show() return a Promise.

* async/await and avoid processing the stack if it is already being processed

* Add a meaningful return value to showSnackbar()
alisaitbilgi added a commit to alisaitbilgi/squoosh that referenced this pull request Feb 25, 2019
# This is the 1st commit message:
Add position reset button and update zoom interaction. (GoogleChromeLabs#292) (GoogleChromeLabs#345)

# The commit message GoogleChromeLabs#2 will be skipped:

#	1.2.3

# The commit message GoogleChromeLabs#3 will be skipped:

#	Prevent both sides sharing a download URL. (GoogleChromeLabs#369)
#

# The commit message GoogleChromeLabs#4 will be skipped:

#	Add basic history handling (GoogleChromeLabs#288) (GoogleChromeLabs#309)
#
#	* Add basic history handling (GoogleChromeLabs#288)
#
#	* Move history management to Compress component
#
#	* Remove unused pathname property from history
#
#	* Rename history listener functions
#
#	* Use history.back instead of history.replace
#
#	* Support going forward in history. Persist last selected file in runtime
#
#	* Add netlify redirects file
#
#	* Use 301 status code for redirect
#
#	* Cleanup _redirects file
#
#	* Use 200 status code for redirects
#
#	* Simplify onPopState function
#
#	* Always redirect to 301 with url rewrite
#
#	* Remove redundant history function
#
#	* Remove file check on render. Call openEditor synchronously
#
#	* Use pushState only if user is on the initial screen. Mount history listener in constructor
#
#	* Simplify openEditor condition
#
#	* Update early return condition
#
#	* Rolling abstractions back into the main component

# The commit message GoogleChromeLabs#5 will be skipped:

#	1.3.0

# The commit message GoogleChromeLabs#6 will be skipped:

#	Add renovate.json

# The commit message GoogleChromeLabs#7 will be skipped:

#	Merge pull request GoogleChromeLabs#373 from GoogleChromeLabs/renovate/configure
#
#	Configure Renovate

# The commit message GoogleChromeLabs#8 will be skipped:

#	Pin dependencies

# The commit message GoogleChromeLabs#9 will be skipped:

#	Merge pull request GoogleChromeLabs#374 from GoogleChromeLabs/renovate/pin-dependencies
#
#	Pin dependencies

# The commit message GoogleChromeLabs#10 will be skipped:

#	Update dependency mini-css-extract-plugin to v0.5.0

# The commit message GoogleChromeLabs#11 will be skipped:

#	Merge pull request GoogleChromeLabs#380 from GoogleChromeLabs/renovate/mini-css-extract-plugin-0.x
#
#	Update dependency mini-css-extract-plugin to v0.5.0

# The commit message GoogleChromeLabs#12 will be skipped:

#	Update dependency @types/node to v10.12.14

# The commit message GoogleChromeLabs#13 will be skipped:

#	Merge pull request GoogleChromeLabs#376 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.14

# The commit message GoogleChromeLabs#14 will be skipped:

#	Update dependency @types/node to v10.12.15

# The commit message GoogleChromeLabs#15 will be skipped:

#	Merge pull request GoogleChromeLabs#384 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.15

# The commit message GoogleChromeLabs#16 will be skipped:

#	Update dependency comlink to v3.1.1

# The commit message GoogleChromeLabs#17 will be skipped:

#	Merge pull request GoogleChromeLabs#377 from GoogleChromeLabs/renovate/comlink-3.x
#
#	Update dependency comlink to v3.1.1

# The commit message GoogleChromeLabs#18 will be skipped:

#	Update dependency @types/webassembly-js-api to v0.0.2

# The commit message GoogleChromeLabs#19 will be skipped:

#	Merge pull request GoogleChromeLabs#375 from GoogleChromeLabs/renovate/webassembly-js-api-0.x
#
#	Update dependency @types/webassembly-js-api to v0.0.2

# The commit message GoogleChromeLabs#20 will be skipped:

#	Update dependency critters-webpack-plugin to v2.1.1

# The commit message GoogleChromeLabs#21 will be skipped:

#	Merge pull request GoogleChromeLabs#378 from GoogleChromeLabs/renovate/critters-webpack-plugin-2.x
#
#	Update dependency critters-webpack-plugin to v2.1.1

# The commit message GoogleChromeLabs#22 will be skipped:

#	Update dependency husky to v1.2.1

# The commit message GoogleChromeLabs#23 will be skipped:

#	Merge pull request GoogleChromeLabs#379 from GoogleChromeLabs/renovate/husky-1.x
#
#	Update dependency husky to v1.2.1

# The commit message GoogleChromeLabs#24 will be skipped:

#	Update dependency preact to v8.4.2

# The commit message GoogleChromeLabs#25 will be skipped:

#	Merge pull request GoogleChromeLabs#381 from GoogleChromeLabs/renovate/preact-8.x
#
#	Update dependency preact to v8.4.2

# The commit message GoogleChromeLabs#26 will be skipped:

#	Update dependency ts-loader to v5.3.1

# The commit message GoogleChromeLabs#27 will be skipped:

#	Merge pull request GoogleChromeLabs#382 from GoogleChromeLabs/renovate/ts-loader-5.x
#
#	Update dependency ts-loader to v5.3.1

# The commit message GoogleChromeLabs#28 will be skipped:

#	Update dependency tslint-config-airbnb to v5.11.1

# The commit message GoogleChromeLabs#29 will be skipped:

#	Merge pull request GoogleChromeLabs#383 from GoogleChromeLabs/renovate/tslint-config-airbnb-5.x
#
#	Update dependency tslint-config-airbnb to v5.11.1

# The commit message GoogleChromeLabs#30 will be skipped:

#	Update dependency webpack to v4.27.1

# The commit message GoogleChromeLabs#31 will be skipped:

#	Merge pull request GoogleChromeLabs#386 from GoogleChromeLabs/renovate/webpack-4.x
#
#	Update dependency webpack to v4.27.1

# The commit message GoogleChromeLabs#32 will be skipped:

#	Update dependency raw-loader to v1

# The commit message GoogleChromeLabs#33 will be skipped:

#	Merge pull request GoogleChromeLabs#388 from GoogleChromeLabs/renovate/raw-loader-1.x
#
#	Update dependency raw-loader to v1

# The commit message GoogleChromeLabs#34 will be skipped:

#	Update dependency worker-plugin to v3

# The commit message GoogleChromeLabs#35 will be skipped:

#	Merge pull request GoogleChromeLabs#390 from GoogleChromeLabs/renovate/worker-plugin-3.x
#
#	Update dependency worker-plugin to v3

# The commit message GoogleChromeLabs#36 will be skipped:

#	Fixing sharp & preprocess settings

# The commit message GoogleChromeLabs#37 will be skipped:

#	Using use_argb conditionally

# The commit message GoogleChromeLabs#38 will be skipped:

#	Merge pull request GoogleChromeLabs#393 from GoogleChromeLabs/webp-sharp-fix
#
#	Fixing sharp & preprocess settings. Fixes GoogleChromeLabs#392.

# The commit message GoogleChromeLabs#39 will be skipped:

#	Debouncing input. Fixes GoogleChromeLabs#277 (GoogleChromeLabs#394)
#
#	* Debouncing input
#
#	* Clarifying comment
#
#	* More comments and clarifications

# The commit message GoogleChromeLabs#40 will be skipped:

#	Update dependency typescript to v3.2.2

# The commit message GoogleChromeLabs#41 will be skipped:

#	Fix typings for TypeScript v3.2

# The commit message GoogleChromeLabs#42 will be skipped:

#	Merge pull request GoogleChromeLabs#385 from GoogleChromeLabs/renovate/typescript-3.x
#
#	Update dependency typescript to v3.2.2

# The commit message GoogleChromeLabs#43 will be skipped:

#	Preventing zoom in iOS Safari. (GoogleChromeLabs#395)
#

# The commit message GoogleChromeLabs#44 will be skipped:

#	Update README.md
#
#	closes GoogleChromeLabs#367
#	updating incorrect URL

# The commit message GoogleChromeLabs#45 will be skipped:

#	Merge pull request GoogleChromeLabs#396 from GoogleChromeLabs/kosamari-patch-2
#
#	Update README.md for OptiPNG

# The commit message GoogleChromeLabs#46 will be skipped:

#	1.3.1

# The commit message GoogleChromeLabs#47 will be skipped:

#	Update dependency tslint to v5.12.0

# The commit message GoogleChromeLabs#48 will be skipped:

#	Merge pull request GoogleChromeLabs#398 from GoogleChromeLabs/renovate/tslint-5.x
#
#	Update dependency tslint to v5.12.0

# The commit message GoogleChromeLabs#49 will be skipped:

#	Update dependency husky to v1.3.0

# The commit message GoogleChromeLabs#50 will be skipped:

#	Merge pull request GoogleChromeLabs#399 from GoogleChromeLabs/renovate/husky-1.x
#
#	Update dependency husky to v1.3.0

# The commit message GoogleChromeLabs#51 will be skipped:

#	Update dependency @types/node to v10.12.17

# The commit message GoogleChromeLabs#52 will be skipped:

#	Merge pull request GoogleChromeLabs#400 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.17

# The commit message GoogleChromeLabs#53 will be skipped:

#	Update dependency webpack to v4.28.0

# The commit message GoogleChromeLabs#54 will be skipped:

#	Merge pull request GoogleChromeLabs#402 from GoogleChromeLabs/renovate/webpack-4.x
#
#	Update dependency webpack to v4.28.0

# The commit message GoogleChromeLabs#55 will be skipped:

#	Update dependency @types/node to v10.12.18

# The commit message GoogleChromeLabs#56 will be skipped:

#	Merge pull request GoogleChromeLabs#403 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.18

# The commit message GoogleChromeLabs#57 will be skipped:

#	Update dependency file-loader to v3

# The commit message GoogleChromeLabs#58 will be skipped:

#	Merge pull request GoogleChromeLabs#404 from GoogleChromeLabs/renovate/file-loader-3.x
#
#	Update dependency file-loader to v3

# The commit message GoogleChromeLabs#59 will be skipped:

#	Update dependency ts-loader to v5.3.2

# The commit message GoogleChromeLabs#60 will be skipped:

#	Merge pull request GoogleChromeLabs#406 from GoogleChromeLabs/renovate/ts-loader-5.x
#
#	Update dependency ts-loader to v5.3.2

# The commit message GoogleChromeLabs#61 will be skipped:

#	Update dependency webpack-dev-server to v3.1.11

# The commit message GoogleChromeLabs#62 will be skipped:

#	Merge pull request GoogleChromeLabs#407 from GoogleChromeLabs/renovate/webpack-dev-server-3.x
#
#	Update dependency webpack-dev-server to v3.1.11

# The commit message GoogleChromeLabs#63 will be skipped:

#	Update dependency webpack-dev-server to v3.1.12

# The commit message GoogleChromeLabs#64 will be skipped:

#	Merge pull request GoogleChromeLabs#408 from GoogleChromeLabs/renovate/webpack-dev-server-3.x
#
#	Update dependency webpack-dev-server to v3.1.12

# The commit message GoogleChromeLabs#65 will be skipped:

#	Update dependency terser-webpack-plugin to v1.2.0

# The commit message GoogleChromeLabs#66 will be skipped:

#	Merge pull request GoogleChromeLabs#409 from GoogleChromeLabs/renovate/terser-webpack-plugin-1.x
#
#	Update dependency terser-webpack-plugin to v1.2.0

# The commit message GoogleChromeLabs#67 will be skipped:

#	Update dependency webpack-dev-server to v3.1.13

# The commit message GoogleChromeLabs#68 will be skipped:

#	Merge pull request GoogleChromeLabs#410 from GoogleChromeLabs/renovate/webpack-dev-server-3.x
#
#	Update dependency webpack-dev-server to v3.1.13

# The commit message GoogleChromeLabs#69 will be skipped:

#	Update dependency webpack-dev-server to v3.1.14

# The commit message GoogleChromeLabs#70 will be skipped:

#	Merge pull request GoogleChromeLabs#411 from GoogleChromeLabs/renovate/webpack-dev-server-3.x
#
#	Update dependency webpack-dev-server to v3.1.14

# The commit message GoogleChromeLabs#71 will be skipped:

#	Update dependency loader-utils to v1.2.0

# The commit message GoogleChromeLabs#72 will be skipped:

#	Merge pull request GoogleChromeLabs#412 from GoogleChromeLabs/renovate/loader-utils-1.x
#
#	Update dependency loader-utils to v1.2.0

# The commit message GoogleChromeLabs#73 will be skipped:

#	Update dependency terser-webpack-plugin to v1.2.1

# The commit message GoogleChromeLabs#74 will be skipped:

#	Merge pull request GoogleChromeLabs#414 from GoogleChromeLabs/renovate/terser-webpack-plugin-1.x
#
#	Update dependency terser-webpack-plugin to v1.2.1

# The commit message GoogleChromeLabs#75 will be skipped:

#	Update dependency husky to v1.3.1

# The commit message GoogleChromeLabs#76 will be skipped:

#	Merge pull request GoogleChromeLabs#418 from GoogleChromeLabs/renovate/husky-1.x
#
#	Update dependency husky to v1.3.1

# The commit message GoogleChromeLabs#77 will be skipped:

#	Update dependency webpack-cli to v3.2.0

# The commit message GoogleChromeLabs#78 will be skipped:

#	Merge pull request GoogleChromeLabs#421 from GoogleChromeLabs/renovate/webpack-cli-3.x
#
#	Update dependency webpack-cli to v3.2.0

# The commit message GoogleChromeLabs#79 will be skipped:

#	Update dependency @webpack-cli/serve to v0.1.3

# The commit message GoogleChromeLabs#80 will be skipped:

#	Merge pull request GoogleChromeLabs#420 from GoogleChromeLabs/renovate/webpack-cli-serve-0.x
#
#	Update dependency @webpack-cli/serve to v0.1.3

# The commit message GoogleChromeLabs#81 will be skipped:

#	Update dependency critters-webpack-plugin to v2.1.2

# The commit message GoogleChromeLabs#82 will be skipped:

#	Merge pull request GoogleChromeLabs#415 from GoogleChromeLabs/renovate/critters-webpack-plugin-2.x
#
#	Update dependency critters-webpack-plugin to v2.1.2

# The commit message GoogleChromeLabs#83 will be skipped:

#	Update dependency ts-loader to v5.3.3

# The commit message GoogleChromeLabs#84 will be skipped:

#	Merge pull request GoogleChromeLabs#423 from GoogleChromeLabs/renovate/ts-loader-5.x
#
#	Update dependency ts-loader to v5.3.3

# The commit message GoogleChromeLabs#85 will be skipped:

#	Update dependency critters-webpack-plugin to v2.1.3

# The commit message GoogleChromeLabs#86 will be skipped:

#	Merge pull request GoogleChromeLabs#422 from GoogleChromeLabs/renovate/critters-webpack-plugin-2.x
#
#	Update dependency critters-webpack-plugin to v2.1.3

# The commit message GoogleChromeLabs#87 will be skipped:

#	Update dependency webpack-cli to v3.2.1

# The commit message GoogleChromeLabs#88 will be skipped:

#	Merge pull request GoogleChromeLabs#424 from GoogleChromeLabs/renovate/webpack-cli-3.x
#
#	Update dependency webpack-cli to v3.2.1

# The commit message GoogleChromeLabs#89 will be skipped:

#	Update dependency tslint to v5.12.1

# The commit message GoogleChromeLabs#90 will be skipped:

#	Merge pull request GoogleChromeLabs#427 from GoogleChromeLabs/renovate/tslint-5.x
#
#	Update dependency tslint to v5.12.1

# The commit message GoogleChromeLabs#91 will be skipped:

#	Update dependency typescript to v3.2.4

# The commit message GoogleChromeLabs#92 will be skipped:

#	Merge pull request GoogleChromeLabs#431 from GoogleChromeLabs/renovate/typescript-3.x
#
#	Update dependency typescript to v3.2.4

# The commit message GoogleChromeLabs#93 will be skipped:

#	Update dependency critters-webpack-plugin to v2.2.0

# The commit message GoogleChromeLabs#94 will be skipped:

#	Merge pull request GoogleChromeLabs#432 from GoogleChromeLabs/renovate/critters-webpack-plugin-2.x
#
#	Update dependency critters-webpack-plugin to v2.2.0

# The commit message GoogleChromeLabs#95 will be skipped:

#	Update dependency clean-webpack-plugin to v1.0.1

# The commit message GoogleChromeLabs#96 will be skipped:

#	Merge pull request GoogleChromeLabs#434 from GoogleChromeLabs/renovate/clean-webpack-plugin-1.x
#
#	Update dependency clean-webpack-plugin to v1.0.1

# The commit message GoogleChromeLabs#97 will be skipped:

#	Update dependency progress-bar-webpack-plugin to v1.12.0

# The commit message GoogleChromeLabs#98 will be skipped:

#	Merge pull request GoogleChromeLabs#435 from GoogleChromeLabs/renovate/progress-bar-webpack-plugin-1.x
#
#	Update dependency progress-bar-webpack-plugin to v1.12.0

# The commit message GoogleChromeLabs#99 will be skipped:

#	Add rotate user timing

# The commit message GoogleChromeLabs#100 will be skipped:

#	Use Uint32Array to copy an entire pixel per op

# The commit message GoogleChromeLabs#101 will be skipped:

#	Revert "Add rotate user timing"
#
#	This reverts commit 887db67.

# The commit message GoogleChromeLabs#102 will be skipped:

#	Remove unused bpp

# The commit message GoogleChromeLabs#103 will be skipped:

#	Merge pull request GoogleChromeLabs#436 from GoogleChromeLabs/optimize-rotate
#
#	Optimize rotate

# The commit message GoogleChromeLabs#104 will be skipped:

#	Update dependency @types/node to v10.12.19

# The commit message GoogleChromeLabs#105 will be skipped:

#	Merge pull request GoogleChromeLabs#441 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.19

# The commit message GoogleChromeLabs#106 will be skipped:

#	Update dependency progress-bar-webpack-plugin to v1.12.1

# The commit message GoogleChromeLabs#107 will be skipped:

#	Merge pull request GoogleChromeLabs#442 from GoogleChromeLabs/renovate/progress-bar-webpack-plugin-1.x
#
#	Update dependency progress-bar-webpack-plugin to v1.12.1

# The commit message GoogleChromeLabs#108 will be skipped:

#	Update dependency @types/node to v10.12.20

# The commit message GoogleChromeLabs#109 will be skipped:

#	Merge pull request GoogleChromeLabs#443 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.20

# The commit message GoogleChromeLabs#110 will be skipped:

#	Update dependency @types/node to v10.12.21

# The commit message GoogleChromeLabs#111 will be skipped:

#	Merge pull request GoogleChromeLabs#445 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.21

# The commit message GoogleChromeLabs#112 will be skipped:

#	This fixes GoogleChromeLabs#446 and sometimes it's best not to ask too many questions. (GoogleChromeLabs#447)
#

# The commit message GoogleChromeLabs#113 will be skipped:

#	Update dependency terser-webpack-plugin to v1.2.2

# The commit message GoogleChromeLabs#114 will be skipped:

#	Merge pull request GoogleChromeLabs#448 from GoogleChromeLabs/renovate/terser-webpack-plugin-1.x
#
#	Update dependency terser-webpack-plugin to v1.2.2

# The commit message GoogleChromeLabs#115 will be skipped:

#	# This is a combination of 20 commits.
#	# This is the 1st commit message:
#	Merge from upstream/master branch
#
#	# This is the commit message GoogleChromeLabs#2:
#
#	Update zoom and positioning behaviours
#
#	# This is the commit message GoogleChromeLabs#3:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#4:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#5:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#6:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#7:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#8:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#9:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#10:
#
#	Merge branch 'master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#11:
#
#	Merge from remote branch
#
#	# This is the commit message GoogleChromeLabs#12:
#
#	Merge from upstream/master
#
#	# This is the commit message GoogleChromeLabs#13:
#
#	Lazy-load the intersection-observer polyfill and optionally control wheel event
#
#	# This is the commit message GoogleChromeLabs#14:
#
#	Fix threshold handling issue
#
#	# This is the commit message GoogleChromeLabs#15:
#
#	merge remote-tracking branch 'upstream/master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#16:
#
#	merge remote-tracking branch 'upstream/master' into update-zoom-interaction
#
#	# This is the commit message GoogleChromeLabs#17:
#
#	Update double click listener and position reset behaviour
#
#	# This is the commit message GoogleChromeLabs#18:
#
#	Change back the indentations
#
#	# This is the commit message GoogleChromeLabs#19:
#
#	Update double click listener and position reset behaviour
#
#	# This is the commit message GoogleChromeLabs#20:
#
#	Change back the indentations

# The commit message GoogleChromeLabs#116 will be skipped:

#	Merge from upstream/master branch

# The commit message GoogleChromeLabs#117 will be skipped:

#	Update zoom and positioning behaviours

# The commit message GoogleChromeLabs#118 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#119 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#120 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#121 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#122 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#123 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#124 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#125 will be skipped:

#	Merge branch 'master' into update-zoom-interaction

# The commit message GoogleChromeLabs#126 will be skipped:

#	Merge from remote branch

# The commit message GoogleChromeLabs#127 will be skipped:

#	Update dependency webpack-cli to v3.2.3

# The commit message GoogleChromeLabs#128 will be skipped:

#	Merge pull request GoogleChromeLabs#449 from GoogleChromeLabs/renovate/webpack-cli-3.x
#
#	Update dependency webpack-cli to v3.2.3

# The commit message GoogleChromeLabs#129 will be skipped:

#	Update libwebp to 1.0.2 (GoogleChromeLabs#439)
#
#	* Update package.json
#
#	* Update package.json
#
#	* Update README.md
#
#	* Update README.md
#
#	* Use cmake for libwebp
#
#	* Minimize libwebp

# The commit message GoogleChromeLabs#130 will be skipped:

#	Update dependency chokidar to v2.1.0

# The commit message GoogleChromeLabs#131 will be skipped:

#	Merge pull request GoogleChromeLabs#451 from GoogleChromeLabs/renovate/chokidar-2.x
#
#	Update dependency chokidar to v2.1.0

# The commit message GoogleChromeLabs#132 will be skipped:

#	Update dependency loader-utils to v1.2.3

# The commit message GoogleChromeLabs#133 will be skipped:

#	Merge pull request GoogleChromeLabs#413 from GoogleChromeLabs/renovate/loader-utils-1.x
#
#	Update dependency loader-utils to v1.2.3

# The commit message GoogleChromeLabs#134 will be skipped:

#	Update dependency @types/node to v10.12.23

# The commit message GoogleChromeLabs#135 will be skipped:

#	Merge pull request GoogleChromeLabs#453 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.23

# The commit message GoogleChromeLabs#136 will be skipped:

#	Merge from upstream/master

# The commit message GoogleChromeLabs#137 will be skipped:

#	Lazy-load the intersection-observer polyfill and optionally control wheel event

# The commit message GoogleChromeLabs#138 will be skipped:

#	Fix threshold handling issue

# The commit message GoogleChromeLabs#139 will be skipped:

#	Adding CI step to compare build size to previous master build. (GoogleChromeLabs#450)
#

# The commit message GoogleChromeLabs#140 will be skipped:

#	no one must know I did this, or that it got through review.

# The commit message GoogleChromeLabs#141 will be skipped:

#	Pin dependencies (GoogleChromeLabs#456)
#

# The commit message GoogleChromeLabs#142 will be skipped:

#	Switching to 1.4x rather than 140%

# The commit message GoogleChromeLabs#143 will be skipped:

#	Rotate implementation in Rust

# The commit message GoogleChromeLabs#144 will be skipped:

#	Reuse rotate instance and calculate pages correctly

# The commit message GoogleChromeLabs#145 will be skipped:

#	Update wasm build

# The commit message GoogleChromeLabs#146 will be skipped:

#	Merge pull request GoogleChromeLabs#438 from GoogleChromeLabs/rust-rotate
#
#	Rotate implementation in Rust

# The commit message GoogleChromeLabs#147 will be skipped:

#	Fix buffer size/offset calculations in rotate/processor.ts

# The commit message GoogleChromeLabs#148 will be skipped:

#	Merge pull request GoogleChromeLabs#458 from jviide/rust-rotate
#
#	Fix buffer offset/size calculations in rotate/processor.ts

# The commit message GoogleChromeLabs#149 will be skipped:

#	1.3.2

# The commit message GoogleChromeLabs#150 will be skipped:

#	Update dependency webpack-bundle-analyzer to v3.0.4

# The commit message GoogleChromeLabs#151 will be skipped:

#	Merge pull request GoogleChromeLabs#459 from GoogleChromeLabs/renovate/webpack-bundle-analyzer-3.x
#
#	Update dependency webpack-bundle-analyzer to v3.0.4

# The commit message GoogleChromeLabs#152 will be skipped:

#	Update dependency @types/node to v10.12.25

# The commit message GoogleChromeLabs#153 will be skipped:

#	Merge pull request GoogleChromeLabs#455 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.25

# The commit message GoogleChromeLabs#154 will be skipped:

#	Update dependency chokidar to v2.1.1

# The commit message GoogleChromeLabs#155 will be skipped:

#	Merge pull request GoogleChromeLabs#457 from GoogleChromeLabs/renovate/chokidar-2.x
#
#	Update dependency chokidar to v2.1.1

# The commit message GoogleChromeLabs#156 will be skipped:

#	Update dependency @types/node to v10.12.26

# The commit message GoogleChromeLabs#157 will be skipped:

#	Merge pull request GoogleChromeLabs#461 from GoogleChromeLabs/renovate/node-10.x
#
#	Update dependency @types/node to v10.12.26

# The commit message GoogleChromeLabs#158 will be skipped:

#	Updating package lock to fix Netlify

# The commit message GoogleChromeLabs#159 will be skipped:

#	Make Rust rotate code smaller (GoogleChromeLabs#462)
#
#	* Make Rust rotate code smaller
#
#	* Back on the rust happy path

# The commit message GoogleChromeLabs#160 will be skipped:

#	1.3.3

# The commit message GoogleChromeLabs#161 will be skipped:

#	Update dependency chokidar to v2.1.2

# The commit message GoogleChromeLabs#162 will be skipped:

#	Merge pull request GoogleChromeLabs#467 from GoogleChromeLabs/renovate/chokidar-2.x
#
#	Update dependency chokidar to v2.1.2

# The commit message GoogleChromeLabs#163 will be skipped:

#	merge remote-tracking branch 'upstream/master' into update-zoom-interaction

# The commit message GoogleChromeLabs#164 will be skipped:

#	Update double click listener and position reset behaviour

# The commit message GoogleChromeLabs#165 will be skipped:

#	Change back the indentations

# The commit message GoogleChromeLabs#166 will be skipped:

#	Update double click listener and position reset behaviour

# The commit message GoogleChromeLabs#167 will be skipped:

#	Change back the indentations
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.

3 participants