* Pass subscription status into the usage bar
* Page navigation spinner is now blue (was a bit subtle before)
* Better logging of db queries, this will be commented out before the PR is merged
* Select only the required fields
* We don’t need the member count for each org
* WIP redirecting with projectId in session
* Switching projects is now working, without duplicating the project query
* Removed logs in revalidate function
* Removes some unused imports
* ProjectPresenter: removed lots of unused db selects
* Root use defaultShouldRevalidate, not just true
* Simplified the job list query and separated the deleting job modal query
* Use requireUserId instead of requireUser wherever possible
* EventListPresenter query simplified
* Simplified the RunListPresenter query
* Disable query logging
* Use the latest updated version for the job list table
* We need to use the org presenter on the select plan page
* Updated to the latest remix-typedjson package
* Throw an error if the org isn’t found
* Use defer. Doesn’t work because Date isn’t deserialized correctly
* Use regular defer, typeddefer isn’t working properly…
* Don’t update remix-typedjson, wasn’t needed
* Organize imports
* Fix for typo in error when a Job invoke fails
* Can disable runs for an Organization
* Don’t perform runs if runsEnabled === false for an Org
* Exceeded runs messages made into errors, they were very subtle
* Return the runsEnabled property for each org
* More obvious message if you’re over the free run limit
* Added a red border to the free usage panel if you’re over your run limit
* Added missing property to Storybook for the FreePlanUsage component
* WIP on absolute date filtering for runs
* Use the date hook instead
* Reworked the date field again so the state behaves nicely
* Way better date filtering
* Setting the absolute date is working well, also clearing filters
* Reverse date format
* Turn off the guide
* Added time filtering and clearing to the events page
* Initial CLI commit
* Hooked up the CLI so it actually shows stuff…
* Totally reworked the v3 CLI to be based on our existing CLI (Commander)
* WIP on PersonalAccessTokens and AuthorizationCodes
* WIP creating a Personal Access Tokens page. Created a new sidenav for account pages
* Creating tokens is working but the form is broken
* Tokens are created in the UI
* Creating and revoking access tokens from the UI is working
* Improved the create form and copy
* Tokens are a bit shorter and only lowercase
* API endpoint for creating AuthorizationCodes and the web page users hit to create PATs from them
* V3_ENABLED env var and hook that can be used in the UI to show/hide things
* API route to get a PAT (within 10 mins of creating an auth code). Moved some code to core
* Start to build the login command
* Nicer banner when starting the CLI
* Nicer update checking
* Update command style improved
* Removed the template step
* Login command options are now working
* The new CLI is logging in using the Personal Access TOken. But I need to save it still
* Logging in and saving the token is working
* Deal with already being logged in
* Who Am I working with PAT
* Deleted old account side menu header
* Improved the copy on the Auth code page
* Added docs for the login and whoami commands
* Added readme instructions for the update command
* Removed some unused things
* Remove fetchUseProxy for now
* feat: runs filtering by relative timeframe
* improve logic
* Used formatDateTime
* fix: logic of determineTimeFrame() function
---------
Co-authored-by: Matt Aitken <matt@mattaitken.com>
* feat(logger): accepting Error objects as parameters in io.logger.error()
* Allow errors for any log level
* Create silent-ties-vanish.md
---------
Co-authored-by: Matt Aitken <matt@mattaitken.com>
The SubtleCryptoProvider cannot be used in a synchronous context. This
is a problem for non-node environments where the Stripe client falls
back to SubtleCryptoProvider.
Co-authored-by: Matt Aitken <matt@mattaitken.com>