* API client for patching a scheduled query
* Change select to check on ScheduledQueriesLists
* Clicking a scheduled query list item selects the scheduled query
* Helpers to format scheduled queries for client/server
* Allow updating a scheduled query
* Form cancel button
* Stop rendering results when query hasn’t been run
* Adds QueryPageSelectTargets component
* Re-arranges target select input on Query Page
* Adds label to KolideAce component
* Re-arrange inputs on the Query Form component
* Adds hosts_count attribute to campaign with success/fail/total
* Displays error % in Progress Bar component
* Indicate failed hosts on Query Results table
* Changes ProgressBar background to silver
* API client to create and get an app license
* Fixes unhandled promise rejection errors in redux config
* License Page and Form
* Adds getLicense action
* Adds License key area to App Settings Form
* Use license.token instead of license.license
* Implement API client
* Adds key icon to License Form
* Adds License Success component
* Render License Success on License Page when there is a license
* Adds persistent flash actions and reducer to redux
* Adds nag message middleware
* Moves FlashMessage component to flash_message directory
* Adds Persistent Flash component
* Renders Persistent Flash component from Core Layout
* Adds Kyle's styles
* Change license validation message
* Finishing touches for app config form license area
* Handle revoked licenses
* License Page hits setup endpoint
* Display server errors on license form
* Changes 0 allowed hosts to unlimited
* Trims JWT token before sending to the server
* GET setup page after submitting license
* Catches errors when polling for data on Manage Hosts Page
* Sends platform parameter to server on label create
* Remove unnecessary condition to format platform param
* Clean up scheduled query formData
* Update admin API client
* updateAdmin redux action
* Changes UserManagementPage actions for update admin
* Enable user API client
* Enable user redux actions
* Change UserManagementPage to dispatch enable user actions
* Connect change password to API
* PATCH packs with updated attributes only
* PATCH queries with updated attributes only
* PATCH user updates with updated attributes only
* Prevent setting state on unmounted component
* Load all packs on the manage packs page
* Do not send target info to server if unchanged
* Moves SmtpWarning to the components directory
* Renders base errors on invite user form
* Prevents add user and displays warning if smtp not configured
* Wait to render content until API calls finish
* Add spinner for running query
* fixing lint
* Adding in check for this.socket
* Full height results area with centered spinner
* Don't hide table if query is stopped
* Remove results container if no results yet
* No more console.log
* Removing requirment for org avatar
* Convert /setup to multiple forms
* Getting kinks worked out of Enter key
* Fixing typescript nonesense linting issues
* Allow form field values to be an array
* Send the server host and label ids on create
* Get and display the targets in a pack
* Adds target_type to labels and hosts
* Allow updating a pack’s targets as well as name and description
* Adds select targets dropdown to edit pack page
* Adds targets to dropdown when pack is edited
* add a js validator that makes smtp server port required
* specifying that the InputField should be a number. this doesn't work, but i think that it should.
* casting the port as an int as a stop-gap fix
* email doesn't already have to be enabled to be enabled
* don't return the smtp password from the API
* show a fake placeholder password if the username is also set
* error type for @groob
Permissions errors were preventing users from completing this flow
- Add separate endpoint for performing required password reset
- Rewrite frontend reset to use this endpoint
Fixes#792
- Remove require password reset from ModifyUser and
RequestPasswordReset methods, and UserPayload struct
- Add new RequirePasswordReset method
- Refactor JS for new separate method
* renders ManageQueriesPage at /queries/manage
* Renames QueriesList components to ScheduledQueriesList components
* creates QueriesList component
* Adds side panel component to display query details
* Adds KolideAce editor to Query Details side panel
* Handle Edit Query button click
* Change text of the Delete Query button
* Show confirmation modal before deleting queries
* consistent error handling
* Display server errors in InviteUserForm
* Handle errors in Form component
* Refactors query form
* creates KolideAce component
* Renders QueryForm from query page and manage hosts page
* Moves ace editor and select targets dropdown to query form
* Render base errors in Form HOC
* LoginPage and ForgotPasswordPage server errors
* Ensure unique key for user blocks
* Adds base error to login form and forgot password form
* Adds base error to query form
* Adds base error to Pack Form
* Adds errors to confirm invite form
* Adds clearErrors action
* clear errors when confirm invite page unmounts
* Handle errors in the App Setting page
* Handle server errors in the User Settings Page
* Handle server errors in the User Management Page
* Display packs page at /packs/manage
* Adds NumberPill component
* Filter packs list
* Render the pack info side panel when no packs are selected
* Adds packs list
* Moves state management to page component
* Display selected pack count
* Render bulk action buttons
* API client - update pack
* API client - destroy pack
* Adds update/destroy functions to packs redux config
* Bulk actions (enable, disable, delete)
* Selecting a pack updates state
* PackDetailsSidePanel updates pack status
* Link to edit pack on side panel
* sets selected pack in URL
* Sets color for unsettled buttons
* Loads scheduled queries for selected pack in All Packs Page
* PackDetailsSidePanel component
* PackDetailsSidePanel styles
* styles PacksList component
* Stop rendering flash when pack status is updated
* Makes full row clickable
* highlight selected pack
* AppSettingsPage at /admin/settings
* Adds App Settings to site nav items
* SMTP not configured warning
* Creates AppConfigForm
* Avatar preview
* API client to update app config
* Creates OrgLogoIcon component
* Hide username/password when no auth type
* Creates new PackComposerPage at /packs/new
* Creates PackForm component
* Adds PackForm to PackComposerPage
* Creates QueriesListItem
* Creates QueriesList
* Creates QueriesListWrapper
* Get all queries when the Packs Composer Page loads
* Form HOC handles updates to formData prop
* Creates form to configure scheduled queries
* QueriesListWrapper renders ConfigurePackQueryForm
* search queries input filters queries list
* Empty state text
* create pack when user submits the new pack form
* Adds Edit pack page to /packs/:pack_id/edit
* API client - get scheduled queries for a pack
* API client - create scheduled query
* Redux config for scheduled queries
* Remove scheduled queries from packs
* Add labels to pack on create
* Add disabled state to the select targets dropdown
* Adds edit route and pushes to new route on edit click
* Adds cancel button to edit pack form
* Adds Checkbox that selects all scheduled queries in table
* Adds campaigns to redux state
* Update campaign with web socket data
* Destroy the current campaign when creating a new one
* close the socket when leaving the page or creating a new campaign
* Allow stopping a running query
* Update campaign with query results
* Adds QueryResultsTable
* Display flash message if campaign can't be created
* Allow filtering query results
* Adds filter icon
* Prevent query text updates when the query is running
* Main nav item click brings user to default sub nav item
* Converts SiteNavHeader to a dumb component
* Stop passing dispatch to the FlashMessage component
* initial scaffolding
* pack info sidebar
* fixing the merge of the routes
* Remove radium from pack info sidepanel
* lint
* cards!
* redux entity config
* pack interface
* wiring up redux with fake dev data
* Add description attribute to packs
* move redux to top level page component to isolate data fetching
* initial scaffolding of all packs table
* adding redux entities back
* minimal
* alpha order in packs.js
* no newlines in HTML
* onclick handler to function on component class
* alpha order in router
* alpha order in paths.js
* no newline in side panel
* removing input field
* lint fixes
* Host side panel
* Query form handles labels
* QueryComposer handles labels
* ManageHostsPage add label transitions
* Stop preventing default on click outside of ellipsis menu
* get labels from API
* use real label data in hosts side panel
* create label on label form submit
* adds platform dropdown
* Validate query text
* Label header
* validate presence of query text
* Stop sending click event to click handler prop
* Delineates between hosts & labels in dropdown options
* Render target details when a moreInfoTarget is present
* Remove moreInfoTarget when the select is closed
* Remove modal
* refactor formatting targets API response
* Adds + icon to dropdown options
* Restructures dropdown rendering
* API client getTargets
* change label to display_text
* filters options
* send selected targets to server
* get targets when selected targets are added or removed
* show 0 unique hosts when no targets have been selected
* API call to create queries
* Add queries to redux
* create query when query form is submitted
* Redirect to ShowQueryPage after creating query
* Removes theme dropdown and NewQuery component header
* Extract NewQueryPage component state to redux state
* Pass logic down to NewQuery component as props
* Changes NewQuery component name to QueryComposer
* Render NewQueryPage for /queries/:id route
* Update ReduxConfig for loading a single resource
* QueryPage tests
* Get query when the query page loads
* catch errors when query is invalid
* Renames UpdateQueryForm to QueryForm to re-usability
* Changes InputField to a controlled component
* Always render the Query Form on Query Pages
* Removes SaveQuerySection
* Updates to NewQuery & SaveQueryForm
* SaveQueryFormModal
* Load the SaveQueryFormModal on "Save Query" click
* Run query button
* hide modal form after submit
* Disable run query btn without selected targets
* Api client get targets
* Allow entities to parse full api response
* responsive nav style fixes
* Add disabled prop to button
* Add targets from API to target select input
* customize target rendering in input field
* call API on select target input change
* display # hosts selected
* Adds new icons to icon font
* Customize select targets input options
* Update directory structure
* restructure select targets input
* Adds hosts to labels
* Host modal styles
* ShadowBoxInput component
* TargetInfoModal for labels
* consistent entity response in api client stubs
* Fix bug removing multiple hosts in target select input
* change Button component to use css classes
* Updates eslint packages
* Expected parentheses around arrow function argument having a body with curly braces
* Prop type `object` is forbidden
* Visible, non-interactive elements should not have mouse or keyboard event listeners
* Prop type is defined but not used
* Unexpected use of file extension "jsx"
* Expected 'this' to be used by class method
* HTML entities must be escaped
* Prevent default behavior on more options button click
* validate query text
* Update structure of submitted SaveQueryForm data
* form calls correct prop function when invalid query text
* Lowercase directory names
* Adds manage hosts page and improves side bar functionality
* API client get hosts
* Adds hosts to redux state
* Adds host details component
* Manage hosts page renders host details
* ElipsisMenu component
* Add ElipsisMenu to HostDetails
* Adds HOC to detect clicks outside component
* clicks outside ElipsisMenu close the tooltip
* Adds icons to host details component
* Adds loadAll action to redux entity config
* API Client get invites
* Add invites to the user management page
* Updates user block styles on user management page
* Submit modal form on enter
* Modify details form styles
* Enter submits edit user form
* Removes unused admin dashboard page
* API Client - revoke invites
* Delete invite entities in redux
* Revoke invites from admin manage users page
* Show success flash message after user invite is revoked
* New hosts route
* Adds source code pro font
* New Host Page
* make Icons clickable
* Adds clipboard icon
* highlight icon & show helper text when text copied
* Method 2 text
* Fixes Firefox bug
* Fix spelling error
* QuerySidePanel component
* Adds all osquery table names to ace editor mode
* kolide theme for strings
* Detect OS from browser
* Show utility and specs availability as 'All Platforms'
* Show column description as alt text
* Only send changed user attributes to the server
* Improve flash message styles
* Do not allow admins to demote or disable their own account
* Disable admin actions against self