* Move all components in ui-patterns into src folder. Add exports field for all files.
* Fix all apps to use the new ui-patterns.
* Fix the design-system build.
* Remove all unused rexports from ui-patterns index. Apps should use direct imports instead.
* Change the tailwind content property to include src folder of ui-patterns.
* Remove autoprefixer from the tailwind configs.
* Remove autoprefixer as a dependency.
* Fix the CVA conditions in FormLayout.
Our environment variables are a bit of a mess, so cleaning them up:
- We have duplicate environment variables that resolve to the same thing
but just have different names, deduplicating all of these
- We have a .env.development (for publicly safe variables) and a
.env.example, we
really only need one
- Privately, we have a .env (for running scripts) and a .env.local (for
Next.js). Changing the dotenv source for scripts, so again we only need
one
Scripts currently use CJS, which is causing a bit of a mess when trying
to use shared utilities from the app. Converting everything to ESM so
there are fewer conflicts when adding new scripts going forward.
* feat(content api): add error endpoint
Add an endpoint to return the details of a Supabase error, given the
error code and service.
Schema additions:
```graphql
type RootQueryType {
"...previous root queries"
"""Get the details of an error code returned from a Supabase service"""
error(code: String!, service: Service!): Error
}
"""An error returned by a Supabase service"""
type Error {
"""
The unique code identifying the error. The code is stable, and can be used for string matching during error handling.
"""
code: String!
"""The Supabase service that returns this error."""
service: Service!
"""The HTTP status code returned with this error."""
httpStatusCode: Int
"""
A human-readable message describing the error. The message is not stable, and should not be used for string matching during error handling. Use the code instead.
"""
message: String
}
enum Service {
AUTH
REALTIME
STORAGE
}
```
* test(content api): add tests for top-level query `error`
The originating workflow was changed so that lint failures fail the
workflow, so now we should be running the target workflow on failure,
not on success.
Workflow for external lints still not working quite right.
1. The lint workflow should fail if linting fails, to block merge. Right
now the exit status of the linter is ignored; added a step to fix that.
2. The workflow_run event is not triggered by completion of the first
workflow. Couldn't find an obvious problem with the two, but saw online
that some people had problems with a quoted workflow name, so tried
renaming the workflows to avoid having to quote the names.
fix(common): prevent errors when accessing local storage in certain
browser setups
Got many reports of errors from accessing localStorage on Safari,
probably due to certain user security settings that cause the browser to
throw an error on storage access.
Right now we're filtering out third-party extensions by looking for
stack traces that don't touch 'app:///_next'. However, third-party stack
traces do include the Sentry code that sends the error, and that
originates in 'app:///_next'. We need to filter out any events that do
not have 'app:///_next' events beyond that one Sentry frame.
* feat: add last used timestamp in the last 24h to legacy api keys
* address comments by @jordienr
* fix prettier
---------
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
* add replication section with instructions for services
* address comments and neturalise tone
* formalised overview and simplified faq
* reviewdog silenced (mostly)
* move individual tools into tab group and reduce mention of subscriptions
* fix tab components
* correct postgres typos and others
* removed individual service pages and added section for monitoring slots
* update nav menu and add information for monitoring
* update monitoring docs
* added example queries for tracking replication and removed overview
* added spelling rules for Xmin and cleaned up CDC format
* edits & reorganization
---------
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
* refactor(docs): turn auth error codes table into data file
Take the Markdown error codes table and turn it into a data file
instead. This makes it easy to parse and reuse in other places besides
Markdown documents.
* Update apps/docs/content/errorCodes/authErrorCodes.toml
Co-authored-by: Terry Sutton <saltcod@gmail.com>
---------
Co-authored-by: Terry Sutton <saltcod@gmail.com>
The external PRs workflow is still broken: commenting on the PR with the
lint results doesn't work because pull_request events triggered from
forks do not have write permissions.
Following GitHub recommendations, I broke it down into two workflows:
1. First workflow writes the lint results (if any) to an uploaded
artifact.
2. Second workflow (triggered by workflow_run and thus has write
permissions) downloads the artifact and posts the results as a PR
comment.
* feat(db): error table updating function
Add a function for updating the error table (to be used for syncing the
repo contents to the database).
* feat(db): add function to delete unused error codes
Add a DB function to delete any unused error codes (actually a soft
delete due to a rule on the content.error table). This allows syncing
the repo state to the DB state by removing any entries that have been
removed from the repo.
Alter the docs test script so it spins up Supabase locally. Will allow
for end-to-end tests against the local DB.
Also small alteration to one of the test files to silence an annoying
(but intended) error.
* first pass
* init
* updated types
* fix up key reveal
* Update QuickKeyCopy.tsx
* remove quick key copy
* api key pill now only allows reveal and copy if you have perm
* Update LegacyAPIKeys.tsx
* fix up layouts
* fix copy
* Fix action menu dropdown position, few small nudges
* Remove unused files.
* Remove the hardcoded and rename the feature flag for basic API keys.
* add support for name and description, some smaller improvements
* Fix the trims for the description.
---------
Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Stojan Dimitrovski <sdimitrovski@gmail.com>
The "required properties" that need to be disabled are actually listed
in the code block, but it's not entirely clear from the way that it's
written that it's the case, leading to user confusion. Added a line to
make that explicit.
Fixes DOCS-233