* ci(docs): fix sync process
GraphQL codegen needs to be run before sync because otherwise the types
are missing. Missed this in local testing because codegen had already
been run for other reasons.
* fix(troubleshooting sync): unresolved import
* ci(docs lint): fix commenting workflow
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
Don't know why I was using string interpolation instead of GraphQL
variables for the GitHub API calls, leading to all kinds of escaping
problems. Changed to using GraphQL variables properly.
* docs: split telemetry and troubleshooting sections
* docs: update telemetry copy
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
* fix(ui): fix troubleshooting view in mobile
* format
* fix: troubleshooting search
Troubleshooting previews are displayed using a grid now, and hidden
doesn't work (overriden by grid behavior). Instead, applying
display:none when filtered out.
* sync to db
---------
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Fix some issues with the script:
- GraphQL query strings were built from template literals without escaping, leading to errors when sending to GitHub API, now added escaping
- Lack of visibility when GitHub API errors because the actual errors array is buried below the expanded portion of the object output, now drilling down to the usable portion of the returned error
- When the sync bot auto-adds the database ID, it also reformats the TOML frontmatter, which leads to a spurious "content changed" update when the checksums don't match in the next check run. Resolve this by normalizing the frontmatter before calculating the checksum.
Forgot to change function argument when I changed the `getArticleSlug` signature.
Added `ts-check` annotations so TypeScript will catch these errors in the future.
When a troubleshooting entry is created or updated in this repo, sync it to GitHub. This creates a new troubleshooting discussion if one does not exist, and updates the content on an existing troubleshooting discussion if it has changed.
To preserve the connections between GitHub discussions and Markdown files, record the discussion ID and URL to the database. The database ID is then written to the Markdown file, and a new PR is generated to commit the new Markdown with ID.
There is currently no mechanism to delete outdated discussions. That will be a follow-up.