setFilters() will trigger fetch of the new alerts with updated filter, it's being called after each filter is added to the filter bar, so each added filter ends up with AJAX call to /alerts.json, this means that when someone clicks on a history entry with complex rule it will trigger multiple subsequent requests. What's worse first request will have bigger response body (since it filters less) so it's likely that it will finish after the next request, leaving invalid alerts on the grid. This disable setFilters() if we apply filters in batch mode.
Show search icon for search history elements and provide a separate entries for the default and saved filter.
Default & saved filter are always rendered on the bottom, if they are non-empty.
This allows to quickly select recently used filters from a dropdown. It also shows default (configured by unsee admin) filter and the saved one (saved by the user to a cookie)
Strippling labels should be done after alerts are deduplicated, when user requests some alerts with a filter, not during data collection from Alertmanager. When labels are stripped before dedup then they are merged into one, because labels are needed to calculate uniqueness, which means we will return wrong data
We use flatly theme for bootstrap while bootstrap-tagsinput bundles a css file that follow vanilla style, create a less version and use it instead of the css one bundles with bootstrap-tagsinput.
typeahead.js allows to customize class names used for UI elements, but bootstrap-tagsinput doesn't support passing that and is no longer maintained, so we need to follow default typeahead.js classes.
By dropping vendor & bindata.go from git unsee is no longer go installable, and realistically it won't be, because the build pipeline is big and involves multiple tools.
Let's just use make targets we use for development when building docker image.
This dependency was added to package-lock.json because npm install was initially run on MacOS and that package only works there. It spams CI jobs with warnings and keeps changing package-lock.json when developing on linux, MacOS builds should be fixed not to add it
Maintaining this file as part of git tree isn't great, it's not really possible to review changes to it, let's just build it locally, especially that we've added webpack that also builds all assets and it's the files generated by webpack that we now compile into bindata_assetfs.go
Right now if user starts typing & then starts pressing backspace we pause but never resume, because stopping pressing backspace is ignored when resuming.