We seem to be hitting `assert_receive`-style much more frequently after
"upgrading" to Enterprise Cloud (our credits expired, I was able to
renew them).
This updates the global timeout to 500ms for `assert_receive` to reduce
the likelihood `assert_push` and friends will time out on slow GH
runners.
E.g.
https://github.com/firezone/firezone/actions/runs/9556532328/job/26341986456
---------
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
In #5273, I assumed that connlib optionally expected
`address_description`, but this is not the case. That feature assumes
the admin will optionally enter `address_description` to **override**
the address shown in Clients. The Clients already expect an optional
type for `address_description` and implement the correct behavior.
This PR is a workaround to prevent breaking existing Clients until we
can be relatively sure most clients have upgraded, in ~2 months.
Fixes#5270
- Relaxes the `NOT NULL` constraint because in Clients we already
account for empty address descriptions (by showing the address in its
place if missing). We may want to simply hide the Resource altogether if
the description is missing (based on user feedback). With a blank field,
we can differentiate between not entered vs entered an address.
- Updates help text a bit
```[tasklist]
- [x] Update docs with examples
```
<img width="772" alt="Screenshot 2024-06-06 at 12 01 48 PM"
src="https://github.com/firezone/firezone/assets/167144/523aa0ff-f30d-44cb-bb3c-5d5cda7236e6">
---------
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
For oidc users, `provider_identifier` is an id and not the email of the
user.
Contributed by @Intuinewin
---------
Co-authored-by: Antoine <antoinelabarussias@gmail.com>
Why:
* JumpCloud directory sync was requested from customers. JumpCloud only
offers the ability to use it's API with an admin level access token that
is tied to a specific user within a given JumpCloud account. This would
require Firezone customers to give an access token with much more
permissions that needed for our directory sync. To avoid this, we've
decide to use WorkOS to provide SCIM support between JumpCloud and
WorkOS, which will allow Firezone to then easily and safely retrieve
JumpCloud directory info from WorkOS.
---------
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
- Fixes policy creation when `policy_conditions` is disabled
- Updates design so that items are a little more aligned and text has
more / consistent spacing around.
https://github.com/firezone/firezone/assets/167144/b9c29110-ae1c-4841-b999-a0da022f4a38
Test is failing though. Before sinking more time into this I wanted to
open this PR to get @AndrewDryga's input.
- Removes version numbers from infra components (elixir/relay)
- Removes version bumping from Rust workspace members that don't get
published
- Splits release publishing into `gateway-`, `headless-client-`, and
`gui-client-`
- Removes auto-deploying new infrastructure when a release is published.
Use the Deploy Production workflow instead.
Fixes#4397
Bumps [ecto_sql](https://github.com/elixir-ecto/ecto_sql) from 3.11.1 to
3.11.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md">ecto_sql's
changelog</a>.</em></p>
<blockquote>
<h2>v3.11.2 (2024-05-18)</h2>
<h3>Enhancements</h3>
<ul>
<li>[postgres] Relax <code>postgrex</code> dependency</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="da8508aeee"><code>da8508a</code></a>
Release v3.11.2</li>
<li><a
href="08bf175315"><code>08bf175</code></a>
Relax postgres dependency</li>
<li>See full diff in <a
href="https://github.com/elixir-ecto/ecto_sql/compare/v3.11.1...v3.11.2">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [nimble_options](https://github.com/dashbitco/nimble_options) from
1.1.0 to 1.1.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/dashbitco/nimble_options/blob/main/CHANGELOG.md">nimble_options's
changelog</a>.</em></p>
<blockquote>
<h2>v1.1.1 (2024-05-25)</h2>
<ul>
<li>Fix typespecs to avoid Dialyzer warnings</li>
<li>Do not list default values as part of received options</li>
<li>Mark structs in backticks for doc references</li>
<li>List deprecations in docs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cc80e7e6fd"><code>cc80e7e</code></a>
Release v1.1.1</li>
<li><a
href="4e34df13fe"><code>4e34df1</code></a>
Fix value of "received options" in error message (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/128">#128</a>)</li>
<li><a
href="a3acae8e31"><code>a3acae8</code></a>
Adjust specs for map support (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/126">#126</a>)</li>
<li><a
href="c68a12726c"><code>c68a127</code></a>
Show :deprecated in docs (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/125">#125</a>)</li>
<li><a
href="57f5a479e7"><code>57f5a47</code></a>
Fix test (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/123">#123</a>)</li>
<li><a
href="104593b5a2"><code>104593b</code></a>
Link struct reference in docs (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/122">#122</a>)</li>
<li><a
href="129c026b9f"><code>129c026</code></a>
Bump Elixir to 1.16 in CI</li>
<li>See full diff in <a
href="https://github.com/dashbitco/nimble_options/compare/v1.1.0...v1.1.1">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [phoenix_ecto](https://github.com/phoenixframework/phoenix_ecto)
from 4.5.1 to 4.6.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_ecto/blob/main/CHANGELOG.md">phoenix_ecto's
changelog</a>.</em></p>
<blockquote>
<h2>v4.6.1</h2>
<ul>
<li>Bug fix
<ul>
<li>Ensure "Create database" action is shown when database is
not available</li>
</ul>
</li>
</ul>
<h2>v4.6.0</h2>
<ul>
<li>Enhancements
<ul>
<li>Return 400 for character encoding errors in Postgrex</li>
<li>Bump Elixir requirement to v1.11+</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="98fbe74e99"><code>98fbe74</code></a>
Release v4.6.1</li>
<li><a
href="bf499065a4"><code>bf49906</code></a>
Show create database action when there is no database</li>
<li><a
href="a893d11f47"><code>a893d11</code></a>
Release v4.6.0</li>
<li><a
href="d67a3b3a47"><code>d67a3b3</code></a>
Return 400 for character encoding errors (<a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/175">#175</a>)</li>
<li><a
href="3bdb207e31"><code>3bdb207</code></a>
Fix map.field notation warning on Elixir 1.17 (<a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/174">#174</a>)</li>
<li>See full diff in <a
href="https://github.com/phoenixframework/phoenix_ecto/compare/v4.5.1...v4.6.1">compare
view</a></li>
</ul>
</details>
<br />
[](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>
`tls_options` are only used for STARTTLS. To handle SMTP servers where
SSL/TLS is enforced (i.e `ssl: "true"`), users must be able to provide
custom `sockopts`
da7893dbe5/src/gen_smtp_client.erl (L853)
Feel free to correct me if I'm wrong but it seems the telemetry id is
not longer used in Firezone 1.x
Removing this uuid generation would allow me to put the folder
`/var/firezone` as readonly instead of mounting a
[volume](367a46a5c8/firezone/values.yaml (L157))
to allow firezone to write inside. The folder `/var/firezone` seems to
be used only for this purpose
Maybe I should also remove
[this](49a965a686/elixir/Dockerfile (L293))
?
PS: I cannot find the contrib branch, but don't hesite to create it and
change the target branch of this PR
Co-authored-by: Antoine <antoinelabarussias@gmail.com>
- Ensure IP address appears on newline always
- Dedicate 3/12 width for table columns that can contain IPv6 addresses
- Removes the `(IP)` parentheses because that makes it hard to
copy/paste the IP
Fixes#4992
Why:
* The new flow for creating an identity provider in Firezone allows the
user to not have to worry what features their plan has enabled. It will
allow the user to select which identity provider they use and will take
them to the appropriate form depending on the features they have enabled
on their plan.
## Screenshots
### Selecting an identity provider
<img width="937" alt="Screenshot 2024-05-14 at 11 53 17 AM"
src="https://github.com/firezone/firezone/assets/2646332/31337ad9-13c8-43a2-942c-adb0a951167c">
### New OIDC form when a custom provider is selected but IDP sync is not
enabled for account
<img width="903" alt="Screenshot 2024-05-14 at 11 54 58 AM"
src="https://github.com/firezone/firezone/assets/2646332/2e18d788-60c3-4fad-b749-351559a24aca">
Why:
I've been on two live support calls now where the user didn't realize
the simply clicking the "Add" button didn't save the Group memberships
form, so they were confused why their user wasn't in the group, and why
their client couldn't access the Resources they were trying to access.
- The color of the "Add/Remove" buttons are changed to make the Save
button at the bottom stand out a little more.
- Tidies up a couple other minor issues found while implementing this.
# Before
<img width="910" alt="Screenshot 2024-05-11 at 6 26 23 PM"
src="https://github.com/firezone/firezone/assets/167144/d2bdba74-6dba-4904-a13b-faeba3e0b0d0">
# After
<img width="902" alt="Screenshot 2024-05-11 at 6 25 15 PM"
src="https://github.com/firezone/firezone/assets/167144/2adf937c-4dd0-4d51-a7d3-a73e764e3493">
Bumps
[ex_cldr_dates_times](https://github.com/elixir-cldr/cldr_dates_times)
from 2.16.0 to 2.17.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-cldr/cldr_dates_times/releases">ex_cldr_dates_times's
releases</a>.</em></p>
<blockquote>
<h2>v2.17.1</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Add <code>config/prod.exs</code> so that the library can be compiled
with <code>MIX_ENV=prod</code>. Thanks to <a
href="https://github.com/camelpunch"><code>@camelpunch</code></a> for
the PR. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/45">#45</a>.</li>
</ul>
<h2>Cldr Dates Times version 2.17.0</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>Fix formatting with formats that have may have pluralization like the
<code>:MMMMW</code> and <code>:yw</code> formats.</p>
</li>
<li>
<p>Fix <code>:underspecs</code> for dialyzer.</p>
</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li>
<p>Update to <a
href="https://cldr.unicode.org/index/downloads/cldr-45">CLDR 45.0</a>
data.</p>
</li>
<li>
<p>Adds support for formats that have both unicode whitespace and ascii
whitespace versions. The option <code>:prefer</code> is added to
<code>Cldr.DateTime.to_string/3</code>. The default is <code>prefer:
:unicode</code>. The option <code>prefer: :ascii</code> is included for
backwards compatibility of older applications. The formats that provide
both <code>:unicode</code> and <code>:ascii</code> versions can be seen
from the results of
<code>Cldr.DateTime.Format.date_time_available_formats/2</code>.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-cldr/cldr_dates_times/blob/main/CHANGELOG.md">ex_cldr_dates_times's
changelog</a>.</em></p>
<blockquote>
<h2>Cldr_Dates_Times v2.17.1</h2>
<p>This is the changelog for Cldr_Dates_Times v2.17.1 released on May
2nd, 2024. For older changelogs please consult the release tag on <a
href="https://github.com/elixir-cldr/cldr_cldr_dates_times/tags">GitHub</a></p>
<h3>Bug Fixes</h3>
<ul>
<li>Add <code>config/prod.exs</code> so that the library can be compiled
with <code>MIX_ENV=prod</code>. Thanks to <a
href="https://github.com/camelpunch"><code>@camelpunch</code></a> for
the PR. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/45">#45</a>.</li>
</ul>
<h2>Cldr_Dates_Times v2.17.0</h2>
<p>This is the changelog for Cldr_Dates_Times v2.17.0 released on April
21st, 2024. For older changelogs please consult the release tag on <a
href="https://github.com/elixir-cldr/cldr_cldr_dates_times/tags">GitHub</a></p>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>Fix formatting with formats that have may have pluralization like the
<code>:MMMMW</code> and <code>:yw</code> formats.</p>
</li>
<li>
<p>Fix <code>:underspecs</code> for dialyzer.</p>
</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li>
<p>Update to <a
href="https://cldr.unicode.org/index/downloads/cldr-45">CLDR 45.0</a>
data.</p>
</li>
<li>
<p>Adds support for formats that have both unicode whitespace and ascii
whitespace versions. The option <code>:prefer</code> is added to
<code>Cldr.DateTime.to_string/3</code>. The default is <code>prefer:
:unicode</code>. The option <code>prefer: :ascii</code> is included for
backwards compatibility of older applications. The formats that provide
both <code>:unicode</code> and <code>:ascii</code> versions can be seen
from the results of
<code>Cldr.DateTime.Format.date_time_available_formats/2</code>.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3014439223"><code>3014439</code></a>
Bump version and changelog</li>
<li><a
href="d98295dc9e"><code>d98295d</code></a>
Merge pull request <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/45">#45</a>
from code-supply/prod-exs</li>
<li><a
href="c7406f1568"><code>c7406f1</code></a>
Empty prod.exs</li>
<li><a
href="2d271a3979"><code>2d271a3</code></a>
Update CI matrix</li>
<li><a
href="c8be91bf90"><code>c8be91b</code></a>
Reorder changelog entry</li>
<li><a
href="916f591824"><code>916f591</code></a>
Fix doc spelling errors</li>
<li><a
href="19c2dd5b87"><code>19c2dd5</code></a>
Fix lexer file name</li>
<li><a
href="bfc324a7f0"><code>bfc324a</code></a>
Ready for CLDR 45</li>
<li><a
href="cf3c02cb49"><code>cf3c02c</code></a>
Support unicode/ascii and pluralized formats</li>
<li><a
href="ae29d5e891"><code>ae29d5e</code></a>
Transform data to include pluralization field where required</li>
<li>Additional commits viewable in <a
href="https://github.com/elixir-cldr/cldr_dates_times/compare/v2.16.0...v2.17.1">compare
view</a></li>
</ul>
</details>
<br />
[](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>
- Makes the group badges a little easier on the eyes, and reduces their
size to improve layout flow a bit. Allows to more quickly identity
provider adapters at-a-glance.
- Fix group badge wrapping so that long group names don't flow into the
next table cell
Fixes#4905
<img width="1209" alt="Screenshot 2024-05-10 at 7 24 59 AM"
src="https://github.com/firezone/firezone/assets/167144/fba4190a-af0a-464a-b3b1-9e98505c59fb">