* [uiExports] add replaceInjectedVars() export type
* [ui] do not assume es plugin is always there
* [server/status] fix typo
* [ui] add errror handling to /app/{id} endpoint
* [ui] add tests for replaceInjectedVars()
* [npm] swap out jsdom with cheerio
* [server/ui] continue extender => replacer rename
- Migrate to new localNav component and subcomponent styles.
- Add support for multi-slot transclusion to kbnTopNav.
- Update Dashboard, Discover, Management, Visualize, Dev Tools, Timelion to use kbnTopNav consistently.
- Update these apps to also display localNavDropdowns consistently, including Timepicker (this mostly meant adding titles).
- Add checkLicenses npm script.
- Add .fullWidth utility class and use it to make search forms 100% width.
As of Node 6, crypto.pbkdf emits a deprecation warning when the digest isn't explicily set. Under certain conditions we are seeing this warning from Hapi's dependency Iron. Iron resolved this issue as of 4.0.4, which was introduced into Hapi as of 14.0.0.
Node deprecation: 8e8959d3ee
Iron's resolution: 9e0a1ef592
As of Hapi v9, they have removed three build-in plugins from the core which we rely on inert (files and directories), vision (view templates), and h2o2 (proxy). https://github.com/hapijs/hapi/issues/2682
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
- Remove share_object_url.
- Remove clipboard npm dependency.
- Add toggle for switching between Short and Long URLs.
- Add ability to share embedded iframe to saved visualizations, including current global state.
By default, the url.format function stringifies the query object and encodes each parameter with `encodeURIComponent()`. This is effective, but does not match the native browser behavior, which is to only encode the non-`pchar` characters as defined by [rfc3986][1]. Because of this, angular's `$location.search()` function uses a function internally called `encodeUriQuery()` to mimic the browser behavior before updating `location.href`.
To bring the same funtionality to the `unhashUrl()` function, the `encodeUriQuery()` was extracted into it's own package and used as the escape handler for `querystring.stringify()`
[1]: https://www.ietf.org/rfc/rfc3986.txt
The tests in master are currently failing regularly because our current browser tests are serious memory hogs. Investigation reveals that nearly every test is retaining all of the memory it causes to be allocated. We have made some progress to being able to diagnose the problems, but we expect that problem to take some serious work to fix. We need a short-term solution though, and this is it.
Rather than modify the bundling process, we will shard the top-level test suites by name. For now, we've created 4 shards, but adding new shards is trivial if we need to.
Sharding is accomplished by creating a murmur3 hash of the top level suite names, then bucketing based on the hash output. If a test suite resolves to shard2, but we are running shard1, we simply never pass the function to `mocha.describe()`. Rather than redefine every describe statement, we have shimmed the global `window.describe()` function to accomplish this.
Production builds should never be published directly from a local
machine. Instead, the release command will now publish to a
commit-specific staging URL, so you use it to publish a release
candidate, and then when those builds have been verified, you need to
copy the RC builds from on the staging location on s3 to the production
folder.
- Add 'test:visualRegression' grunt task.
- Run 'test:visualRegression' as part of npm script 'test'.
- Add 'clean:screenshots task'.
- Clean screenshots/session when funtional tests are run.
The default behavior of the build task is to now apply the -snapshot
suffix dynamically rather than us manually hardcoding and managing it
within the source code itself. The `--release` flag will drop the
-snapshot suffix on a build, which should be used for any release
candidate.
The default behavior of the build task has also changed to create
rpm/deb packages as well. Since we've only confirmed that this works on
linux, you can override that behavior by passing `skip-os-packages`.
If you do not want to create any zip or tar.gz archives, you can pass
`--skip-archives`.
- Remove test/output and added test/screenshots (requires a Jenkins change).
- Add test/screenshots/baseline images. These document the expected state of the UI.
- Add dependency on image-diff package.
- Add utilities/compareScreenshots.js, which can be run via 'npm run compareScreenshots'.
Datemath was already pulled out into an npm module so it could be reused
in the reporting plugin, so this should essentially be a noop on the
resulting source.
Rison was already pulled out into an npm module so it could be reused in
the reporting plugin, so this should essentially be a noop on the
resulting source.
The rison file was originally copied and pasted directly into the Kibana
project, so it doesn't match our styleguide and is unlintable. This
means we basically have to keep our hands off of it. The node module
also has the benefit of including some tests.
Unfortunately, the old version of bunyan we were depending on has a
compilation failure during npm install, so we need to upgrade it in
order to get more builds.
Different versions of makelogs are required based on the current Kibana
branch/version, so we now include it as a dev dependency that we can
version accordingly.
There is also an npm script for makelogs so you do not need to traverse
the node_modules bin directory.
CSS
#16492: Use @input-border-radius variables on input groups.
#16529: Un-style the caret on <select>s in IE10+.
#16562, #16563: Create and implement a new @dl-horizontal-breakpoint variable to replace the @grid-float-breakpoint on .dl-horizontal.
#16646, #16651: Fix hover border covering active links in pagination.
#16684: Fix border-radius not being set on two corners of vertical btn group.
#16718: Full 4-digit Unicode escape sequences in CSS for asterisk and plus Glyphicons.
#16769: Remove the min-height on modal headers and replace with a clearfix to avoid collapsing when no title exists.
#16779: Adjust the padding on jumbotrons within containers.
#16785: Round the padding on containers to match the new rounding of negative margins on rows.
#16796: Ensure carousel controls are clickable in IE9.
#16804: Indicate which buttons in a button group are selected, even when disabled.
#16824: Correct a math error in the padding-top of .control-labels in large and small horizontal forms.
#16975: Use @carousel-control-font-size for in specific pixel values.
#17001: Fix borders on focused inputs in input groups.
JS
#16865: Fix triggering of shown.bs.dropdown & hidden.bs.dropdown events so that relatedTarget property gets set properly.
#16896: Note jQuery v3 incompatibility.
Accessibility
Docs
#16630, #16632: Update mention of not-allowed cursor in disabled checkboxes, radios, and fieldsets docs section.
#16744: Mention in the README where Bootstrap's changelogs can be found.
#16745: Add CHANGELOG.md file that points to GitHub Releases and our blog.
#16747: Document that Collapse and Tab methods are asynchronous.
#16793: Add example with visible <label> and input group addon.
#16888: Add a local jQuery fallback.
#16902: Fix grid in modal example by removing .container-fluid.
#16965: Call out .icon-next, .icon-prev alternative classes for carousel.
#17003: Add .col-offset-0 example addition to docs.
#17726: Clarify the purpose of adding .in to the .fade of the initially-open Tab.
#17729: Add Subresource Integrity (SRI) hashes to BootstrapCDN links
#17742: Add CSS portion of IE10 viewport bug workaround to docs & examples
#17809: Note that container: 'body' should be used for tooltips/popovers on tabular elements
#17910: Document that .panel-title overrides the font size of <h1>–<h6> tags
#18080: Document conflict between strict Content Security Policy and inline style attributes of .progress bars, and available workarounds
Packaging
#16710: Add official NuGet package
#16877, #17693: Add support for Meteor 1.2.
Build tools
#16589: Enable source maps for bootstrap.min.css.
#17769: Setup Hound for JSHint linting in pull requests
Customizer
#16897: Clarify that Collapse requires Component animations
Browser bugs
Signed-off-by: Kevin Kirsche <Kev.Kirsche@gmail.com>
#16689: Add Wall of Browser Bugs entry for #16671.
#16691: Add Wall of Browser Bugs entry for #15968.
#16813/#16839: Reported WebKit bug (http://wkbug.com/146896) for #16809, which WebKit then fixed.
#16840: Remove entry from Wall of Browser Bugs because http://wkbug.com/141804 has been fixed.
#16841: Remove entry from Wall of Browser Bugs because http://wkbug.com/139803 has been fixed.
#16842: Remove entry from Wall of Browser Bugs because http://wkbug.com/144990 has been fixed.
#16881: Add Wall of Browser Bugs entry for #16814.
#16908: Remove entry from Wall of Browser Bugs because http://crbug.com/309483 is most likely invalid.
#16994: Add Wall of Browser Bugs entry for #16988.
#17438 / #14237: Add Wall of Browser Bugs entry for http://wkbug.com/149935#17712: Mention Chrome meta-bug on Wall of Browser Bugs
#17753: Remove entry from Wall of Browser Bugs because http://bugzil.la/1048279 was closed as WONTFIX.
#17820: Add Wall of Browser Bugs entry for http://crbug.com/534750#17902: Remove entry from Wall of Browser Bugs because http://wkbug.com/138167 has been fixed.
#17906: Add Wall of Browser Bugs entry for #14975#18111: Add Wall of Browser Bugs entry for http://wkbug.com/150715
When we moved the dev server to use https it became obvious that the Kibana server fails very quick when it receives http traffic. In most cases this is a good thing, but automatically redirecting to https is a far more user-friendly experience.
To do this we tell Hapi to listen to an alternate Server when we are using https. That server is provided by the httpolygot library, which knows how to handle both http and https requests. Then, when the server sees these requests it simply redirects when necessary.
with https://github.com/elastic/kibana/pull/5553 we added command line flags the told mocha it was supposed to use babel. This changes the strategy here and instead uses mocha's -r option (and it's mocha.opts file to specify it). This means that using mocha directly from the command line still works, and that we have a place where we can do other setup work.
"npm run clean" will now find all excess files, confirm they should be deleted, and then delete them. To exclude a file pass it as the --ignore argument