Commit Graph
8335 Commits
Author SHA1 Message Date
Ethan 3c60dc3bb5 fix(site): show error on duplicate template rename attempt (#15348)
Fixes #15311.
2024-11-06 01:18:38 +11:00
Steven Masley 2d00b50eb6 chore: remove excess join in GetQuotaConsumedForUser query (#15338)
Filter is applied in original workspace query. We do not need to join
`workspaces` twice. Use build_number instead of `created_at`
for determining the last build.
2024-11-05 08:12:56 -06:00
Spike Curtis 886dcbec84 chore: refactor coordination (#15343)
Refactors the way clients of the Tailnet API (clients of the API, which include both workspace "agents" and "clients") interact with the API.  Introduces the idea of abstract "controllers" for each of the RPCs in the API, and implements a Coordination controller by refactoring from `workspacesdk`.

chore re: #14729
2024-11-05 13:50:10 +04:00
dependabot[bot]andMuhammad Atif Ali 765314ce18 ci: bump the github-actions group with 4 updates (#15359)
Bumps the github-actions group with 4 updates:
[crate-ci/typos](https://github.com/crate-ci/typos),
[google-github-actions/auth](https://github.com/google-github-actions/auth),
[google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud)
and
[google-github-actions/get-gke-credentials](https://github.com/google-github-actions/get-gke-credentials).

Updates `crate-ci/typos` from 1.26.8 to 1.27.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/releases">crate-ci/typos's
releases</a>.</em></p>
<blockquote>
<h2>v1.27.0</h2>
<h2>[1.27.0] - 2024-11-01</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1106">October
2024</a> changes</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>The format is based on <a href="http://keepachangelog.com/">Keep a
Changelog</a>
and this project adheres to <a href="http://semver.org/">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased] - ReleaseDate</h2>
<h2>[1.27.0] - 2024-11-01</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1106">October
2024</a> changes</li>
</ul>
<h2>[1.26.8] - 2024-10-24</h2>
<h2>[1.26.7] - 2024-10-24</h2>
<h2>[1.26.6] - 2024-10-24</h2>
<h2>[1.26.5] - 2024-10-24</h2>
<h2>[1.26.4] - 2024-10-24</h2>
<h2>[1.26.3] - 2024-10-24</h2>
<h3>Fixes</h3>
<ul>
<li>Accept <code>additionals</code></li>
</ul>
<h2>[1.26.2] - 2024-10-24</h2>
<h3>Fixes</h3>
<ul>
<li>Accept <code>tesselate</code> variants</li>
</ul>
<h2>[1.26.1] - 2024-10-23</h2>
<h3>Fixes</h3>
<ul>
<li>Respect <code>--force-exclude</code> for binary files</li>
</ul>
<h2>[1.26.0] - 2024-10-07</h2>
<h3>Compatibility</h3>
<ul>
<li><em>(pre-commit)</em> Requires 3.2+</li>
</ul>
<h3>Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/crate-ci/typos/commit/d01f29c66d1bf1a08730750f61d86c210b0d039d"><code>d01f29c</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/52e950bb130b2bdee93bba2b1973c8f7d8ac5c46"><code>52e950b</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/19cfc03ea4e6fd581972b77eb3761351a4db7ee6"><code>19cfc03</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/crate-ci/typos/commit/f80b1564bd618fb5325b8c0d52849ac7da0bbaea"><code>f80b156</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1140">#1140</a>
from epage/oct</li>
<li><a
href="https://github.com/crate-ci/typos/commit/6b5c8079a9416f5aba90f4cc1348921aa72d9538"><code>6b5c807</code></a>
feat(dict): Oct updates</li>
<li><a
href="https://github.com/crate-ci/typos/commit/d64f202a88f87f2e3fbbd1f5a45ab2ec3ef9b832"><code>d64f202</code></a>
chore(deps): Update compatible (<a
href="https://redirect.github.com/crate-ci/typos/issues/1137">#1137</a>)</li>
<li><a
href="https://github.com/crate-ci/typos/commit/e903c4628799da0b9fc51e03d200e4fa62ba2c0a"><code>e903c46</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1136">#1136</a>
from PigeonF/PigeonF/push-mlqnlvmswwmp</li>
<li><a
href="https://github.com/crate-ci/typos/commit/b994765ef920d85d7a7115db2e9afce611cdcf93"><code>b994765</code></a>
chore: Fix typo &quot;potemtial&quot; -&gt; &quot;potential&quot;</li>
<li>See full diff in <a
href="https://github.com/crate-ci/typos/compare/0d9e0c2c1bd7f770f6eb90f87780848ca02fc12c...d01f29c66d1bf1a08730750f61d86c210b0d039d">compare
view</a></li>
</ul>
</details>
<br />

Updates `google-github-actions/auth` from 2.1.6 to 2.1.7
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google-github-actions/auth/releases">google-github-actions/auth's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.7</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: update relase workflows by <a
href="https://github.com/verbanicm"><code>@​verbanicm</code></a> in <a
href="https://redirect.github.com/google-github-actions/auth/pull/452">google-github-actions/auth#452</a></li>
<li>Release: v2.1.7 by <a
href="https://github.com/google-github-actions-bot"><code>@​google-github-actions-bot</code></a>
in <a
href="https://redirect.github.com/google-github-actions/auth/pull/453">google-github-actions/auth#453</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google-github-actions/auth/compare/v2.1.6...v2.1.7">https://github.com/google-github-actions/auth/compare/v2.1.6...v2.1.7</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google-github-actions/auth/commit/6fc4af4b145ae7821d527454aa9bd537d1f2dc5f"><code>6fc4af4</code></a>
Release: v2.1.7 (<a
href="https://redirect.github.com/google-github-actions/auth/issues/453">#453</a>)</li>
<li><a
href="https://github.com/google-github-actions/auth/commit/212f83afe868cc88aa354e1efbf778eff05d970a"><code>212f83a</code></a>
fix: update relase workflows (<a
href="https://redirect.github.com/google-github-actions/auth/issues/452">#452</a>)</li>
<li>See full diff in <a
href="https://github.com/google-github-actions/auth/compare/8254fb75a33b976a221574d287e93919e6a36f70...6fc4af4b145ae7821d527454aa9bd537d1f2dc5f">compare
view</a></li>
</ul>
</details>
<br />

Updates `google-github-actions/setup-gcloud` from 2.1.1 to 2.1.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google-github-actions/setup-gcloud/releases">google-github-actions/setup-gcloud's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: update release workflows by <a
href="https://github.com/verbanicm"><code>@​verbanicm</code></a> in <a
href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/698">google-github-actions/setup-gcloud#698</a></li>
<li>Release: v2.1.2 by <a
href="https://github.com/google-github-actions-bot"><code>@​google-github-actions-bot</code></a>
in <a
href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/699">google-github-actions/setup-gcloud#699</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google-github-actions/setup-gcloud/compare/v2.1.1...v2.1.2">https://github.com/google-github-actions/setup-gcloud/compare/v2.1.1...v2.1.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google-github-actions/setup-gcloud/commit/6189d56e4096ee891640bb02ac264be376592d6a"><code>6189d56</code></a>
Release: v2.1.2 (<a
href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/699">#699</a>)</li>
<li><a
href="https://github.com/google-github-actions/setup-gcloud/commit/413dc083dd5818edda432148520965d8255c729a"><code>413dc08</code></a>
fix: update release workflows (<a
href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/698">#698</a>)</li>
<li>See full diff in <a
href="https://github.com/google-github-actions/setup-gcloud/compare/f0990588f1e5b5af6827153b93673613abdc6ec7...6189d56e4096ee891640bb02ac264be376592d6a">compare
view</a></li>
</ul>
</details>
<br />

Updates `google-github-actions/get-gke-credentials` from 2.2.1 to 2.2.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google-github-actions/get-gke-credentials/releases">google-github-actions/get-gke-credentials's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix package name by <a
href="https://github.com/sethvargo"><code>@​sethvargo</code></a> in <a
href="https://redirect.github.com/google-github-actions/get-gke-credentials/pull/312">google-github-actions/get-gke-credentials#312</a></li>
<li>fix: update release workflows by <a
href="https://github.com/verbanicm"><code>@​verbanicm</code></a> in <a
href="https://redirect.github.com/google-github-actions/get-gke-credentials/pull/313">google-github-actions/get-gke-credentials#313</a></li>
<li>Release: v2.2.2 by <a
href="https://github.com/google-github-actions-bot"><code>@​google-github-actions-bot</code></a>
in <a
href="https://redirect.github.com/google-github-actions/get-gke-credentials/pull/315">google-github-actions/get-gke-credentials#315</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google-github-actions/get-gke-credentials/compare/v2.2.1...v2.2.2">https://github.com/google-github-actions/get-gke-credentials/compare/v2.2.1...v2.2.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google-github-actions/get-gke-credentials/commit/206d64b64b0eba0a6e2f25113d044c31776ca8d6"><code>206d64b</code></a>
Release: v2.2.2 (<a
href="https://redirect.github.com/google-github-actions/get-gke-credentials/issues/315">#315</a>)</li>
<li><a
href="https://github.com/google-github-actions/get-gke-credentials/commit/0fead37d80f46cbcae8eb09300bd8186eb3b2d31"><code>0fead37</code></a>
fix: update release workflows (<a
href="https://redirect.github.com/google-github-actions/get-gke-credentials/issues/313">#313</a>)</li>
<li><a
href="https://github.com/google-github-actions/get-gke-credentials/commit/d7d8311fd5e889897561404341b15a5c01310725"><code>d7d8311</code></a>
Fix package name (<a
href="https://redirect.github.com/google-github-actions/get-gke-credentials/issues/312">#312</a>)</li>
<li>See full diff in <a
href="https://github.com/google-github-actions/get-gke-credentials/compare/6051de21ad50fbb1767bc93c11357a49082ad116...206d64b64b0eba0a6e2f25113d044c31776ca8d6">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Muhammad Atif Ali <me@matifali.dev>
2024-11-05 19:43:41 +11:00
Ethan 871cc05e99 chore: add a dns.OSConfigurator implementation that uses the CoderVPN protocol (#15342)
Closes #14733.
2024-11-05 19:23:16 +11:00
Muhammad Atif Ali 076399b3bd chore: correct typos and configure permissions in pr-deploy.yaml (#15372) 2024-11-05 09:41:48 +05:00
dependabot[bot] 98e584b36f chore: bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#15371)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-05 08:59:20 +05:00
Steven Masley 8024c1dff4 fix: allow workspace owners to view timings (#15364)
Anyone with authz access to a workspace should be able to read timings
information of its builds.

To do this without `AsSystemContext` would do an extra 4 db calls.
2024-11-04 20:45:43 -06:00
Muhammad Atif Ali 2cf745766c chore: use typos extension in vscode (#15136)
This synchronises the spellchecker with our CI.

We use https://github.com/crate-ci/typos in CI, so let us use typos in
vscode too.

https://marketplace.visualstudio.com/items?itemName=tekumara.typos-vscode
2024-11-04 10:26:04 -08:00
Cian Johnston dc29b81286 fix(site/static/icon): add filebrowser icon (#15367)
Fixes https://github.com/coder/coder/issues/15365

We used to hit
https://raw.githubusercontent.com/filebrowser/logo/master/icon_raw.svg
for the filebrowser icon but coder/modules#334 modified the icon URL to
point to a self-hosted icon.

I simply copied the icon from the `coder/modules` repo.
2024-11-04 18:17:16 +00:00
dependabot[bot] cfc4cb07b6 chore: bump @types/node from 20.16.10 to 20.17.6 in /site (#15351) 2024-11-04 10:56:00 -07:00
Muhammad Atif Ali f25a07502a chore: fix links in README.md (#15366) 2024-11-04 22:55:40 +05:00
dependabot[bot] 735e965bdd chore: bump @types/lodash from 4.17.9 to 4.17.13 in /site (#15334) 2024-11-04 14:35:02 -03:00
Hugo Dutka 1bfa7d42e8 chore: add postgres template caching for tests (#15336)
This PR is the first in a series aimed at closing
[#15109](https://github.com/coder/coder/issues/15109).

### Changes

- **Template Database Creation:**  
`dbtestutil.Open` now has the ability to create a template database if
none is provided via `DB_FROM`. The template database’s name is derived
from a hash of the migration files, ensuring that it can be reused
across tests and is automatically updated whenever migrations change.

- **Optimized Database Handling:**  
Previously, `dbtestutil.Open` would spin up a new container for each
test when `DB_FROM` was unset. Now, it first checks for an active
PostgreSQL instance on `localhost:5432`. If none is found, it creates a
single container that remains available for subsequent tests,
eliminating repeated container startups.

These changes address the long individual test times (10+ seconds)
reported by some users, likely due to the time Docker took to start and
complete migrations.
2024-11-04 17:23:31 +01:00
Muhammad Atif Ali 1c29944862 chore: update link to licensed features in README.md (#15362) 2024-11-04 20:19:23 +05:00
dependabot[bot] ffa82659a2 chore: bump the vite group across 1 directory with 2 updates (#15321)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 15:52:11 +05:00
dependabot[bot] a8caa65124 chore: bump github.com/charmbracelet/lipgloss from 0.13.0 to 1.0.0 (#15354)
Bumps
[github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss)
from 0.13.0 to 1.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/charmbracelet/lipgloss/releases">github.com/charmbracelet/lipgloss's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.0</h2>
<h1>At last: v1.0.0</h1>
<!-- raw HTML omitted -->
<p>This is an honorary release indicating that Lip Gloss is now stable.
Thank you, open source community, for all your love, support,
contributions, and great style.</p>
<p>Stay tuned for a v2 alpha!</p>
<h2>v0.13.1</h2>
<h1>Table improvements, on stream</h1>
<p><a href="https://github.com/bashbunni"><code>@​bashbunni</code></a>
went to town in this release and fixed a bunch of bugs, mostly around
table. Best of all, she did most of it <a
href="https://www.twitch.tv/bashbunni">on stream</a>.</p>
<h2>Changelog</h2>
<h3>Table</h3>
<ul>
<li>fix(table): use table height by <a
href="https://github.com/Broderick-Westrope"><code>@​Broderick-Westrope</code></a>
in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/358">charmbracelet/lipgloss#358</a></li>
<li>fix(table): unset data rows without causing nil pointer err by <a
href="https://github.com/bashbunni"><code>@​bashbunni</code></a> in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/372">charmbracelet/lipgloss#372</a></li>
<li>fix(table): shared indices for first row of data and headers
(StyleFunc bug) by <a
href="https://github.com/bashbunni"><code>@​bashbunni</code></a> in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/377">charmbracelet/lipgloss#377</a></li>
<li>fix(table): do not shrink table with offset by <a
href="https://github.com/bashbunni"><code>@​bashbunni</code></a> in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/373">charmbracelet/lipgloss#373</a></li>
<li>fix(table): include margins for cell width by <a
href="https://github.com/bashbunni"><code>@​bashbunni</code></a> in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/401">charmbracelet/lipgloss#401</a></li>
</ul>
<h3>Other Stuff</h3>
<ul>
<li>fix(render): strip carriage returns from strings by <a
href="https://github.com/bashbunni"><code>@​bashbunni</code></a> in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/386">charmbracelet/lipgloss#386</a></li>
</ul>
<h2>Bonus</h2>
<ul>
<li>docs(example): rainbow string by <a
href="https://github.com/caarlos0"><code>@​caarlos0</code></a> in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/96">charmbracelet/lipgloss#96</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Broderick-Westrope"><code>@​Broderick-Westrope</code></a>
made their first contribution in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/358">charmbracelet/lipgloss#358</a></li>
<li><a href="https://github.com/swrenn"><code>@​swrenn</code></a> made
their first contribution in <a
href="https://redirect.github.com/charmbracelet/lipgloss/pull/364">charmbracelet/lipgloss#364</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/charmbracelet/lipgloss/compare/v0.13.0...v0.13.1">https://github.com/charmbracelet/lipgloss/compare/v0.13.0...v0.13.1</a></p>
<hr />
<p><!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML
omitted --></p>
<p>Thoughts? Questions? We love hearing from you. Feel free to reach out
on <a href="https://twitter.com/charmcli">Twitter</a>, <a
href="https://mastodon.technology/@charm">The Fediverse</a>, or on <a
href="https://charm.sh/chat">Discord</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/761d265f761271293f20f9bf62884b15f2d7c0cc"><code>761d265</code></a>
feat(deps): bump github.com/charmbracelet/x/ansi from 0.4.0 to
0.4.2</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/342e7b051b45419b6f052c1d4b83e904e14414ff"><code>342e7b0</code></a>
chore(ci): sync golangci-lint config</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/da324b123d09dc2d194c6911d440371ed463e4c8"><code>da324b1</code></a>
feat(deps): bump github.com/charmbracelet/x/ansi from 0.3.2 to
0.4.0</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/78fd6fd42f6e6b028bac3dcc8dcd9652fc15afa0"><code>78fd6fd</code></a>
chore(ci): sync golangci-lint config</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/407dc3d2cf84b9abeae83e7a12277a84ab01eab4"><code>407dc3d</code></a>
feat(ci): add lint-sync workflow</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/284c0c5c55441a0d11bd07c5496593e676f4dfd0"><code>284c0c5</code></a>
docs(list): fix list examples in godoc (<a
href="https://redirect.github.com/charmbracelet/lipgloss/issues/404">#404</a>)</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/d8581323b63a3bb43c6d5247a00353d7cbd1d236"><code>d858132</code></a>
fix(table): include margins in cell width (<a
href="https://redirect.github.com/charmbracelet/lipgloss/issues/401">#401</a>)</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/80b4221fc123fbe3374dee85216be698cf7c8556"><code>80b4221</code></a>
chore(lint): update linter (<a
href="https://redirect.github.com/charmbracelet/lipgloss/issues/405">#405</a>)</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/fa2f4b06ca711f1be00f83bc9a64d49e6bbb9ee7"><code>fa2f4b0</code></a>
docs(readme): update example screenshot with blend</li>
<li><a
href="https://github.com/charmbracelet/lipgloss/commit/68ca8486fcd181ba9d7df258c5ef0979b53090b9"><code>68ca848</code></a>
docs: update contributing guidelines (<a
href="https://redirect.github.com/charmbracelet/lipgloss/issues/396">#396</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/charmbracelet/lipgloss/compare/v0.13.0...v1.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/charmbracelet/lipgloss&package-manager=go_modules&previous-version=0.13.0&new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 20:28:05 +11:00
dependabot[bot] cf96d91625 chore: bump dayjs from 1.11.4 to 1.11.13 in /site (#15332)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:34:35 +05:00
dependabot[bot] 3796344d3f chore: bump github.com/elastic/go-sysinfo from 1.14.0 to 1.15.0 (#15353)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:33:50 +05:00
dependabot[bot] a1b03fa6d2 chore: bump google.golang.org/api from 0.203.0 to 0.204.0 (#15356)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:33:33 +05:00
dependabot[bot] 4a8fe424df chore: bump github.com/open-policy-agent/opa from 0.69.0 to 0.70.0 (#15358)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-03 22:33:18 -08:00
dependabot[bot] 56326307f2 chore: bump github.com/hashicorp/terraform-json from 0.22.1 to 0.23.0 (#15355)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:33:04 +05:00
dependabot[bot] 98bb560f63 chore: bump the react group across 2 directories with 2 updates (#15319)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 06:11:44 +00:00
Muhammad Atif Ali 3a5a42ffa9 chore: update workflow permissions (#15349) 2024-11-04 11:09:40 +05:00
Muhammad Atif Ali 065263a852 chore: update dependabot config and pin Docker images (#15194) 2024-11-04 11:01:54 +05:00
dependabot[bot] b529393f6f chore: bump @chakra-ui/react from 2.9.3 to 2.10.3 in /offlinedocs (#15326)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:01:34 +05:00
dependabot[bot] 6153880e9c chore: bump @swc/jest from 0.2.36 to 0.2.37 in /site (#15331)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:00:35 +05:00
dependabot[bot] 9f867a48c3 chore: bump typescript from 5.6.2 to 5.6.3 in /site (#15335)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 11:00:27 +05:00
dependabot[bot] 7b81b3fb8a chore: bump @types/lodash from 4.14.196 to 4.17.13 in /offlinedocs (#15325)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 10:55:22 +05:00
dependabot[bot] 8a72e9a4d2 chore: bump next from 14.2.14 to 14.2.16 in /offlinedocs (#15324)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 10:55:14 +05:00
dependabot[bot] 48253581ed chore: bump chromatic from 11.3.0 to 11.16.3 in /site (#15329)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 10:54:43 +05:00
Benjamin Peinhardt 040e5cf9f3 docs: provide example regexes to properly escape . characters (#14983) 2024-11-03 10:01:06 -06:00
Edward AngertandEdwardAngert 1f93b80e09 chore: fix docs/admin links and upgrade notice (#15043)
- Update links to /docs/admin to match the new structure
- TODO: remove the release string from the "upgrade available"
instructions link
- [x]
https://github.com/coder/coder/blob/update-upgrade-config-links/cli/server.go#L646


![2024-10-11_11-35-40](https://github.com/user-attachments/assets/fd95e821-d5ad-4c91-a38a-066046c7072c)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-01 19:43:51 +00:00
Stephen Kirby 399c830b51 chore(docs): add info on new build timings in docs (#15310)
Adds information on workspace build timings in workspace lifecycle and
template troubleshooting docs.
2024-11-01 12:17:50 -05:00
Bruno QuaresmaandDanny Kopping e232aee011 feat(site): add agent connection timings (#15276)
Local preview:

<img width="1260" alt="Screenshot 2024-10-29 at 16 16 01"
src="https://github.com/user-attachments/assets/10fdb20d-1f2a-4b0a-a8a1-171050ee620d">


Close https://github.com/coder/internal/issues/116

---------

Co-authored-by: Danny Kopping <danny@coder.com>
2024-11-01 13:29:00 -03:00
18ef954a03 docs: add new best practice doc to speed up templates and workspaces (#15296)
closes https://github.com/coder/coder/issues/14858

- [x] TODO: update `build-timeline.png`
- [x] TODO: `Best practices` doesn't show up in the sidebar until you're
actually in the doc 🤔


[preview](https://coder.com/docs/@bp-speed-up-templates/tutorials/best-practices/speed-up-templates)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
Co-authored-by: Ben Potter <ben@coder.com>
2024-11-01 11:24:35 -05:00
dependabot[bot] 13b97cf3dc chore: bump @storybook/addon-actions from 8.1.11 to 8.3.5 in /site (#15330) 2024-11-01 09:58:48 -06:00
dependabot[bot] 8da30a1e59 chore: update typescript from 5.6.2 to 5.6.3 in /offlinedocs (#15323) 2024-11-01 09:58:14 -06:00
dependabot[bot] 85f05ad396 chore: bump @types/jest from 29.5.13 to 29.5.14 in /site in the jest group (#15320) 2024-11-01 12:47:47 -03:00
Steven Masley 854044e811 chore: fix concurrent CommitQuota transactions for unrelated users/orgs (#15261)
The failure condition being fixed is `w1` and `w2` could belong
to different users, organizations, and templates and still cause a
serializable failure if run concurrently. This is because the old query 
did a `seq scan` on the `workspace_builds` table. Since that is the 
table being updated, we really want to prevent that.

So before this would fail for any 2 workspaces. Now it only fails if
`w1` and `w2` are owned by the same user and organization.
2024-11-01 11:05:49 -04:00
dependabot[bot] 47f9a8aeb8 chore: bump eslint-config-next from 14.2.14 to 14.2.16 in /offlinedocs (#15327)
Bumps
[eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next)
from 14.2.14 to 14.2.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">eslint-config-next's
releases</a>.</em></p>
<blockquote>
<h2>v14.2.15</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>support breadcrumb style catch-all parallel routes <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/65063">#65063</a></li>
<li>Provide non-dynamic segments to catch-all parallel routes <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/65233">#65233</a></li>
<li>Fix client reference access causing metadata missing <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/70732">#70732</a></li>
<li>feat(next/image): add support for decoding prop <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/70298">#70298</a></li>
<li>feat(next/image): add images.localPatterns config <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/70529">#70529</a></li>
<li>fix(next/image): handle undefined images.localPatterns config in
images-manifest.json</li>
<li>fix: Do not omit alt on getImgProps return type, ImgProps <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/70608">#70608</a></li>
<li>[i18n] Routing fix <a
href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/70761">#70761</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ztanner"><code>@​ztanner</code></a>, <a
href="https://github.com/agadzik"><code>@​agadzik</code></a>, <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/styfle"><code>@​styfle</code></a>, <a
href="https://github.com/icyJoseph"><code>@​icyJoseph</code></a> and <a
href="https://github.com/wyattjoh"><code>@​wyattjoh</code></a> for
helping!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vercel/next.js/commit/3c01e3a9a17e5cc8d060b87e57d30ef544fe5dcd"><code>3c01e3a</code></a>
v14.2.16</li>
<li><a
href="https://github.com/vercel/next.js/commit/737c29e49f9532cce3da8e25d88bc82cf5f5fe9a"><code>737c29e</code></a>
v14.2.15</li>
<li>See full diff in <a
href="https://github.com/vercel/next.js/commits/v14.2.16/packages/eslint-config-next">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-config-next&package-manager=npm_and_yarn&previous-version=14.2.14&new-version=14.2.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 10:14:51 -03:00
Ethan 5f60a8d9e3 fix: create contexts per sub-test to fix flake (#15314)
Flake seen here:
https://github.com/coder/coder/actions/runs/11624011543/job/32371950701

https://coder.com/blog/go-testing-contexts-and-t-parallel
2024-11-01 23:22:36 +11:00
Spike Curtis 005ea536a5 fix: fix Listen/Unlisten race on Pubsub (#15315)
Fixes #15312

When we need to `Unlisten()` for an event, instead of immediately removing the event from the `p.queues`, we store a channel to signal any goroutines trying to Subscribe to the same event when we are done. On `Subscribe`, if the channel is present, wait for it before calling `Listen` to ensure the ordering is correct.
2024-11-01 14:35:26 +04:00
Cian Johnston fbbefa228d chore(.gitignore): add .zed_server to .gitignore (#15316) 2024-11-01 09:58:52 +00:00
Mathias Fredriksson bd9151d224 fix(coderd/database/pubsub): prevent listeners read outside mutex lock (#15303)
https://github.com/coder/coder/actions/runs/11611105362/job/32331771969#logs

```
2024-10-31T11:36:45.9225038Z WARNING: DATA RACE
2024-10-31T11:36:45.9225120Z Write at 0x00c0000d8030 by goroutine 26:
2024-10-31T11:36:45.9225200Z   runtime.mapdelete()
2024-10-31T11:36:45.9225412Z       /opt/hostedtoolcache/go/1.22.8/x64/src/runtime/map.go:696 +0x0
2024-10-31T11:36:45.9225647Z   github.com/coder/coder/v2/coderd/database/pubsub.(*PGPubsub).subscribeQueue.func2()
2024-10-31T11:36:45.9225906Z       /home/runner/work/coder/coder/coderd/database/pubsub/pubsub.go:277 +0x131
2024-10-31T11:36:45.9225993Z   runtime.deferreturn()
2024-10-31T11:36:45.9226210Z       /opt/hostedtoolcache/go/1.22.8/x64/src/runtime/panic.go:602 +0x5d
2024-10-31T11:36:45.9226283Z   testing.tRunner()
2024-10-31T11:36:45.9226519Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1689 +0x21e
2024-10-31T11:36:45.9226603Z   testing.(*T).Run.gowrap1()
2024-10-31T11:36:45.9226831Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1742 +0x44
2024-10-31T11:36:45.9226836Z 
2024-10-31T11:36:45.9226934Z Previous read at 0x00c0000d8030 by goroutine 112:
2024-10-31T11:36:45.9227159Z   github.com/coder/coder/v2/coderd/database/pubsub.(*PGPubsub).subscribeQueue.func2()
2024-10-31T11:36:45.9227462Z       /home/runner/work/coder/coder/coderd/database/pubsub/pubsub.go:284 +0x1b6
2024-10-31T11:36:45.9227661Z   github.com/coder/coder/v2/enterprise/replicasync.(*Manager).subscribe.func3()
2024-10-31T11:36:45.9227936Z       /home/runner/work/coder/coder/enterprise/replicasync/replicasync.go:228 +0x53
2024-10-31T11:36:45.9227941Z 
2024-10-31T11:36:45.9228019Z Goroutine 26 (running) created at:
2024-10-31T11:36:45.9228096Z   testing.(*T).Run()
2024-10-31T11:36:45.9228318Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1742 +0x825
2024-10-31T11:36:45.9228498Z   github.com/coder/coder/v2/enterprise/replicasync_test.TestReplica()
2024-10-31T11:36:45.9228777Z       /home/runner/work/coder/coder/enterprise/replicasync/replicasync_test.go:33 +0x4b
2024-10-31T11:36:45.9228847Z   testing.tRunner()
2024-10-31T11:36:45.9229063Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1689 +0x21e
2024-10-31T11:36:45.9229142Z   testing.(*T).Run.gowrap1()
2024-10-31T11:36:45.9229366Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1742 +0x44
2024-10-31T11:36:45.9229369Z 
2024-10-31T11:36:45.9229443Z Goroutine 112 (finished) created at:
2024-10-31T11:36:45.9229685Z   github.com/coder/coder/v2/enterprise/replicasync.(*Manager).subscribe()
2024-10-31T11:36:45.9229952Z       /home/runner/work/coder/coder/enterprise/replicasync/replicasync.go:226 +0x568
2024-10-31T11:36:45.9230092Z   github.com/coder/coder/v2/enterprise/replicasync.New()
2024-10-31T11:36:45.9230361Z       /home/runner/work/coder/coder/enterprise/replicasync/replicasync.go:101 +0x1344
2024-10-31T11:36:45.9230547Z   github.com/coder/coder/v2/enterprise/replicasync_test.TestReplica.func1()
2024-10-31T11:36:45.9230836Z       /home/runner/work/coder/coder/enterprise/replicasync/replicasync_test.go:48 +0x26a
2024-10-31T11:36:45.9230904Z   testing.tRunner()
2024-10-31T11:36:45.9231127Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1689 +0x21e
2024-10-31T11:36:45.9231207Z   testing.(*T).Run.gowrap1()
2024-10-31T11:36:45.9231431Z       /opt/hostedtoolcache/go/1.22.8/x64/src/testing/testing.go:1742 +0x44
```
2024-11-01 11:24:29 +04:00
Ethan b1298a3c1e feat: add WorkspaceUpdates tailnet RPC (#14847)
Closes #14716
Closes #14717

Adds a new user-scoped tailnet API endpoint (`api/v2/tailnet`) with a new RPC stream for receiving updates on workspaces owned by a specific user, as defined in #14716. 

When a stream is started, the `WorkspaceUpdatesProvider` will begin listening on the user-scoped pubsub events implemented in #14964. When a relevant event type is seen (such as a workspace state transition), the provider will query the DB for all the workspaces (and agents) owned by the user. This gets compared against the result of the previous query to produce a set of workspace updates. 

Workspace updates can be requested for any user ID, however only workspaces the authorised user is permitted to `ActionRead` will have their updates streamed.
Opening a tunnel to an agent requires that the user can perform `ActionSSH` against the workspace containing it.
2024-11-01 14:53:53 +11:00
Ethan f941e78079 chore: add db query to retrieve workspaces & their agents (#14792)
Second PR for #14716.

Adds a query that, given a user ID, returns all the workspaces they own, that can also be `ActionRead` by the requesting user.

```
type GetWorkspacesAndAgentsByOwnerIDRow struct {
	WorkspaceID      uuid.UUID            `db:"workspace_id" json:"workspace_id"`
	WorkspaceName    string               `db:"workspace_name" json:"workspace_name"`
	JobStatus        ProvisionerJobStatus `db:"job_status" json:"job_status"`
	Transition       WorkspaceTransition  `db:"transition" json:"transition"`
	Agents           []AgentIDNamePair    `db:"agents" json:"agents"`
}
```
 `JobStatus` and `Transition` are set using the latest build/job of the workspace. Deleted workspaces are not included.
2024-11-01 14:36:12 +11:00
Ethan 31506e694b chore: send workspace pubsub events by owner id (#14964)
We currently send empty payloads to pubsub channels of the form `workspace:<workspace_id>` to notify listeners of updates to workspaces (such as for refreshing the workspace dashboard).

To support https://github.com/coder/coder/issues/14716, we'll instead send `WorkspaceEvent` payloads to pubsub channels of the form `workspace_owner:<owner_id>`. This enables a listener to receive events for all workspaces owned by a user.
This PR replaces the usage of the old channels without modifying any existing behaviors.

```
type WorkspaceEvent struct {
	Kind        WorkspaceEventKind `json:"kind"`
	WorkspaceID uuid.UUID          `json:"workspace_id" format:"uuid"`
	// AgentID is only set for WorkspaceEventKindAgent* events
	// (excluding AgentTimeout)
	AgentID *uuid.UUID `json:"agent_id,omitempty" format:"uuid"`
}
```

We've defined `WorkspaceEventKind`s based on how the old channel was used, but it's not yet necessary to inspect the types of any of the events, as the existing listeners are designed to fire off any of them.

```
WorkspaceEventKindStateChange     WorkspaceEventKind = "state_change"
WorkspaceEventKindStatsUpdate     WorkspaceEventKind = "stats_update"
WorkspaceEventKindMetadataUpdate  WorkspaceEventKind = "mtd_update"
WorkspaceEventKindAppHealthUpdate WorkspaceEventKind = "app_health"

WorkspaceEventKindAgentLifecycleUpdate  WorkspaceEventKind = "agt_lifecycle_update"
WorkspaceEventKindAgentLogsUpdate       WorkspaceEventKind = "agt_logs_update"
WorkspaceEventKindAgentConnectionUpdate WorkspaceEventKind = "agt_connection_update"
WorkspaceEventKindAgentLogsOverflow     WorkspaceEventKind = "agt_logs_overflow"
WorkspaceEventKindAgentTimeout          WorkspaceEventKind = "agt_timeout"
```
2024-11-01 14:17:05 +11:00
Colin Adler 088f21965b feat: add audit logs for dormancy events (#15298) 2024-10-31 17:55:42 -05:00
Mathias Fredriksson 14565615be test(coderd/database/pubsub): fix data race in err assignment (#15306) 2024-10-31 22:37:19 +02:00