Commit Graph

486 Commits

Author SHA1 Message Date
Jamil
bfbf570191 ci: Increase default assert_receive timeout to 500ms from 100ms (#5417)
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>
2024-06-17 18:35:11 -07:00
Andrew
67c1425917 Try to fix file permissions issues for Tzdata 2024-06-17 18:10:18 -06:00
Jamil
c1d68340a7 fix(portal): Fix all website links in product (#5401)
Adds a dedicated `anchor` attr to the `website_link` component because
the order of components in a URL must be `/path?params#anchor`.
2024-06-17 17:59:43 +00:00
Jamil
27e6672a5d fix(portal): Make Conditions label color match other labels (#5389)
Very minor thing I noticed today.
2024-06-17 14:05:05 +00:00
Jamil
17ea02d1a9 fix(portal): Don't send null address_description (#5365)
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.
2024-06-14 01:56:16 +00:00
Andrew Dryga
526f9ca269 fix(portal): Fix various production bugs with IdPs (#5342)
Closes #5335
2024-06-12 20:01:51 -06:00
Jamil
e2d5ae5cac fix(portal): Fix nil error for address_description (#5346)
We try to parse `address_description` as a link on the resources/show
page, but it can be nil.
2024-06-12 18:54:48 -07:00
Jamil
fd3d66293c feat(portal): Enable address_description field to provide hint for accessing Resources in Clients (#5273)
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>
2024-06-12 16:21:56 +00:00
Jamil
77d979e67b fix(portal): fix email sent flash when using oidc (#5128) (#5267)
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>
2024-06-12 16:21:30 +00:00
Brian Manifold
26d8f7eab3 feat(portal): Add WorkOS/JumpCloud integration (#5269)
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>
2024-06-12 15:45:33 +00:00
Jamil
8700a680d5 chore: Bump versions to point to new artifacts (#5337)
Currently dl links are broken due to the updated format.
2024-06-12 00:01:59 -07:00
Jamil
2e436f7f77 chore(portal): Fix policy creation for conditions disabled; tweak design (#5301)
- 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.
2024-06-11 11:41:06 -07:00
Jamil
7e533c42f8 refactor: Split releases for Clients and Gateways (#5287)
- 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
2024-06-10 16:47:49 +00:00
Andrew Dryga
650d7d7998 feat(portal): Add Policy conditions (#5144)
Now policies can have additional conditions based on Client location
(country or IP range), IdP provider used for sign in or the current time
of the day at a given timezone. This covers use cases where employees
can access the production system only from certain countries (states can
be added later) or when contractors can only access internal tools
during working hours.

Closes https://github.com/firezone/firezone/issues/4743
Closes #4742
Closes #4741
Closes #4740


<img width="1728" alt="Screenshot 2024-05-31 at 13 50 53"
src="https://github.com/firezone/firezone/assets/1877644/55f509f2-0f49-4edb-8c03-7a5a6d884ccc">
<img width="1728" alt="Screenshot 2024-05-31 at 13 50 56"
src="https://github.com/firezone/firezone/assets/1877644/756bb03f-4024-4978-ac85-6daa918ae037">
<img width="1728" alt="Screenshot 2024-05-31 at 13 51 01"
src="https://github.com/firezone/firezone/assets/1877644/cf159a86-077f-4ada-9952-9e8d399d0dc1">
<img width="1728" alt="Screenshot 2024-05-31 at 13 51 03"
src="https://github.com/firezone/firezone/assets/1877644/c070719e-2d4b-41bd-ad03-430baf2dbe9b">
<img width="676" alt="Screenshot 2024-05-31 at 14 56 06"
src="https://github.com/firezone/firezone/assets/1877644/435a4951-479d-4371-99c4-29a055348175">
2024-06-09 12:46:35 -06:00
dependabot[bot]
7fdd9bfce1 build(deps): Bump ecto_sql from 3.11.1 to 3.11.2 in /elixir (#5176)
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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ecto_sql&package-manager=hex&previous-version=3.11.1&new-version=3.11.2)](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-06-07 14:17:38 +00:00
Jamil
ba6685e2f2 fix(ux): Align filters horizontally on md breakpoints and higher (#5265)
Fixes #5231 
Fixes #5232 


<img width="636" alt="Screenshot 2024-06-05 at 7 26 19 PM"
src="https://github.com/firezone/firezone/assets/167144/8e40ba37-9757-4f83-98ad-24c61efbad36">
<img width="1792" alt="Screenshot 2024-06-05 at 7 26 11 PM"
src="https://github.com/firezone/firezone/assets/167144/eca5084b-ce35-4df6-bb30-474811944ea2">
<img width="720" alt="Screenshot 2024-06-05 at 7 26 03 PM"
src="https://github.com/firezone/firezone/assets/167144/c3eccdba-b3c0-467a-91c0-5197e2a74ed6">

<img width="1791" alt="Screenshot 2024-06-05 at 7 32 16 PM"
src="https://github.com/firezone/firezone/assets/167144/64d417e3-cf74-4f20-9cf5-22b7c0cd620c">
<img width="748" alt="Screenshot 2024-06-05 at 7 32 07 PM"
src="https://github.com/firezone/firezone/assets/167144/11cd2f3a-f8ee-4098-bad9-ab21fd6c000c">
<img width="1792" alt="Screenshot 2024-06-05 at 7 31 50 PM"
src="https://github.com/firezone/firezone/assets/167144/c601eec9-956b-4229-a1c4-484c4bca5001">
<img width="1792" alt="Screenshot 2024-06-05 at 7 31 48 PM"
src="https://github.com/firezone/firezone/assets/167144/2bd2c61a-e39b-4215-8e76-b7b3835dd5aa">
<img width="1792" alt="Screenshot 2024-06-05 at 7 31 43 PM"
src="https://github.com/firezone/firezone/assets/167144/c06d431d-37c1-4ca1-8ab2-67a879cf609b">
2024-06-06 20:01:45 +00:00
dependabot[bot]
fd27f0d787 build(deps): Bump ex_cldr_dates_times from 2.17.1 to 2.18.0 in /elixir (#5174)
Bumps
[ex_cldr_dates_times](https://github.com/elixir-cldr/cldr_dates_times)
from 2.17.1 to 2.18.0.
<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>Cldr Dates Times version 2.18.0</h2>
<h3>Bug Fixes</h3>
<ul>
<li>
<p>Clarify format compiler documentation. Thanks to <a
href="https://github.com/tjchambers"><code>@​tjchambers</code></a> for
the issue. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/46">#46</a>.</p>
</li>
<li>
<p>Fix typos. Thanks to <a
href="https://github.com/tjchambers"><code>@​tjchambers</code></a> for
the PR. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/47">#47</a>.</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.18.0</h2>
<p>This is the changelog for Cldr_Dates_Times v2.18.0 released on May
29th, 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>Clarify format compiler documentation. Thanks to <a
href="https://github.com/tjchambers"><code>@​tjchambers</code></a> for
the issue. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/46">#46</a>.</p>
</li>
<li>
<p>Fix typos. Thanks to <a
href="https://github.com/tjchambers"><code>@​tjchambers</code></a> for
the PR. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/47">#47</a>.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a67e8bbcb0"><code>a67e8bb</code></a>
Fix compiler warnings for Elixir 1.17</li>
<li><a
href="ed25e659d7"><code>ed25e65</code></a>
Merge branch 'main' of <a
href="https://github.com/elixir-cldr/cldr_dates_times">https://github.com/elixir-cldr/cldr_dates_times</a></li>
<li><a
href="7875302b5f"><code>7875302</code></a>
Fix typo</li>
<li><a
href="71ed19825a"><code>71ed198</code></a>
Merge pull request <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/47">#47</a>
from tjchambers/minimim_typos</li>
<li><a
href="31bf82c20e"><code>31bf82c</code></a>
Improve compiler docs. Closes <a
href="https://redirect.github.com/elixir-cldr/cldr_dates_times/issues/46">#46</a></li>
<li><a
href="c355bdc1a4"><code>c355bdc</code></a>
Correct typos of &quot;minimim&quot;</li>
<li>See full diff in <a
href="https://github.com/elixir-cldr/cldr_dates_times/compare/v2.17.1...v2.18.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ex_cldr_dates_times&package-manager=hex&previous-version=2.17.1&new-version=2.18.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-06-06 13:44:02 +00:00
Jamil
c26869cf34 fix(ux): Use icon sizes consistent with text size (#5256)
Fixes #5229 

<img width="303" alt="Screenshot 2024-06-05 at 9 54 29 AM"
src="https://github.com/firezone/firezone/assets/167144/b234ba01-b0e2-4d6b-ab49-48f90933f4de">
<img width="282" alt="Screenshot 2024-06-05 at 9 54 24 AM"
src="https://github.com/firezone/firezone/assets/167144/126b35d6-ba39-45a0-b828-48ea50f450f5">
2024-06-06 13:12:15 +00:00
Jamil
bafa9e0625 fix(ux): Prevent <Enter> from submitting filters forms (#5213)
Fixes #5211
2024-06-06 12:48:38 +00:00
Jamil
9db3518e76 fix(ux): Remove some padding around vertical_table (#5260)
# Before

<img width="616" alt="Screenshot 2024-06-05 at 2 08 20 PM"
src="https://github.com/firezone/firezone/assets/167144/90935c5e-3e19-499c-afdc-764280b8a306">


# After
<img width="522" alt="Screenshot 2024-06-05 at 2 11 58 PM"
src="https://github.com/firezone/firezone/assets/167144/8e22b64f-6169-4e98-9408-d796f690f3c8">

Fixes #5228

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-06-06 11:49:22 +00:00
Jamil
402be27802 fix(ux): Adjust table column widths and overflow badges by truncating them (#5258)
Fixes #5230 
Fixes #5244
Fixes #5233 
Fixes #5245 
Fixes #5247 
Fixes #5237 
Fixes #5235 
Fixes #5252 

Updates the sidebar to collapse at the `xl` breakpoint, allowing to stay
closed for more screen realestate on smaller screens.

<img width="879" alt="Screenshot 2024-06-05 at 1 06 49 PM"
src="https://github.com/firezone/firezone/assets/167144/ff864e57-ba6b-42ee-bdf5-f6b046e46717">

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-06-05 23:19:33 +00:00
Jamil
0a22589c9e fix(ux): consistent pagination size of 10 (#5255)
Fixes #5226
2024-06-05 21:31:55 +00:00
Jamil
352b3865bf fix(ux): Settings linebreak (#5254)
Fixes #5253 
<img width="463" alt="Screenshot 2024-06-05 at 8 23 31 AM"
src="https://github.com/firezone/firezone/assets/167144/878f8be7-2cbc-4b8c-b2c8-41a6926f7e2a">
2024-06-05 15:39:39 +00:00
dependabot[bot]
a2ed3e05fe build(deps): Bump nimble_options from 1.1.0 to 1.1.1 in /elixir (#5175)
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 &quot;received options&quot; 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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nimble_options&package-manager=hex&previous-version=1.1.0&new-version=1.1.1)](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-06-05 14:42:06 +00:00
dependabot[bot]
1bff8892cc build(deps): Bump phoenix_ecto from 4.5.1 to 4.6.1 in /elixir (#5183)
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 &quot;Create database&quot; 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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_ecto&package-manager=hex&previous-version=4.5.1&new-version=4.6.1)](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-06-05 14:42:02 +00:00
Thomas Eizinger
d27a7a3083 feat(relay): support custom turn port (#5208)
Original PR: #5130.

Co-authored-by: Antoine <antoinelabarussias@gmail.com>
2024-06-05 04:04:17 +00:00
Antoine
d727836e2b feat(portal): support for tls only smtp servers (#5126)
`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)
2024-06-03 12:25:17 -06:00
Andrew Dryga
91983c3533 feat(portal): Send traffic filters to clients (#5202)
Closes #5201
2024-06-03 12:24:42 -06:00
Reactor Scram
55834e9e79 docs(gateway): make portal and KB consistent (#5166)
Closes #5149
2024-05-31 17:40:28 +00:00
Jamil
d921c07876 docs: Make process clearer around access approval (#5167)
Minor rewording of the process to request access to staging / prod.

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-05-31 17:07:18 +00:00
Jamil
61534f92b0 refactor(elixir): remove telemetry id generation (#5084) (#5095)
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>
2024-05-22 12:59:36 -07:00
Jamil
7c5669ef51 chore: bump version to 1.0.5 for linux/windows (#5093)
Just need a rubberstamp. This was generated with `make -f
scripts/Makefile version`
2024-05-22 18:25:12 +00:00
Jamil
cafc5c0730 fix(portal): UX: only show everyone note for users (#5073)
fixes #5064
2024-05-21 23:49:54 +00:00
Andrew Dryga
fac07808a0 Stop double-tracking page views for HubSpot 2024-05-21 17:01:51 -06:00
Andrew Dryga
f16fc2393b Manually track page views for HubSpot and send path without query parameters 2024-05-21 15:47:33 -06:00
Andrew Dryga
b8e5afa064 Disable Mixpanel debugging 2024-05-21 11:12:52 -06:00
Andrew Dryga
a7e54686b0 feat(portal): Track page views and sign ups using Mixpanel and HubSpot on public pages (#5050)
Fixes firezone/gtm#253
Fixes firezone/gtm#278
2024-05-21 10:34:56 -06:00
Jamil
048a69eef0 chore(ux): Add sync time hint help to idp show (#5034)
Adds help text to IdP show page to communicate a little more about how
the sync works and also link to the relevant docs.

Fixes #5025
2024-05-20 14:25:28 +00:00
Jamil
727d88cf6d fix(portal): Dedicate 3/12 width for columns with IPs (#5001)
- 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
2024-05-15 19:43:19 +00:00
Andrew Dryga
e11474828f Bump all Elixir deps 2024-05-14 16:10:30 -06:00
Brian Manifold
3ba7962c23 refactor(portal): Update IDP creation flow (#4984)
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">
2024-05-14 19:48:36 +00:00
Andrew Dryga
b7ced7ef56 chore(portal): Use redactor to reduce chances of accidentally logging secrets (#4983) 2024-05-14 11:30:53 -06:00
Jamil
e50b3bd865 chore: bump versions for 1.0.4 release (#4985)
Update download links etc for the 1.0.4 release
2024-05-14 16:11:12 +00:00
Andrew Dryga
3cdbc478ff Replace - with _ when building a slug 2024-05-13 10:05:50 -06:00
Andrew Dryga
758c715e85 Allow overriding provisioned customer slug from metadata field 2024-05-13 10:05:49 -06:00
Andrew Dryga
3dc68c7355 fix(portal): Verify email token identity (#4977) 2024-05-13 10:03:50 -06:00
Jamil
c34941db33 fix(portal): Use info button style for buttons that change form elements and don't submit (#4958)
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">
2024-05-12 01:48:25 +00:00
dependabot[bot]
f67b4dae9d build(deps): Bump ex_cldr_dates_times from 2.16.0 to 2.17.1 in /elixir (#4948)
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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ex_cldr_dates_times&package-manager=hex&previous-version=2.16.0&new-version=2.17.1)](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-05-11 21:19:00 +00:00
Andrew Dryga
f5b4736f12 fix(portal): Fix edge cases with OIDC discovered in logs (#4777)
Can be reviewed commit by commit.
2024-05-11 09:37:28 -06:00
Jamil
7faacd931c fix(portal): Add provider icon to identity/group badges (#4947)
- 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">
2024-05-10 20:51:27 +00:00