* fix: only check flag for organization settings
I added checks against the license but actually what we want is for
these views to become the default even when not licensed (once the
experimental flag is removed).
* Move deployment settings header to components
This will let us use it in the org settings pages, for a consistent
look.
* Add premium badge
* Use settings header on org pages
* Add license badges to create org page
I am not sure if there is maybe a better place for this, but maybe this
is good enough.
* Change create org form description text
It says "change", but there is nothing to change yet since this is a new
organization.
* Consistently capitalize org menu items and headings
Also, remove the "organizations" prefix since it seems redundant.
* chore: remove per-org audit links
For now at least, we will have the one audit page at /audit which lets
you filter by organization.
This also removes the need to do per-org audit permission checks.
* Filter audit org dropdown by auditable orgs
Previously all orgs you can list would appear, but you might not be
able to audit all of them.
* s/readAllUsers/viewAllUsers
Other frontend variables use the `view` syntax. Arguably we should
use `read` to match the backend, but `view` does seem more UI-like.
* Check license for organizations
All the checks now require both the experiment and license.
I also renamed the variable canViewOrganizations everywhere for
consistency.
* Allow any auditor to view the audit log
* Use fine-grained permissions on settings page
Since in addition to deployment settings this page now also includes
users, audit logs, groups, and orgs.
Since you might not be able to fetch deployment values, move all the
loaders to the individual pages instead of in the wrapping layout.
* Add stories for organization members page
Needed to break it out into a separate view to do this.
* Add stories for multi-org sidebar
* Remove multi-org check from management settings layout
We only use this layout when multi-org is enabled, so no need to run the
check a second time.
* Add more stories for deployment dropdown
* Move audit page to /deployment/audit
The existing link remains but will redirect to the new URL.
If multi-org is not enabled, nothing changes.
* Redirect organization audit page to site-wide audit page
* Always wrap audit log filters when in deployment settings
Otherwise the input is teeny tiny and barely fits a few characters.
Normally we only wrap when the screen shrinks. Again, no change
if multi-org is not enabled.
This also makes the filter menus take up available space when
wrapping (*does* apply to non-multi-org setups as well).
* Show audit log details in a tooltip
If multi-org is not enabled, details continue to be shown inline.
* fix: get basic fix in for preventing download logs from blowing up UI
* fix: make sure blob units can't go out of bounds
* fix: make sure timeout is cleared on component unmount
* fix: reduce risk of shared cache state breaking useAgentLogs
* fix: allow partial downloading of logs
* fix: make sure useMemo cache is used properly
* wip: commit current progress on updated logs functionality
* docs: rewrite comment for clarity
* refactor: clean up current code
* fix: update styles for unavailable logs
* fix: resolve linter violations
* fix: update type signature of getErrorDetail
* fix: revert log/enabled logic for useAgentLogs
* fix: remove memoization from DownloadLogsDialog
* fix: update name of timeout state
* refactor: make log web sockets logic more clear
* docs: reword comment for clarity
* fix: commit current style update progress
* fix: finish style updates
* wip: commit progress on code split-up
* wip: commit more progress
* wip: finish initial version of class implementation
* chore: update all import paths to go through client instance
* fix: remove temp comments
* refactor: smoooooooosh the API
* refactor: update import setup for tests
* fix: remove some of the jank around our core App component
* refactor: scope navigation logic more aggressively
* refactor: add explicit return type to useAuthenticated
* refactor: clean up ProxyContext code
* wip: add code for consolidating the HTML metadata
* refactor: clean up hook logic
* refactor: rename useHtmlMetadata to useEmbeddedMetadata
* fix: correct names that weren't updated
* fix: update type-safety of useEmbeddedMetadata further
* wip: switch codebase to use metadata hook
* refactor: simplify design of metadata hook
* fix: update stray type mismatches
* fix: more type fixing
* fix: resolve illegal invocation error
* fix: get metadata issue resolved
* fix: update comments
* chore: add unit tests for MetadataManager
* fix: beef up tests
* fix: update typo in tests
* chore: reduce requests the dashboard makes from seeded data
We already inject all of this content in `index.html`.
There was also a bug with displaying a loading indicator when
the workspace proxies endpoint 404s.
* Fix first user fetch
* Add util
* Add cached query for entitlements and experiments
* Fix authmethods unnecessary request
* Fix unnecessary region request
* Fix fmt
* Debug
* Fix test