Commit Graph

235 Commits

Author SHA1 Message Date
Jamil
2a2cfd93f0 fix(gateway): Use sudo to write files (#3143)
Found a couple small issues with the systemd gateway when copy-pasting
onto my rpi not as a root user.
2024-01-09 13:07:17 -08:00
Andrew Dryga
ed5437c881 security(portal): Rework auth tokens (#2696)
- [x] make sure that session cookie for client is stored separately from
session cookie for the portal (will close #2647 and #2032)
- [x] #2622
- [ ] #2501
- [ ] show identity tokens and allow rotating/deleting them (#2138)
- [ ] #2042
- [ ] use Tokens context for Relays and Gateways to remove duplication
- [x] #2823
- [ ] Expire LiveView sockets when subject is expired
- [ ] Service Accounts UI is ambiguous now because of token identity and
actual token shown
- [ ] Limit subject permissions based on token type

Closes #2924. Now we extend the lifetime for client tokens, but not for
browsers.
2024-01-09 13:36:21 -06:00
Jamil
6a9ba5412c refactor(android): Remove AppLink in favor of nonce+state (#2826)
* Updates Android auth to remove AppLink authentication in favor of the
custom URI -based scheme defined in #2823
* Default browser is opened instead of requiring Chrome

Fixes #2703

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Signed-off-by: Brian Manifold <bmanifold@users.noreply.github.com>
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
Co-authored-by: Brian Manifold <bmanifold@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jason Elie Bou Kheir <5115126+jasonboukheir@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roopesh Chander <roop@roopc.net>
2024-01-09 17:41:54 +00:00
Jamil
bc93762c16 fix(gateway): Fix systemd gateways on SELinux-enabled distros and improve systemd gateway UX (#3127)
- Fix permissions and caps on each start
- Fixes incompatibility with some systemd versions that barf at the
inline `ExecStartPre`
- Fixes erroneous error printed by iptables
- Fixes masquerading not working for wireless interfaces
- Single-step systemd copy-paste command
- Fixes #2944 
- Fixes #3124 
- Fixes #3112 


Tested on CentOS 7 and Ubuntu 22.04
2024-01-08 17:56:54 +00:00
Brian Manifold
c02e7ed332 fix(portal): Update portal font to source sans 3 (#3106)
Why:

* The previous font being used in the portal (Source Sans Pro) did not
have multiple weights available, which meant that the `font-*` classes
      on all html tags were not being used.  Switching to Source Sans 3
allows all but 1 (`font-thin` or `100` is not present) of the Tailwind
      font sizes to be used.

Closes #2893
2024-01-08 17:56:43 +00:00
Jamil
408961917e fix(portal): Add help text for DNS resources (#3130)
Clarifies confusion I'm seeing on demos and will suffice until we have
in-depth docs.
2024-01-06 05:04:15 +00:00
Jamil
7b26aed586 fix(portal): Add plan badge to edit Site (#3129)
Fixes #3125
2024-01-05 19:42:22 +00:00
Jamil
e65f29c3a3 chore(website): remove PostHog in favor of Mixpanel (#3033)
* Remove PostHog from product
* Remove PostHog from website
* Add Mixpanel to website

Why? PostHog is a bit too much overhead for simple analytics for us for
now, and some of the bugs we hit prevented us from using certain
workflows.

We are still tracking `ping` events from legacy instances in PostHog.
2024-01-03 01:13:01 +00:00
Jamil
859c6c1f59 Add more in-portal documentation and empty table state context (#2984)
Refs
https://github.com/firezone/firezone/pull/2979#discussion_r1434273368

Fixes #2597
2024-01-02 19:54:48 +00:00
Jamil
05774a39fc fix(portal): Improve OIDC usability and fix unexpected Mint.TransportError causing crash (#3049)
Fixes #3044

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Brian Manifold <bmanifold@users.noreply.github.com>
2024-01-02 19:18:48 +00:00
Jamil
2a9d48fd0a fix(gateway): Fallback to get_hostname() for systemd deployments (#3029)
Fixes #3025
2024-01-02 19:01:57 +00:00
dependabot[bot]
18c3d4e871 chore(deps): bump phoenix_live_view from 0.20.1 to 0.20.2 in /elixir (#3088)
Bumps
[phoenix_live_view](https://github.com/phoenixframework/phoenix_live_view)
from 0.20.1 to 0.20.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md">phoenix_live_view's
changelog</a>.</em></p>
<blockquote>
<h2>0.20.2 (2023-12-18)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Fix javascript error when submitting a form that has in progress
uploads</li>
<li>Fix JS command <code>:target</code> failing to work when used as
phx-submit or phx-change with a selector-based target</li>
<li>Fix <code>JS.focus()</code> failing to focus negative tabindex</li>
<li>Fix <code>LiveViewTest</code> failing to remove items after stream
reset</li>
<li>Fix <code>phx-window-blur</code> and <code>phx-window-focus</code>
events not firing</li>
<li>Fix SVG anchor links throwing errors when clicked</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li>Speed up DOM patching performance 3-30x 🔥</li>
<li>Support <code>handle_async</code> Lifecycle callback</li>
<li>Extend visibility checks for phx-click-away to better handle whether
an element is visible in the viewport or not</li>
<li>Allow <code>JS.patch</code> and <code>JS.navigate</code> to be
tested with <code>render_click</code></li>
<li>Support <code>:supervisor</code> option to <code>assign_async</code>
and <code>start_async</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="343911f9d3"><code>343911f</code></a>
Release 0.20.2</li>
<li><a
href="0cb17d6c1d"><code>0cb17d6</code></a>
Bump build</li>
<li><a
href="297a782b05"><code>297a782</code></a>
Optimize maybeHideFeedback for initial page render (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2953">#2953</a>)</li>
<li><a
href="744a3ab075"><code>744a3ab</code></a>
Fix error on missing child</li>
<li><a
href="db964c5039"><code>db964c5</code></a>
Fix issue with new elements in stream DOM test (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2677">#2677</a>)</li>
<li><a
href="4ca4885580"><code>4ca4885</code></a>
Bump changelog</li>
<li><a
href="997af5773d"><code>997af57</code></a>
Add async supervised (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2818">#2818</a>)</li>
<li><a
href="2864bc024a"><code>2864bc0</code></a>
Clarify return values of :external upload functions (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2821">#2821</a>)</li>
<li><a
href="639daf0add"><code>639daf0</code></a>
Bump build</li>
<li><a
href="067b632fdc"><code>067b632</code></a>
Use moudedown rather than clicks. Fixes <a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2856">#2856</a>
<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/2554">#2554</a></li>
<li>Additional commits viewable in <a
href="https://github.com/phoenixframework/phoenix_live_view/compare/v0.20.1...v0.20.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_live_view&package-manager=hex&previous-version=0.20.1&new-version=0.20.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-01-02 18:54:07 +00:00
dependabot[bot]
2a0ce023d9 chore(deps): bump gettext from 0.23.1 to 0.24.0 in /elixir (#3076)
Bumps [gettext](https://github.com/elixir-gettext/gettext) from 0.23.1
to 0.24.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-gettext/gettext/blob/main/CHANGELOG.md">gettext's
changelog</a>.</em></p>
<blockquote>
<h2>v0.24.0</h2>
<ul>
<li>
<p>Handle singular and plural messages with the same <code>msgid</code>
as the same
message.</p>
<p>This change produces a <code>Expo.PO.DuplicateMessagesError</code> if
you already have
messages with the same singular <code>msgid</code>. This can be solved
by calling the
<code>expo.msguniq</code> mix task on your <code>.po</code> file:</p>
<pre lang="bash"><code>mix expo.msguniq \
  priv/gettext/LOCALE/LC_MESSAGES/DOMAIN.po \
  --output-file priv/gettext/LOCALE/LC_MESSAGES/DOMAIN.po
</code></pre>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6c190c08a1"><code>6c190c0</code></a>
Release v0.24.0 (<a
href="https://redirect.github.com/elixir-gettext/gettext/issues/382">#382</a>)</li>
<li><a
href="0bea16ecc3"><code>0bea16e</code></a>
Unique Singular/Plural Messages (<a
href="https://redirect.github.com/elixir-gettext/gettext/issues/366">#366</a>)
(<a
href="https://redirect.github.com/elixir-gettext/gettext/issues/379">#379</a>)</li>
<li><a
href="002dee19c1"><code>002dee1</code></a>
Remove unused private macro ends_in/2 (<a
href="https://redirect.github.com/elixir-gettext/gettext/issues/378">#378</a>)</li>
<li><a
href="c1c94db8a9"><code>c1c94db</code></a>
Bump actions/checkout from 3 to 4 (<a
href="https://redirect.github.com/elixir-gettext/gettext/issues/376">#376</a>)</li>
<li><a
href="4a096d983c"><code>4a096d9</code></a>
Go back to v0.24.0-dev in mix.exs</li>
<li>See full diff in <a
href="https://github.com/elixir-gettext/gettext/compare/v0.23.1...v0.24.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gettext&package-manager=hex&previous-version=0.23.1&new-version=0.24.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-01-02 02:34:07 +00:00
dependabot[bot]
a96f8413e6 chore(deps): bump ecto_sql from 3.11.0 to 3.11.1 in /elixir (#3078)
Bumps [ecto_sql](https://github.com/elixir-ecto/ecto_sql) from 3.11.0 to
3.11.1.
<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.1 (2023-12-07)</h2>
<h3>Enhancements</h3>
<ul>
<li>[Ecto.Migration] Add <code>:generated</code> option to columns</li>
<li>[Ecto.Migration] Add index storage parameters (via :options) for
Postgres</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[Ecto.Migrations] Support <code>:prefix</code> on index rename</li>
<li>[Ecto.Migrator] Stop runner if migration fails</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b4329a1fe6"><code>b4329a1</code></a>
Release v3.11.1</li>
<li><a
href="678d397f4f"><code>678d397</code></a>
Add :<code>generated</code> option to migrations (<a
href="https://redirect.github.com/elixir-ecto/ecto_sql/issues/580">#580</a>)</li>
<li><a
href="2236b6f570"><code>2236b6f</code></a>
Improve index option docs</li>
<li><a
href="2d979150fc"><code>2d97915</code></a>
Add index storage parameters for Postgres (<a
href="https://redirect.github.com/elixir-ecto/ecto_sql/issues/578">#578</a>)</li>
<li><a
href="d5153e3317"><code>d5153e3</code></a>
Stop runner if migration fails (<a
href="https://redirect.github.com/elixir-ecto/ecto_sql/issues/576">#576</a>)</li>
<li><a
href="30c2cbabef"><code>30c2cba</code></a>
Update benchee deps</li>
<li><a
href="8d71f05a65"><code>8d71f05</code></a>
Bump deps (<a
href="https://redirect.github.com/elixir-ecto/ecto_sql/issues/575">#575</a>)</li>
<li><a
href="43bc08d564"><code>43bc08d</code></a>
Support :prefix on index rename (<a
href="https://redirect.github.com/elixir-ecto/ecto_sql/issues/573">#573</a>)</li>
<li>See full diff in <a
href="https://github.com/elixir-ecto/ecto_sql/compare/v3.11.0...v3.11.1">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.0&new-version=3.11.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-01-02 02:33:56 +00:00
dependabot[bot]
41cfea7e7b chore(deps-dev): bump credo from 1.7.1 to 1.7.2 in /elixir (#3075)
Bumps [credo](https://github.com/rrrene/credo) from 1.7.1 to 1.7.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rrrene/credo/blob/master/CHANGELOG.md">credo's
changelog</a>.</em></p>
<blockquote>
<h2>1.7.2</h2>
<ul>
<li>Fix compatibility &amp; compiler warnings with Elixir 1.16</li>
<li>Fix a bottleneck in multicore performance</li>
<li>Cache scope priorities</li>
<li><code>CHANGELOG.md</code> is now included in the package</li>
<li><code>Credo.Check.Readability.NestedFunctionCalls</code> no longer
warns on function calls in interpolated strings</li>
<li><code>Credo.Check.Readability.PredicateFunctionNames</code> fixed
false positives</li>
<li><code>Credo.Check.Readability.RedundantBlankLines</code> fixed a bug
with double quotes multiline strings</li>
<li><code>Credo.Check.Refactor.ModuleDependencies</code> now takes
modules for <code>:excluded_namespaces</code> parameter</li>
<li><code>Credo.Check.Refactor.NegatedIsNil</code> no longer leaks
memory</li>
<li><code>Credo.Check.Warning.Dbg</code> now warns when part of a
pipeline and called without parens</li>
<li><code>Credo.Check.Warning.MissedMetadataKeyInLoggerConfig</code>
received various fixes and improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rrrene/credo/commits/v1.7.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=credo&package-manager=hex&previous-version=1.7.1&new-version=1.7.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-01-02 02:24:24 +00:00
dependabot[bot]
b3e2c92884 chore(deps): bump flowbite from 2.2.0 to 2.2.1 in /elixir/apps/web/assets (#3074)
Bumps [flowbite](https://github.com/themesberg/flowbite) from 2.2.0 to
2.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/themesberg/flowbite/releases">flowbite's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.1</h2>
<ul>
<li>relased new <a
href="https://flowbite.com/docs/forms/phone-input/">phone number
input</a> component</li>
<li>relased new <a
href="https://flowbite.com/docs/components/chat-bubble/">chat bubble</a>
component</li>
<li>updated <code>z-index</code> of the datepicker to allow usage with
modals and drawers</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="21eb96b27e"><code>21eb96b</code></a>
chore(version): update to <code>v2.2.1</code></li>
<li><a
href="161b22a470"><code>161b22a</code></a>
docs(README): add new chat bubble component</li>
<li><a
href="59ced565f7"><code>59ced56</code></a>
Merge branch 'main' of <a
href="https://github.com/themesberg/flowbite">https://github.com/themesberg/flowbite</a>
into main</li>
<li><a
href="4af7a11b81"><code>4af7a11</code></a>
Fix background color on:hover for action button</li>
<li><a
href="2257c750de"><code>2257c75</code></a>
docs(chat bubble): add descriptions</li>
<li><a
href="1f4fe5c97d"><code>1f4fe5c</code></a>
Merge pull request <a
href="https://redirect.github.com/themesberg/flowbite/issues/725">#725</a>
from Manal-el/chat-bubble</li>
<li><a
href="74795781ba"><code>7479578</code></a>
docs(chat bubble): component preview example heights</li>
<li><a
href="7ffe541f2f"><code>7ffe541</code></a>
docs(chat bubble): add description to the URL sharing example</li>
<li><a
href="7d14d6b5f6"><code>7d14d6b</code></a>
feat(chat bubble): finish URL sharing example</li>
<li><a
href="fabb602b12"><code>fabb602</code></a>
docs(chat bubble): update heading titles</li>
<li>Additional commits viewable in <a
href="https://github.com/themesberg/flowbite/compare/v2.2.0...v2.2.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flowbite&package-manager=npm_and_yarn&previous-version=2.2.0&new-version=2.2.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-01-02 02:23:59 +00:00
dependabot[bot]
c939ff9c39 chore(deps-dev): bump dialyxir from 1.4.2 to 1.4.3 in /elixir (#3079)
Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.4.2 to
1.4.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jeremyjh/dialyxir/releases">dialyxir's
releases</a>.</em></p>
<blockquote>
<h2>1.4.3</h2>
<h3>Fixed</h3>
<ul>
<li>Warnings with line &amp; column.</li>
<li>Formatting of <code>:record_match</code> warning.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md">dialyxir's
changelog</a>.</em></p>
<blockquote>
<h2>[1.4.3] - 2023-12-28</h2>
<h3>Fixed</h3>
<ul>
<li>Warnings with line &amp; column.</li>
<li>Formatting of <code>:record_match</code> warning.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4d99c0139b"><code>4d99c01</code></a>
Bump version to 1.4.3.</li>
<li><a
href="0340de87c3"><code>0340de8</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/526">#526</a>
from maennchen/jm/fix_file_location_with_column</li>
<li><a
href="2bc9d232a0"><code>2bc9d23</code></a>
Fix formatting of file locations including column</li>
<li><a
href="b928e39078"><code>b928e39</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/527">#527</a>
from maennchen/jm/warning_record_match</li>
<li><a
href="f8e2ad9feb"><code>f8e2ad9</code></a>
Fix Formatting of record_match</li>
<li><a
href="0091928de1"><code>0091928</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/524">#524</a>
from kianmeng/bump-apps-version-in-github-ci-and-asdf</li>
<li><a
href="1866372478"><code>1866372</code></a>
Bump apps version in GitHub CI and asdf</li>
<li>See full diff in <a
href="https://github.com/jeremyjh/dialyxir/compare/1.4.2...1.4.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialyxir&package-manager=hex&previous-version=1.4.2&new-version=1.4.3)](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-01-02 02:22:47 +00:00
dependabot[bot]
e6acc8a9dc chore(deps): bump nimble_options from 1.0.2 to 1.1.0 in /elixir (#3080)
Bumps [nimble_options](https://github.com/dashbitco/nimble_options) from
1.0.2 to 1.1.0.
<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.0 (2023-12-13)</h2>
<ul>
<li>Add a <code>:type_spec</code> option to specify a quoted type spec
for options.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7e0201bd9f"><code>7e0201b</code></a>
Release v1.1.0</li>
<li><a
href="a50a204059"><code>a50a204</code></a>
Slightly improve some docs</li>
<li><a
href="120bd17441"><code>120bd17</code></a>
Fix a typo in the main options schema</li>
<li><a
href="1220a08ee2"><code>1220a08</code></a>
Update and clean up dependencies</li>
<li><a
href="531ef6af2b"><code>531ef6a</code></a>
Clean up CI config</li>
<li><a
href="f17c624c69"><code>f17c624</code></a>
Add a :type_spec option (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/120">#120</a>)</li>
<li><a
href="46e70d7e89"><code>46e70d7</code></a>
Fix list of maps bug (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/116">#116</a>)</li>
<li><a
href="5ffca518cb"><code>5ffca51</code></a>
Misc doc fixes (<a
href="https://redirect.github.com/dashbitco/nimble_options/issues/115">#115</a>)</li>
<li><a
href="a8c0171ff3"><code>a8c0171</code></a>
Update main.yml</li>
<li><a
href="531c2f15f1"><code>531c2f1</code></a>
Update main.yml</li>
<li>Additional commits viewable in <a
href="https://github.com/dashbitco/nimble_options/compare/v1.0.2...v1.1.0">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.0.2&new-version=1.1.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-01-02 02:20:50 +00:00
Andrew Dryga
d3c99be576 Log a better error on flow auth function clause error (#3031) 2023-12-27 14:37:17 -06:00
Brian Manifold
86684b464a Update email provider settings in TF to use Mailgun (#2978)
New TF variables have been added to both Staging and Production
workspaces under the key `mailgun_server_api_token`
2023-12-26 14:29:06 +00:00
Brian Manifold
479e2c9036 Add ability to email new user after creation (#2957)
Why:

* When a new user and/or identity is created using the Email provider,
there is currently no way to notify the new user/identity automatically.
With this commit an email will now be sent to the newly added
user/identity upon successful creation. This will only be done for
identities created with the 'Email' provider.


<img width="621" alt="new_user_email"
src="https://github.com/firezone/firezone/assets/2646332/2e50baf0-34cf-4615-b7f9-30500aa58920">

---------

Signed-off-by: Brian Manifold <bmanifold@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-12-21 18:36:08 +00:00
Jamil
34ab093dbc security(gateway): Don't run systemd gateways as root (#2943)
Docker-based gateways won't have working IPv6 (good point @AndrewDryga),
so I started testing the systemd gateways more and found some issues I
fixed.

* Update default tab order for Deploy gateways page to prefer systemd
* Update unit file to run gateway as unprivileged user
* Remove dependency on `wget` in unit file
* Fix iptables logic so rules as re-created on reboot
* Use `/var/lib/firezone` instead of `/etc/firezone` for writing runtime
files (`/etc/` is often mounted read-only on hardened systems)

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-12-21 18:29:10 +00:00
Jamil
d3f45b5285 Rename Authorizations -> Activity (#2979)
Authorizations creates confusion with Authentication. What this is
referring to most closely resembles "Network Activity", so renaming to
Activity.

Fixes
https://firezonehq.slack.com/archives/C04HRQTFY0Z/p1703141913585009?thread_ts=1703105862.234659&cid=C04HRQTFY0Z

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-12-21 18:25:35 +00:00
Andrew Dryga
2c169d58ff Remove client names unique constraint (#2982)
Closes #2980
2023-12-21 10:44:09 -06:00
Jamil
0c25ad57cb Add link to status on website (#2974)
Fixes #2953
2023-12-20 22:56:40 +00:00
Andrew Dryga
0133b507d2 Hotfix: ensure gateway name fits varchar(255) 2023-12-19 11:33:25 -06:00
Andrew Dryga
fa35658db6 Hotfix: increase gateway name length 2023-12-19 11:12:44 -06:00
Jamil
b28e99cdab chore(ci): Use 1.0.0 as version base (#2949)
Fixes #2948 

So it seems that it's easiest just to use an old-fashioned semver
string. This means we'll need to keep a version matrix in the docs of
which components are supported and for how long, but it's better than
having different version schemes for different Firezone components
altogether.
2023-12-19 14:19:16 +00:00
Andrew Dryga
ded5feee9e Fix user-reported errors (#2954) 2023-12-18 16:15:49 -06:00
Jamil
c0904aa96f Update README.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-15 17:15:55 -08:00
Jamil
3773d5f79d Update README.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-15 17:15:11 -08:00
bmanifold
751df8b3f3 Update styling for Sign In/Up emails (#2907)
Updated the styling for the outbound emails from the portal.

## Preview of the Sign Up Email
<img width="589" alt="sign_up_email"
src="https://github.com/firezone/firezone/assets/2646332/4fdc04de-bc49-4d31-b818-ec5eb546d4b8">

## Preview of the Sign In Email
<img width="592" alt="sign_in_email"
src="https://github.com/firezone/firezone/assets/2646332/c3a21424-0de2-404a-a8e2-f2ae926ddeaf">

This will close #2132
2023-12-15 17:04:13 +00:00
Jamil
de71e7060f Reduce webrtc log level to error (#2911) 2023-12-15 01:07:48 +00:00
Jamil
de0a0b911b Use more informative log filepath (#2910)
* Sort clients list by `last_seen_at` desc. This handles the `online?`
case too. Before, they were sorted by `asc` which made it hard to see
which recent clients were connected
* Scope the client log filename by account slug and actor name so it's
easier to find.
2023-12-14 19:45:50 +00:00
Andrew Dryga
82c013a1eb Replace eth+ with e+ in the unitfile 2023-12-13 15:19:31 -06:00
Andrew Dryga
af7730337c Fix service account tokens and unifile deployment scripts (#2900) 2023-12-13 14:45:59 -06:00
Jamil
33bcbbee45 Add a detailed Google Workspace setup guide and other docs (#2876)
- Added google workspace docs at `/kb/authenticate/google`
- Updated in-product Provider creation form with more details and a link
to docs
- Fixed bg-color for unauthenticated layouts

---------

Co-authored-by: Brian Manifold <bmanifold@gmail.com>
2023-12-13 07:16:11 +00:00
Andrew Dryga
52b284abd9 Terraform improvements for production (#2873) 2023-12-11 19:41:01 -06:00
Jamil
ba44b2cbad Usability iteration 1 (#2869)
* Fix numerous typos and grammar
* Align all next/continue action buttons to the right side of the form
* Rework the Gateway deploy page to be more readable and use consistent
colors
* Link to `Troubleshooting` guide for gateway deployments
* Add spacing between `:sections` so they stand out more
* Move help paragraphs into `:help`s
* Make links consistent to `text-accent-500` to match website/docs
(buttons unchanged)
* Add `warning` style button

More to come in further PRs

---------

Co-authored-by: Brian Manifold <bmanifold@gmail.com>
2023-12-11 21:12:53 +00:00
Jamil
786e156337 Elixir/domain ops (#2837)
Adds a helper method we can call from a live IEX to provision an account
when signups are disabled.
2023-12-10 01:35:48 +00:00
Jamil
845707bd09 Update README.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2023-12-08 12:27:21 -05:00
Andrew Dryga
79e1a7582d Fix resources auth query (#2835) 2023-12-08 12:22:37 -05:00
Gabi
8e34457340 Add support for DNS sudomains (#2735)
This PR changes the protocol and adds support for DNS subdomains, now
when a DNS resource is added all its subdomains are automatically
tunneled too. Later we will add support for `*.domain` or `?.domain` but
currently there is an Apple split tunnel implementation limitation which
is too labor-intensive to fix right away.

Fixes #2661 

Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-12-08 00:16:42 -05:00
bmanifold
6ab445555a Update synced group badge color on actor pages (#2827) 2023-12-08 00:00:10 -05:00
Andrew Dryga
00380cc59e Fix small bugs with colors (#2828) 2023-12-07 23:59:55 -05:00
Andrew Dryga
3280827a18 Do not show danger zone when group is synced 2023-12-07 22:49:53 -05:00
Andrew Dryga
0eee8a7c26 Show error when policy is created with no groups available (#2825) 2023-12-07 22:25:44 -05:00
Andrew Dryga
8312779813 Do not crash when request did not container user-agent 2023-12-07 19:06:41 -05:00
Andrew Dryga
3b94152edd Do not log a crash when client token is expired 2023-12-07 19:06:41 -05:00
bmanifold
acbb8bcf44 Update all tailwind classes to use primary/accent/neutral (#2805)
Updated portal to make sure we use primary/accent/neutral in as many
places as possible.

Updated our neutral color palette to only have grayscale colors.

Also aliased the main colors (i.e. red/green/blue/yellow/orange) to use
an `fz_` prefix to allow for easier find/replace if needed, as well as
allowing easy customization of the colors later if needed.
2023-12-07 20:31:38 +00:00