mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
6be7cf6b4502df2a076efa663a86673940434839
689 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6be7cf6b45 |
feat(portal): Add Sentry reporting (#8013)
This adds https://github.com/getsentry/sentry-elixir to the portal for automatic process crash and exception trace reporting. It also configures Logger reporting for the `warning` level and higher, and sets the data scrubbing rules to allow all Logger metadata keys (`logger_metadata.*` in the Sentry project settings). Lastly, it configures automatic HTTP error reporting by tying into the `api` and `web` endpoint modules with a custom `plug` middleware so we get automatic reporting of unsuccessful Phoenix responses. It is expected this will be noisy when we first deploy and we'll need to tune it down a bit. This is the same approach used with other Sentry platforms. |
||
|
|
bbbd6eded2 |
build(deps): bump phoenix_live_view from 1.0.0-rc.6 to 1.0.3 in /elixir (#7983)
Bumps [phoenix_live_view](https://github.com/phoenixframework/phoenix_live_view) from 1.0.0-rc.6 to 1.0.3. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/phoenixframework/phoenix_live_view/blob/v1.0.3/CHANGELOG.md">phoenix_live_view's changelog</a>.</em></p> <blockquote> <h2>1.0.3 (2025-01-28)</h2> <h3>Bug fixes</h3> <ul> <li>Fix regression where browser back/forward buttons used <code>patch</code> instead of <code>navigate</code>, failing to update the page (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3529">#3529</a>)</li> <li>Fix client hooks inside streams that contain nested LiveViews (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3530">#3530</a>)</li> <li>Fix LiveComponents in nested LiveViews not updating under certain conditions (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3626">#3626</a>)</li> <li>Fix client-side hooks not being cleared properly (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3628">#3628</a>)</li> <li>Fix LiveUpload from client hook not auto uploading when immediately followed by form event (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3647">#3647</a>)</li> <li>Fix inputs being cleared in some cases when patching locked trees (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3647">#3647</a>)</li> <li>Fix client hooks with dynamic IDs not being destroyed properly when parts of the DOM are locked (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3651">#3651</a>)</li> </ul> <h3>Enhancements</h3> <ul> <li>Allow to configure if duplicate IDs / other detected errors should warn or raise by passing <code>on_error</code> to <code>Phoenix.LiveViewTest.live/3</code> / <code>Phoenix.LiveViewTest.live_isolated/3</code> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3653">#3653</a>)</li> <li>Also detect duplicate LiveComponents that are added dynamically to the page in LiveViewTest (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3653">#3653</a>)</li> <li>Log an error in the JavaScript console when detecting a stream container with missing <code>phx-update="stream"</code> attribute (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3645">#3645</a>)</li> <li>Update documentation to mention <code>:fun</code> and <code>{:fun, arity}</code> as valid attribute types for <code>Phoenix.Component.attr/3</code> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3635">#3635</a>)</li> <li>Update documentation to mention ways for <a href="https://hexdocs.pm/phoenix_live_view/1.0.3/Phoenix.Component.html#module-dynamic-component-rendering">dynamically rendering function components</a> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3632">#3632</a>)</li> <li>Update documentation to mention <code>{:inner, selector}</code> and <code>{:closest, selector}</code> as <a href="https://hexdocs.pm/phoenix_live_view/1.0.3/Phoenix.LiveView.JS.html#module-dom-selectors">valid options for <code>to</code></a> in JS commands (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3638">#3638</a>)</li> </ul> <h2>1.0.2 (2025-01-09)</h2> <h3>Bug fixes</h3> <ul> <li>Fix inconsistency between <code>mix format</code> and <code>mix format --check-formatted</code> with new curly interpolation syntax (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3590">#3590</a>)</li> <li>Fix unnecessary compile time dependencies when using <code>attr</code> / <code>on_mount</code> / <code>live</code> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3592">#3592</a>)</li> <li>Fix crash when testing LiveViews with embedded XML (e.g. SVGs) (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3594">#3594</a>)</li> <li>Fix type warning when using <code>follow_redirect</code> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3581">#3581</a>)</li> <li>Prevent <code>phx-trigger-action</code> from clashing with locked forms (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3591">#3591</a>)</li> <li>Fix form recovery sending wrong event name when using JS commands in <code>phx-change</code> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3607">#3607</a>)</li> </ul> <h3>Enhancements</h3> <ul> <li>Deduplicate items on <code>stream/4</code> / <code>steam_insert/4</code> (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3599">#3599</a>)</li> <li>Restore scroll position on initial navigation (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3572">#3572</a>)</li> <li>Change-track non existing keys in maps (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3584">#3584</a>)</li> <li>Only warn instead of raising when detecting a duplicate ID in LiveViewTest (<a href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3603">#3603</a>)</li> </ul> <h2>1.0.1 (2024-12-13)</h2> <h3>Bug fixes</h3> <ul> <li>Raise when duplicate DOM IDs are found when rendering a LiveView during tests to avoid undefined behaviour</li> <li>Fix live session verification causing logged errors, push_patch failures, and failed mounts when a cold deploy occurs</li> <li>Fix a bug where the <code>live_session</code>'s <code>on_mount</code> hooks would be called for sticky live views on connected mount. Now a <code>sticky</code> live view is consistently marked as <code>:not_mounted_at_router</code></li> </ul> <h2>1.0.0 (2024-12-03) 🚀</h2> <h2>1.0.0-rc.9 (2024-12-03)</h2> <h3>Enhancements</h3> <ul> <li>Support <code>phx-no-curly-interpolation</code> to disable HEEx curly interpolation in a specific tag body</li> </ul> <h2>1.0.0-rc.8 (2024-12-02)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
a44787cc13 |
chore(portal): Bump to Alpine 3.20.5 (#8010)
Signed-off-by: Jamil <jamilbk@users.noreply.github.com> |
||
|
|
4ce1ddfd53 | build(deps-dev): Bump esbuild cli to 0.24.2 (#8012) | ||
|
|
9838cd99c9 |
chore(portal): Bump erlang to 27.2.1 (#8008)
In preparation for upgrading to Elixir 1.18. |
||
|
|
e2392a35d8 |
build(deps): bump bandit from 1.5.7 to 1.6.7 in /elixir (#7981)
[//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [bandit](https://github.com/mtrudel/bandit) from 1.5.7 to 1.6.7. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mtrudel/bandit/blob/main/CHANGELOG.md">bandit's changelog</a>.</em></p> <blockquote> <h2>1.6.7 (30 Jan 2025)</h2> <h3>Changes</h3> <ul> <li>Consider timeouts when reading HTTP/1 headers as a connection error and not an HTTP error</li> <li>Enhance logging for WebSocket deflation errors</li> </ul> <h2>1.6.6 (25 Jan 2025)</h2> <h3>Fixes</h3> <ul> <li>Consider closures during HTTP/1 header reading as a socket error to silence them by default via <code>log_client_closures</code> config flag</li> <li>Send <code>connection: close</code> when closing connection on error per RFC9112§9.6</li> </ul> <h3>Enhancements</h3> <ul> <li>Add experimental opt-in trace logging to help diagnose hard to reproduce errors</li> <li>Move CI to 1.18 & improve tests (<a href="https://redirect.github.com/mtrudel/bandit/issues/459">#459</a>, <a href="https://redirect.github.com/mtrudel/bandit/issues/461">#461</a>, thanks <a href="https://github.com/grzuy"><code>@grzuy</code></a>!)</li> </ul> <h2>1.6.5 (15 Jan 2025)</h2> <h3>Fixes</h3> <ul> <li>Fix regression introduced in 1.6.1 where we would not send headers set by the Plug during WebSocket upgrades (<a href="https://redirect.github.com/mtrudel/bandit/issues/458">#458</a>)</li> </ul> <h3>Enhancements</h3> <ul> <li>Properly normalize Erlang errors before emitting telemetry and logged crash_reason (<a href="https://redirect.github.com/mtrudel/bandit/issues/455">#455</a>, thanks <a href="https://github.com/grzuy"><code>@grzuy</code></a>!)</li> </ul> <h2>1.6.4 (11 Jan 2025)</h2> <h3>Fixes</h3> <ul> <li>Fix error in socket setup error handling introduced in 1.6.2 (thanks <a href="https://github.com/danielspofford"><code>@danielspofford</code></a>!)</li> </ul> <h2>1.6.3 (8 Jan 2025)</h2> <h3>Fixes</h3> <ul> <li>Always close HTTP/1 connection in any case where an error comes out of the plug (<a href="https://redirect.github.com/mtrudel/bandit/issues/452">#452</a>, thanks <a href="https://github.com/zookzook"><code>@zookzook</code></a>!)</li> <li>Fix dialyzer warning introduced by Thousand Island 1.3.9</li> </ul> <h2>1.6.2 (4 Jan 2025)</h2> <h3>Enhancements</h3> <ul> <li>Send telemetry events on Plugs that throw or exit (<a href="https://redirect.github.com/mtrudel/bandit/issues/443">#443</a>)</li> <li>Improve test robustness & speed (<a href="https://redirect.github.com/mtrudel/bandit/issues/446">#446</a>)</li> <li>Read a minimal number of bytes when sniffing for protocol (<a href="https://redirect.github.com/mtrudel/bandit/issues/449">#449</a>)</li> <li>Add <code>plug</code> and <code>websock</code> to logging metadata whenever possible (<a href="https://redirect.github.com/mtrudel/bandit/issues/448">#448</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
4bb844bcb8 |
build(deps): bump tailwind from 0.2.3 to 0.2.4 in /elixir (#7980)
Bumps [tailwind](https://github.com/phoenixframework/tailwind) from 0.2.3 to 0.2.4. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/phoenixframework/tailwind/blob/main/CHANGELOG.md">tailwind's changelog</a>.</em></p> <blockquote> <h2>v0.2.4 (2024-10-18)</h2> <ul> <li>Add version check flag</li> <li>Fallback to ipv4/ipv6 for unreachable hosts</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
56c2cbdd30 |
build(deps-dev): bump wallaby from 0.30.9 to 0.30.10 in /elixir (#7982)
Bumps [wallaby](https://github.com/elixir-wallaby/wallaby) from 0.30.9 to 0.30.10. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/elixir-wallaby/wallaby/releases">wallaby's releases</a>.</em></p> <blockquote> <h2>v0.30.10</h2> <h2>What's Changed</h2> <ul> <li>Only spawn a browser when using the <code>feature</code> macro, not normal <code>test</code>s by <a href="https://github.com/s3cur3"><code>@s3cur3</code></a> in <a href="https://redirect.github.com/elixir-wallaby/wallaby/pull/795">elixir-wallaby/wallaby#795</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/elixir-wallaby/wallaby/compare/v0.30.9...v0.30.10">https://github.com/elixir-wallaby/wallaby/compare/v0.30.9...v0.30.10</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/elixir-wallaby/wallaby/blob/main/CHANGELOG.md">wallaby's changelog</a>.</em></p> <blockquote> <h2>v0.30.10</h2> <ul> <li>only automatically start sessions for <code>feature</code> test macros and not every test in a file by <a href="https://github.com/s3cur3"><code>@s3cur3</code></a> in <a href="https://redirect.github.com/elixir-wallaby/wallaby/pull/795">elixir-wallaby/wallaby#795</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
31f80e6aec |
build(deps): bump ex_cldr_numbers from 2.33.3 to 2.33.5 in /elixir (#7984)
Bumps [ex_cldr_numbers](https://github.com/elixir-cldr/cldr_numbers) from 2.33.3 to 2.33.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/elixir-cldr/cldr_numbers/releases">ex_cldr_numbers's releases</a>.</em></p> <blockquote> <h2>Cldr Numbers version 2.33.5</h2> <h3>Bug Fixes</h3> <ul> <li>Fix formatting currencies when the CLDR regex for "before currency match" is invalid in the Erlang regex engine. Thanks to <a href="https://github.com/Terbium-135"><code>@Terbium-135</code></a> for the issue. Closes [ex_money issue <a href="https://redirect.github.com/elixir-cldr/cldr_numbers/issues/178">#178</a>](<a href="https://redirect.github.com/kipcole9/money/issues/178">kipcole9/money#178</a>).</li> </ul> <h2>Cldr Numbers version 2.33.4</h2> <h3>Bug Fixes</h3> <ul> <li>Fixes unquoting invalid AST on the upcoming Elixir 1.18. Thanks very much to <a href="https://github.com/sabiwara"><code>@sabiwara</code></a> for the <a href="https://redirect.github.com/elixir-cldr/cldr_numbers/pull/52">PR</a>. Thanks too to <a href="https://github.com/SteffenDE"><code>@SteffenDE</code></a> for the report. Closes <a href="https://redirect.github.com/elixir-cldr/cldr_numbers/issues/53">#53</a>.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/elixir-cldr/cldr_numbers/blob/main/CHANGELOG.md">ex_cldr_numbers's changelog</a>.</em></p> <blockquote> <h2>Cldr Numbers v2.33.5</h2> <p>This is the changelog for Cldr v2.33.5 released on January 26th, 2025. For older changelogs please consult the release tag on <a href="https://github.com/elixir-cldr/cldr_numbers/tags">GitHub</a></p> <h3>Bug Fixes</h3> <ul> <li>Fix formatting currencies when the CLDR regex for "before currency match" is invalid in the Erlang regex engine. Thanks to <a href="https://github.com/Terbium-135"><code>@Terbium-135</code></a> for the issue. Closes [ex_money issue <a href="https://redirect.github.com/elixir-cldr/cldr_numbers/issues/178">#178</a>](<a href="https://redirect.github.com/kipcole9/money/issues/178">kipcole9/money#178</a>).</li> </ul> <h2>Cldr Numbers v2.33.4</h2> <p>This is the changelog for Cldr v2.33.4 released on November 13th, 2024. For older changelogs please consult the release tag on <a href="https://github.com/elixir-cldr/cldr_numbers/tags">GitHub</a></p> <h3>Bug Fixes</h3> <ul> <li>Fixes unquoting invalid AST on the upcoming Elixir 1.18. Thanks very much to <a href="https://github.com/sabiwara"><code>@sabiwara</code></a> for the <a href="https://redirect.github.com/elixir-cldr/cldr_numbers/pull/52">PR</a>. Thanks too to <a href="https://github.com/SteffenDE"><code>@SteffenDE</code></a> for the report. Closes <a href="https://redirect.github.com/elixir-cldr/cldr_numbers/issues/53">#53</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0a8730d797 |
build(deps): bump flowbite from 2.5.2 to 3.1.1 in /elixir/apps/web/assets (#7991)
Bumps [flowbite](https://github.com/themesberg/flowbite) from 2.5.2 to 3.1.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>v3.1.1</h2> <ul> <li>fixed CSS variables markup in plugin</li> </ul> <h2>v3.1.0</h2> <ul> <li>use CSS variables instead of hex codes in plugin</li> <li>remove setting dark mode via class strategy in plugin</li> </ul> <h2>v3.0.0</h2> <ul> <li>upgrade to Tailwind v4</li> <li>refactor and adapt the Flowbite plugin and UI components to the new deprecated changes from Tailwind v4</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
ad9c8a28e5 |
docs(portal): Update google directory sync docs (#7965)
Add docs related to Google directory sync around why there is a need for a Google Workspace super admin when setting up directory sync. --------- Signed-off-by: Brian Manifold <bmanifold@users.noreply.github.com> Co-authored-by: Jamil <jamilbk@users.noreply.github.com> |
||
|
|
0ba326d4c3 |
build(deps-dev): bump credo from 1.7.7 to 1.7.11 in /elixir (#7925)
Bumps [credo](https://github.com/rrrene/credo) from 1.7.7 to 1.7.11. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rrrene/credo/releases">credo's releases</a>.</em></p> <blockquote> <h2>v1.7.11</h2> <p>Check it out on Hex: <a href="https://hex.pm/packages/credo/1.7.11">https://hex.pm/packages/credo/1.7.11</a></p> <ul> <li>Fix compatibility & compiler warnings with Elixir 1.18</li> <li>Fix crashing for invalid strings in issue messages</li> <li>Show required Elixir version for skipped checks</li> <li>Add options <code>:exit_status</code> and <code>:category</code> to <code>format_issue/2</code> when using <code>Credo.Check</code></li> <li><code>Credo.Check.Readability.ModuleDoc</code> fixed false positive</li> <li><code>Credo.Check.Warning.UnusedEnumOperation</code> fixed false positive</li> <li><code>Credo.Check.Refactor.ABCSize</code> fixed false positive for tuples and underscored matches (<code>_foo</code>)</li> </ul> <h2>v1.7.10</h2> <p>Check it out on Hex: <a href="https://hex.pm/packages/credo/1.7.10">https://hex.pm/packages/credo/1.7.10</a></p> <ul> <li>Maintenance release</li> </ul> <h2>v1.7.9</h2> <p>Check it out on Hex: <a href="https://hex.pm/packages/credo/1.7.9">https://hex.pm/packages/credo/1.7.9</a></p> <ul> <li><code>Credo.Check.Refactor.ABCSize</code> fixed false positive for pin operator (<code>^</code>)</li> <li><code>Credo.Check.Readability.FunctionNames</code> fixed false positive for pow operator (<code>**</code>)</li> <li>Fixed a bug in <code>Credo.Code.Parameters</code> when couting parameters for functions with guards</li> </ul> <h2>v1.7.8</h2> <p>Check it out on Hex: <a href="https://hex.pm/packages/credo/1.7.8">https://hex.pm/packages/credo/1.7.8</a></p> <ul> <li><code>Credo.Check.Refactor.Apply</code> fixed false positive</li> <li><code>Credo.Check.Warning.IoInspect</code> fixed false positive</li> <li><code>Credo.Check.Warning.UnsafeToAtom</code> fixed false positive</li> <li><code>Credo.Check.Readability.FunctionNames</code> fixed false positive</li> </ul> </blockquote> </details> <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.11</h2> <ul> <li>Fix compatibility & compiler warnings with Elixir 1.18</li> <li>Fix crashing for invalid strings in issue messages</li> <li>Show required Elixir version for skipped checks</li> <li>Add options <code>:exit_status</code> and <code>:category</code> to <code>format_issue/2</code> when using <code>Credo.Check</code></li> <li><code>Credo.Check.Readability.ModuleDoc</code> fixed false positive</li> <li><code>Credo.Check.Warning.UnusedEnumOperation</code> fixed false positive</li> <li><code>Credo.Check.Refactor.ABCSize</code> fixed false positive for tuples and underscored matches (<code>_foo</code>)</li> </ul> <h2>1.7.10</h2> <ul> <li>Maintenance release</li> </ul> <h2>1.7.9</h2> <ul> <li><code>Credo.Check.Refactor.ABCSize</code> fixed false positive for pin operator (<code>^</code>)</li> <li><code>Credo.Check.Readability.FunctionNames</code> fixed false positive for pow operator (<code>**</code>)</li> <li>Fixed a bug in <code>Credo.Code.Parameters</code> when couting parameters for functions with guards</li> </ul> <h2>1.7.8</h2> <ul> <li><code>Credo.Check.Refactor.Apply</code> fixed false positive</li> <li><code>Credo.Check.Warning.IoInspect</code> fixed false positive</li> <li><code>Credo.Check.Warning.UnsafeToAtom</code> fixed false positive</li> <li><code>Credo.Check.Readability.FunctionNames</code> fixed false positive</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0cb1278492 |
build(deps): bump observer_cli from 1.7.5 to 1.8.1 in /elixir (#7918)
Bumps [observer_cli](https://github.com/zhongwencool/observer_cli) from 1.7.5 to 1.8.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/zhongwencool/observer_cli/releases">observer_cli's releases</a>.</em></p> <blockquote> <h2>1.8.1</h2> <h2>What's Changed</h2> <ul> <li>chore: move xref from rebar.config to code attribute by <a href="https://github.com/zhongwencool"><code>@zhongwencool</code></a> in <a href="https://redirect.github.com/zhongwencool/observer_cli/pull/106">zhongwencool/observer_cli#106</a></li> <li>feat: show node name in system pane by <a href="https://github.com/zhongwencool"><code>@zhongwencool</code></a> in <a href="https://redirect.github.com/zhongwencool/observer_cli/pull/107">zhongwencool/observer_cli#107</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/zhongwencool/observer_cli/compare/1.8.0...1.8.1">https://github.com/zhongwencool/observer_cli/compare/1.8.0...1.8.1</a></p> <h2>Show process's label and node's dist_stats</h2> <h2>New Feature:</h2> <ul> <li><strong>Process Label Display</strong>: Now shows the process's label when set using proc_lib:set_label(Label).</li> <li><strong>System View Update</strong>: Displays the number of bytes in the output distribution queue, which sits between Erlang code and the port driver, using the undocumented function erlang:dist_get_stat/1.</li> <li>Added support for <!-- raw HTML omitted --> to jump to a specific process PID.</li> </ul> <h2>Bug Fix</h2> <ul> <li>Resolved an issue where the Doc View would not display when the OTP version is 27.</li> </ul> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
f9876326d1 |
build(deps): bump ex_cldr from 2.40.1 to 2.40.2 in /elixir (#7940)
Bumps [ex_cldr](https://github.com/elixir-cldr/cldr) from 2.40.1 to 2.40.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/elixir-cldr/cldr/releases">ex_cldr's releases</a>.</em></p> <blockquote> <h2>Cldr version 2.40.2</h2> <h3>Bug Fixes</h3> <ul> <li>Support (and automatically configure) Elixir 1.18's JSON module as a <code>:json_library</code> in the global configuration. Thanks to <a href="https://github.com/Neophen"><code>@Neophen</code></a> for the report. Closes <a href="https://redirect.github.com/elixir-cldr/cldr/issues/247">#247</a>.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/elixir-cldr/cldr/blob/main/CHANGELOG.md">ex_cldr's changelog</a>.</em></p> <blockquote> <h2>Cldr v2.40.2</h2> <p>This is the changelog for Cldr v2.40.2 released on December 23rd, 2024. For older changelogs please consult the release tag on <a href="https://github.com/elixir-cldr/cldr/tags">GitHub</a></p> <h3>Bug Fixes</h3> <ul> <li>Support (and automatically configure) Elixir 1.18's JSON module as a <code>:json_library</code> in the global configuration. Thanks to <a href="https://github.com/Neophen"><code>@Neophen</code></a> for the report. Closes <a href="https://redirect.github.com/elixir-cldr/cldr/issues/247">#247</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
548661ffe1 |
build(deps): bump telemetry_metrics from 1.0.0 to 1.1.0 in /elixir (#7935)
Bumps [telemetry_metrics](https://github.com/beam-telemetry/telemetry_metrics) from 1.0.0 to 1.1.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/beam-telemetry/telemetry_metrics/blob/main/CHANGELOG.md">telemetry_metrics's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/beam-telemetry/telemetry_metrics/tree/v1.1.0">1.1.0</a></h2> <h3>Changed</h3> <p>Add support for measurements as second argument of keep/drop callback.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
acfecc11ec |
feat(portal): Sort resources by name ASC by default (#7884)
Updates the Resource's pagination cursor such that the default cursor
(with no HTTP params applied) uses `{:resources, :asc, :name}` as the
default, which correctly updates all Resources live tables to sort by
`name`.
The reason this is updated at the Query layer is because I wanted to
achieve this without populating URL params by default, and still
allowing the sort icon to properly reflect the default sort order upon
page load, which it does.
My initial attempt went down the path of updating `assign_live_table/3`
to take a `default_order_by` option. That didn't work because upon page
load we `handle_params` which resets the ordering immediately based on
the URL params.
Rather than update the UI code to track even more state in order to use
`default_order_by` when the `order_by` param is not specified, I opted
to updated the Query module instead which the UI uses.
Fixes #7842
|
||
|
|
24640cad34 |
test(portal): Update resource type/address (#7881)
While investigating the cause of #7879, I noticed we don't have tests specifically for updating a Resource's type or address. Related: #7879 |
||
|
|
fa19bbf486 |
refactor(portal): Authorized Sessions -> Recent Connections (#7830)
We've gotten feedback recently that the expiration field causes confusion among auditors who assume it has actual security relevance. In reality, this is simply the maximum amount of time a connection between Client and Gateway will stay alive for, and it has no relation to "sessions" from a security perspective. As such, it's removed, and the table renamed "Recent connections" to better name what these are. The `expiration` column is also removed because this is not actionable by the admin or end-user. In nearly all cases, the connection will have been "expired" by some other means naturally, such as toggling Firezone on/off or a policy or resource change. In other words, we do not rely on this `expiration` field to enforce any security-related timeout. Fixes #7712 |
||
|
|
bf967f10b2 |
chore: Use consistent casing for Dockerfile directives (#7823)
Fixes a minor warning Docker complains about during build. |
||
|
|
01a90e3117 |
build(deps): Bump phoenix_ecto from 4.6.2 to 4.6.3 in /elixir (#7790)
Bumps [phoenix_ecto](https://github.com/phoenixframework/phoenix_ecto) from 4.6.2 to 4.6.3. <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.3</h2> <ul> <li> <p>Enhancements</p> <ul> <li>Add prefix option to check repo status plug</li> </ul> </li> <li> <p>Bug fix</p> <ul> <li>Fix map.field notation warning on Elixir 1.17</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
3f3a908bd2 |
chore(portal): Bump opentelemetry versions (#7794)
Dependabot is having issues figuring out the opentelemetry bumps due to a [package pull](https://github.com/firezone/firezone/pull/7788), so this PR aims to alleviate that as a one-off fix. This bumps a few deps' major versions. Nothing jumped out at first glance when I reviewed the changelogs, but I figured we'll have a better idea when this goes out to staging since OTLP is basically disabled in dev/test. |
||
|
|
eea7079776 |
fix(portal): Catch seat limit error in API fallback controller (#7783)
Why:
* The fallback controller in the API was not catching `{:error,
:seat_limit_reached}` being returned and was then generating a 500
response when this happened. This commit adds the condition in the
fallback controller and adds a new template for a more specific error
message in the returned JSON.
|
||
|
|
9ae9f7e341 |
build(deps): Bump phoenix_html from 4.1.1 to 4.2.0 in /elixir (#7789)
Bumps [phoenix_html](https://github.com/phoenixframework/phoenix_html) from 4.1.1 to 4.2.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/phoenixframework/phoenix_html/blob/main/CHANGELOG.md">phoenix_html's changelog</a>.</em></p> <blockquote> <h2>4.2.0 (2024-12-28)</h2> <ul> <li> <p>Enhancements</p> <ul> <li>Add <code>Phoenix.HTML.css_escape/1</code> to escape strings for use inside CSS selectors</li> <li>Add the ability to pass <code>:hr</code> to <code>options_for_select/2</code> to render a horizontal rule</li> </ul> </li> <li> <p>Bug fixes</p> <ul> <li>Pass form action through in FormData implementation</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
3bb97c4513 |
build(deps): Bump floki from 0.36.3 to 0.37.0 in /elixir (#7787)
Bumps [floki](https://github.com/philss/floki) from 0.36.3 to 0.37.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/philss/floki/releases">floki's releases</a>.</em></p> <blockquote> <h2>v0.37.0</h2> <h2>Added</h2> <ul> <li>Add <a href="https://hexdocs.pm/floki/0.37.0/Floki.html#css_escape/1"><code>Floki.css_escape/1</code></a> - thanks <a href="https://github.com/SteffenDE"><code>@SteffenDE</code></a>.</li> </ul> <h2>Fixed</h2> <ul> <li>Fix bug propagating identity encoder in <code>raw_html/2</code> - thanks <a href="https://github.com/andyleclair"><code>@andyleclair</code></a>.</li> </ul> <h2>Removed</h2> <ul> <li>Remove support for Elixir 1.13 and OTP 22.</li> </ul> <h2>Pull requests</h2> <ul> <li>Drop support for Elixir 1.13 by <a href="https://github.com/philss"><code>@philss</code></a> in <a href="https://redirect.github.com/philss/floki/pull/595">philss/floki#595</a></li> <li>Bump credo from 1.7.8 to 1.7.9 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/philss/floki/pull/596">philss/floki#596</a></li> <li>Bump credo from 1.7.9 to 1.7.10 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/philss/floki/pull/597">philss/floki#597</a></li> <li>Bump fast_html from 2.3.0 to 2.4.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/philss/floki/pull/599">philss/floki#599</a></li> <li>Bump dialyxir from 1.4.4 to 1.4.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/philss/floki/pull/600">philss/floki#600</a></li> <li>Bump ex_doc from 0.34.2 to 0.35.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/philss/floki/pull/602">philss/floki#602</a></li> <li>Fix bug propagating identity encoder in <code>raw_html/2</code> by <a href="https://github.com/andyleclair"><code>@andyleclair</code></a> in <a href="https://redirect.github.com/philss/floki/pull/603">philss/floki#603</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/andyleclair"><code>@andyleclair</code></a> made their first contribution in <a href="https://redirect.github.com/philss/floki/pull/603">philss/floki#603</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/philss/floki/compare/v0.36.3...v0.37.0">https://github.com/philss/floki/compare/v0.36.3...v0.37.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/philss/floki/blob/main/CHANGELOG.md">floki's changelog</a>.</em></p> <blockquote> <h2>[0.37.0] - 2024-12-06</h2> <h3>Added</h3> <ul> <li>Add <code>Floki.css_escape/1</code> - thanks <a href="https://github.com/SteffenDE"><code>@SteffenDE</code></a>.</li> </ul> <h3>Fixed</h3> <ul> <li>Fix bug propagating identity encoder in <code>raw_html/2</code> - thanks <a href="https://github.com/andyleclair"><code>@andyleclair</code></a>.</li> </ul> <h3>Removed</h3> <ul> <li>Remove support for Elixir 1.13 and OTP 22.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0b2fdac500 |
build(deps-dev): Bump dialyxir from 1.4.3 to 1.4.5 in /elixir (#7786)
Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.4.3 to 1.4.5. <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.5</h2> <h3>Fixed</h3> <ul> <li>Crash when default ignore file missing and custom file specified</li> <li>Revert format option ignore_file_string to ignore_file_strict</li> </ul> <h2>1.4.4</h2> <h3>Fixed</h3> <ul> <li>Invalid contract formatting failed on OTP 26 & later.</li> <li>Empty ignore files are ignored.</li> <li>Several improvements and corrections to documentation.</li> </ul> <h3>Changed</h3> <ul> <li>Updated Erlex minimum version to 0.27, bringing in several fixes and improvements.</li> </ul> <h3>Added</h3> <ul> <li>Multiple formatters can be used in the same invocation.</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>Unreleased changes post [1.4.5]</h2> <h2>[1.4.5] - 2024-11-17</h2> <h3>Fixed</h3> <ul> <li>Crash when default ignore file missing and custom file specified</li> <li>Revert format option ignore_file_string to ignore_file_strict</li> </ul> <h2>[1.4.4] - 2024-09-28</h2> <h3>Fixed</h3> <ul> <li>Invalid contract formatting failed on OTP 26 & later.</li> <li>Empty ignore files are ignored.</li> <li>Several improvements and corrections to documentation.</li> </ul> <h3>Changed</h3> <ul> <li>Updated Erlex minimum version to 0.27, bringing in several fixes and improvements.</li> </ul> <h3>Added</h3> <ul> <li>Multiple formatters can be used in the same invocation.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
603a64435e |
chore(portal): use appropriate sha in dev (#7782)
Not a huge deal, but this doesn't actually need to be a valid SHA and this is more clear / has no risk of collision with an actual git sha. |
||
|
|
53032fcbe1 |
fix(ci): Populate elixir vsn from env at build time (#7773)
Dependabot's workflow is set up in such a way it seems that it can't find our `sha.exs` file. This is a cleaner approach that doesn't rely on using external files for the application version. Interesting note: `mix compile` will happily use the cached `version` even though it's computed from an env var, because `mix compile` uses file hash and mtime to know when to recompile. See https://github.com/firezone/firezone/network/updates/942719116 |
||
|
|
2d0fafbc59 |
chore(ci): Use consistent casing for Docker directives (#7781)
``` => WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 258) ``` |
||
|
|
430b32324a |
fix(portal): Update IDP sync error email threshold (#7757)
Why: * An IdP sync can fail for different reasons and because of this we previously put a threshold on when to send the first 'IdP sync failed' email, which was set at 10 failed sync attempts. One thing that was accidentally overlooked was that on one specific failure type (i.e. 401 - Unauthorized) the Firezone sync was automatically disabled and not tried from that point forward. Unfortunately, that meant an email did not get sent out because the threshold was not met. This PR resolves that by making sure the 401 error will send out an email immediately, while keeping the 10 failed sync threshold for all other errors. Closes: #7725 |
||
|
|
cd2c3433d1 |
build(deps): Bump @fontsource/source-sans-3 from 5.1.0 to 5.1.1 in /elixir/apps/web/assets (#7623)
Bumps [@fontsource/source-sans-3](https://github.com/fontsource/font-files/tree/HEAD/fonts/google/source-sans-3) from 5.1.0 to 5.1.1. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/fontsource/font-files/commits/HEAD/fonts/google/source-sans-3">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> |
||
|
|
1f457d2127 | fix(portal): Fixing a few edge cases for identity email (#7532) | ||
|
|
d8dda14759 | docs: Appease codespell in elixir/README.md (#7528) | ||
|
|
fe164389c1 |
docs: Add instructions for connecting to Cloud SQL as the firezone user (#7527)
This is needed to perform index surgery. --------- Signed-off-by: Jamil <jamilbk@users.noreply.github.com> |
||
|
|
9fdfbea818 | chore: fix elixir formatting (#7524) | ||
|
|
938448a43b |
fix(portal): Update existing auth_identities migration to include provider_identifier in the index (#7523)
#7522 won't successfully complete on production because of the migration in this PR. So, instead, we need to modify this migration, and then manually apply the same operation to staging. |
||
|
|
d3f38a22ae |
fix(portal): Add provider_identifier to identities email unique index (#7522)
It's possible for two of the same emails to exist within the same provider, so we need to add `provider_identifier` to the unique index to enforce uniqueness properly. Refs https://firezonehq.slack.com/archives/C04HRQTFY0Z/p1734131256450379 |
||
|
|
f114bc95cd |
refactor(portal): Add email as separate column on auth_identities table (#7472)
Why: * Currently, when using the API, a user has no way of easily identifying what identities they are pulling back as the response only includes the `provider_identifier` which for most of our AuthProviders is an ID for the IdP and not an email address. Along with that, when adding users to an OIDC provider within Firezone, there is no check for whether or not an identity has already been added with a given email address. By creating a separate email column on the `auth_identities` table, it will be very straight forward to know whether an email address exists for a given identity, return it in an API response and allow the admin of a Firezone account to track users (Identities) by email rather than IdP identifier. Fixes #7392 |
||
|
|
9711cf56c1 |
fix(portal): Fix update API endpoint for resources (#7493)
Why: * The API endpoint for updating Resources was using `Resources.fetch_resource_by_id_or_persistent_id`, however that function was fetching all Resources, which included deleted Resources. In order to prevent an API user from attempting to update a Resource that is deleted, a new function was added to fetch active Resources only. Fixes: #7492 |
||
|
|
b66a156831 |
fix(portal): Set Floki dependency back to hex (#7387)
Found a small `TODO` while working on other things and figured I'd quickly fix it. Following these 2 github issues indicate the problem has been fixed: https://github.com/philss/floki/issues/556 https://github.com/hexpm/hex/issues/1019 |
||
|
|
328e973502 |
feat(portal): add membership to google parent OUs (#6811) (#7382)
Hi @firezone/engineering , this is the following of https://github.com/firezone/firezone/pull/6649 I forgot that people can be member of multiple OUs, this PR aims to add support for this. Imagine I have this OU architecture in my google workspace: ```mermaid flowchart TD A[Employees] --> B[Engineering] A --> C[HR] B --> D[Devs] B --> E[Ops] D --> F{me} ``` Currently in Firezone, I will only be a member of the Firezone Group `OU: Devs`. With this PR: I will be a member of `OU: Devs`, `OU: Engineering` and `OU: Employees` Co-authored-by: Antoine <antoinelabarussias@gmail.com> |
||
|
|
1ef286ac55 |
fix(portal): API clients 'show' page should always be in settings (#7371)
Why: * The portal currently shows API clients in the Actors index list. Each Actor in the list has a link to their own 'show' page. Prior to this commit, selecting an API client from the list would result an error. While API clients are technically an Actor, they aren't quite the same as all other Actors because they are only used to configure the portal for a given account. Because of this, they don't have the same information to show as all other Actors. This commit sets the 'show' URL for API clients to the 'settings' page to show the proper info for the API client. Fixes: #7370 |
||
|
|
2d93100c41 |
fix(portal): Update Stripe event handler to only listen for certain update events (#7357)
Why: * Recently we had an issue where a customer's payment info was incorrectly entered, which caused the payment to not go through. When something like this happens Stripe will send an update event with a pending_update section (which we do not use currently). When the customer fixes the payment info, and payment goes through we get another update event with the correct subscription info, however, the previous update (with the pending section) then gets expired and a `pending_update_expired` event is sent to us. We had been inadvertantly catching the event and updating the specified account with the info in the event (which happened to be the previous state of the subscription) Fixes: #7352 |
||
|
|
6f7f6a4f34 |
style: Enforce code style across all supported languages using Prettier (#7322)
This ensure that we run prettier across all supported filetypes to check for any formatting / style inconsistencies. Previously, it was only run for files in the website/ directory using a deprecated pre-commit plugin. The benefit to keeping this in our pre-commit config is that devs can optionally run these checks locally with `pre-commit run --config .github/pre-commit-config.yaml`. --------- Signed-off-by: Jamil <jamilbk@users.noreply.github.com> Co-authored-by: Thomas Eizinger <thomas@eizinger.io> |
||
|
|
1a6e70a3d2 |
fix(portal): Fix sign_up/sign_in email templates (#7295)
Why: * Two of the email templates using an `<a>` tag were not properly interpolating a view variable. This happened when the templates were moved from the `web` app using `.heex` files to the `domain` app using `.eex` files. Fixes #7294 |
||
|
|
40ca7fccf0 |
fix(portal): Update log level for failed component version fetch (#7286)
Why:
* The Firezone website is hosting the component versions at the moment
and due to how Vercel works, occassionally a request will
timeout when being made to the /api/versions endpoint. This had been
throwing an error in the elixir logs and triggering an alert, but
because there is always a default set of component version values in
the elixir app there isn't really a need for an error/alert. With
that in mind the log level will be set to `warning` rather than
`error`.
Closes #7233
|
||
|
|
ab7619c68c |
chore(docs): Add more docs on troubleshooting (#7076)
Signed-off-by: Andrew Dryga <andrew@dryga.com> Co-authored-by: Brian Manifold <bmanifold@users.noreply.github.com> |
||
|
|
06791d2d05 |
refactor(portal): API persistent IDs (#7182)
In order for the firezone terraform provider to work properly, the Resources and Policies need to be able to be referenced by their `persistent_id`, specifically in the portal API. |
||
|
|
a67c12de7e | fix(portal): Polish link in peeks (#7180) | ||
|
|
f296dc5ad2 |
feat(portal): Show clients peek on actors index (#7100)
We will show up to 5 recently started client icons and a status for them as a green dot badge (no dot when it's offline to keep things simple). Additional details are available on hover. <img width="1415" alt="1" src="https://github.com/user-attachments/assets/1d48d08b-f024-4016-837a-3a2ac9a34718"> <img width="1413" alt="2" src="https://github.com/user-attachments/assets/101ff122-26e2-4282-ae1d-073b4eba9c56"> I also extended the `Clients` table on "Actor" view page to match the "Clients" index view. Also closes #7096 |
||
|
|
0452273a16 | fix(portal): Change groups table column widths (#7089) |