* feat: add Note string field to dashboard cells
* wip feat: html escape cell note to help prevent XSS attack
Requires further input to make sure this is effective at its
purpose.
* Add ability to view a cell's note from the cell header
* Make styles less brittle
* Add "chat" icon for use in notes
* Position note using cell X & Y
Avoid overlap with associated cell whenever possible
* New notes are empty strings by default
* Overflow note when contents are large
* Add react-markdown package for displaying markdown
* Display markdown in cell note
* Add a cell note text editor into the CEO
* Improve cell note editor
* Use codemirror placeholder addon
* Add placeholder to note field & foundation of markdown theme
* Add Markdown Cell
* Add initial styles for markdown cell contents
* Add graphic for Note type cell
* feat: add NoteVisibility to DashboardCell
* Add basic markdown syntax highlighting in editor
* Remove comment
* Show note in cell when queries return no data
* Make exception for rule graph
* Update fixtures and resources to fix tests
* Update changelog
* feat: sanitize xss-vulnerable note html
* Polish appearance of code samples in notes and note cells
* Replace ascii with plaintext before passing to markdown renderers
* Move "display when no results toggle" above text field
Less likely to go undiscovered
Added ErrOrganizationConfigNotFound error
Refactored FindOrCreate to use helper get method
Ensure that FindOrCreate creates a new org config if config not found
and returns any other errors
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
As previously implemented, OrganizationConfig was a global
object. This refactor adds the organization id to context for
every request, even when auth is disabled, so that org id
can be used to get/update an organization config.
Along those lines, this also removes OrganizationConfigStore
.Initialize and replaces .Get with .FindOrCreate, handling
the creation of organization configs upon first attempted
access.
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
Rename LogViewerUI to LogViewer in Config struct.
Make all instances of endpoint 'logviewer' (lowercase).
Make all instances of config.links.logViewer (camelcase).
declaring all migration-irrelevant types as []byte may erase data
for repeated protobuf fields. we hoped that "obscuring" the original
types of these columns with []byte would pass-through their values
unchanged, allowing us to omit entire types (and their descendent
trees) that were not being operated on in a migration. Fewer imported
types would lead to a more expressive migration file whose intent was
more clear to the reader. We will need to experiment with other ways
to achieve this in the future.
fixes#3200
This reverts commit 4b54081cf8.
:interval: represents a duration now
queryConfig must recognize both :interval: forms
Another case to consider
Fix broken links in CHANGELOG
Rudimentary migration system w/ :interval: migration
Only looking for :interval: now
Server can expect time(:interval:) from now on
Repair go specs