mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
d99508ead595f416e641bb21ed9c1a401332f6e1
709 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
9b5a7e5fb3 | fix(portal): Fix grammar on account lockout message (#8149) | ||
|
|
159e8e3dd5 |
fix(portal): Connect internet resource to internet site (#8151)
With the internet site changes now in, editing the Internet Resource is impossible. As such, the old instructions for using the Internet Resource no longer apply, and we need to make sure the Internet Site and Internet Resource are linked. This migration ensures that's the case. However, if the internet resource is currently connected to another site already, we don't move it. This is only for internet resources that aren't connected to any sites yet. |
||
|
|
d452e7d1b5 |
fix(portal): Parse string metric datetimes (#8148)
It turns out we can sometimes receive measurements with `DateTime`
fields, and other times they're strings. 🙃
|
||
|
|
311988c5a2 |
fix(portal): Only compute diff for metrics with both start and end times (#8147)
A fix for a nil error from #8146 |
||
|
|
36b887e98e | fix(portal): Don't flush metrics when intervals < 5s (#8146) | ||
|
|
d29b210a63 |
chore(portal): Log metrics that failed to flush (#8142)
When flushing metrics to GCP, we sometimes get the following error:
```
{400, "{\n \"error\": {\n \"code\": 400,\n \"message\": \"One or more TimeSeries could not be written: timeSeries[0-51]: write for resource=gce_instance{zone:us-east1-d,instance_id:6130184649770384727} failed with: One or more points were written more frequently than the maximum sampling period configured for the metric.\",\n \"status\": \"INVALID_ARGUMENT\",\n \"details\": [\n {\n \"@type\": \"type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary\",\n \"totalPointCount\": 52,\n \"successPointCount\": 48,\n \"errors\": [\n {\n \"status\": {\n \"code\": 9\n },\n \"pointCount\": 4\n }\n ]\n }\n ]\n }\n}\n"}
```
It would be helpful to know exactly which metrics are failing to flush
so we can further troubleshoot any issues.
|
||
|
|
85ee37dfb3 |
Revert "fix(portal): Add node name key to metrics labels" (#8141)
The node_name label is already in the metrics. Reverts firezone/firezone#8082 |
||
|
|
5a3e940334 |
fix(portal): Fix typo in sites index (#8139)
Fixes a typo introduced in #6905 |
||
|
|
bacb4596b7 |
feat(portal): Internet Sites (#6905)
Related #6834 Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com> |
||
|
|
5efb4b0fe2 |
fix(portal): Fix typo :dns -> :ip in seeds (#8134)
Fixes #8119 |
||
|
|
93a88563f3 |
feat(portal): allow socket based postgres connections (#8044) (#8097)
This allows connections to the postgresql database via the standard socket, which - opposed to TCP sockets - allows `peer` authentication based on local unix users. This removes the need for a password and is much simpler to deploy when running components locally. In the current form, `DATABASE_SOCKET_DIR` takes precedence over hostname, if the environment variable is present. I found that `compile_config!` somehow enforces a value to be present which is explicitly not what I want for some of these values (i think). I'd be glad if anyone with more elixir experience can guide me as to how I can make this more idiomatic. --------- Supersedes: #8044 Signed-off-by: Jamil <jamilbk@users.noreply.github.com> Co-authored-by: oddlama <oddlama@oddlama.org> |
||
|
|
e32d2b845f |
fix(portal): Add node name key to metrics labels (#8082)
Ok, the reason why we're still getting the error `One or more points were written more frequently than the maximum sampling period configured for the metric.` is because the metric points are identified by the labels in the metric, and so are "aggregated" more frequently than our API calls. By adding the node name to the labels, we scope the metric by that node and prevent inserting the points more often than our API calls. |
||
|
|
feb1ec5e17 |
chore: Update client URLs & redirects for consistency (#8056)
Whenever changing a URL we care about, we add an entry in `website/redirects.js` to avoid breaking links to the old page. Most search engines reindex these after 1 year, but other websites and places won't, so we should generally keep them indefinitely since they don't cost us much to keep around. |
||
|
|
62ece23968 |
chore(portal): harden systemd relay example (#8045)
This adds hardening to the relay example systemd service shown in the admin portal. Instead of running the service as root to download the relay binary, we can let systemd manage the state directory and run with lower privileges at all times. I've also removed a shell injection which would in theory allow a malicious github api server to run commands as root in the pre start phase. That being said I have no idea how this script is intended to function, since it downloads the relay binary from the latest release on GitHub which currently is a `gui-client` release without any relay binaries attached. |
||
|
|
5bac3f5ec2 |
fix(infra): Don't send more/faster metrics than Google accepts (#8028)
We are getting quite a few of these warnings on prod:
```
{400, "{\n \"error\": {\n \"code\": 400,\n \"message\": \"One or more TimeSeries could not be written: timeSeries[0-39]: write for resource=gce_instance{zone:us-east1-d,instance_id:2678918148122610092} failed with: One or more points were written more frequently than the maximum sampling period configured for the metric.\",\n \"status\": \"INVALID_ARGUMENT\",\n \"details\": [\n {\n \"@type\": \"type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary\",\n \"totalPointCount\": 40,\n \"successPointCount\": 31,\n \"errors\": [\n {\n \"status\": {\n \"code\": 9\n },\n \"pointCount\": 9\n }\n ]\n }\n ]\n }\n}\n"}
```
Since the point count is _much_ less than our flush buffer size of 1000,
we can only surmise the limit we're hitting is the flush interval.
The telemetry metrics reporter is run on each node, so we run the risk
of violating Google's API limit regardless of what a single node's
`@flush_interval` is set to.
To solve this, we use a new table `telemetry_reporter_logs` that stores
the last time a particular `flush` occurred for a reporter module. This
tracks global state as to when the last flush occurred, and if too
recent, the timer-based flush is call is `no-op`ed until the next one.
**Note**: The buffer-based `flush` is left unchanged, this will always
be called when `buffer_size > max_buffer_size`.
|
||
|
|
3f62eff4a1 |
feat(portal): add configuration for the healthz port (#8020) (#8030)
This is required to run multiple components on a single machine (even if the processes are sandboxed), since they will share a network namespace and thus cannot bind to the same port. Currently port `4000` is hardcoded, this PR allows this to be configured by an environment variable. --------- Co-authored-by: oddlama <oddlama@oddlama.org> |
||
|
|
a93f40befd |
chore(portal): Bump elixir to 1.18.2 (#8009)
This is mostly to stay up to date with current Elixir and benefit from the new included [JSON parser](https://hexdocs.pm/elixir/JSON.html). Removing `Jason` in favor of the embedded `JSON` parser is saved for a [future PR](https://github.com/firezone/firezone/issues/8011). It found a couple type violations which were simple to fix, and some formatting changes. |
||
|
|
006ea4c6fd |
fix(infra): Inline sentry logging config (#8031)
It appears that something is initializing the Sentry.LoggerHandler
before we try to load it when starting:
```
Invalid logger handler config: {:logger,
{:invalid_handler, {:function_not_exported, {Sentry.LoggerHandler, :log, 2}}}}
```
This doesn't seem to actually inhibit the Sentry logger at all,
presumably because it initializes just fine in the application start
callback.
Instead of defining the config in the `config/` directory, we can pass
it directly to `:logger` on start which solves the above issue.
|
||
|
|
d1761e5a5d |
fix(infra): Bust cache for already-reported min/max metrics (#8026)
On staging (only), we see these logs spammed:
```
{400, "{\n \"error\": {\n \"code\": 400,\n \"message\": \"One or more TimeSeries could not be written: timeSeries[22]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/queue_time/min must be CUMULATIVE, but is GAUGE.; timeSeries[11]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/max must be CUMULATIVE, but is GAUGE.; timeSeries[8]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/idle_time/max must be CUMULATIVE, but is GAUGE.; timeSeries[7]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/idle_time/min must be CUMULATIVE, but is GAUGE.; timeSeries[10]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/min must be CUMULATIVE, but is GAUGE.; timeSeries[14]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/max must be CUMULATIVE, but is GAUGE.; timeSeries[13]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/min must be CUMULATIVE, but is GAUGE.; timeSeries[16]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/min must be CUMULATIVE, but is GAUGE.; timeSeries[23]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/queue_time/max must be CUMULATIVE, but is GAUGE.; timeSeries[20]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/max must be CUMULATIVE, but is GAUGE.; timeSeries[19]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/min must be CUMULATIVE, but is GAUGE.; timeSeries[17]: Metric kind for metric custom.googleapis.com/elixir/domain/repo/query/query_time/max must be CUMULATIVE, but is GAUGE.\",\n \"status\": \"INVALID_ARGUMENT\",\n \"details\": [\n {\n \"@type\": \"type.googleapis.com/google.monitoring.v3.CreateTimeSeriesSummary\",\n \"totalPointCount\": 36,\n \"successPointCount\": 24,\n \"errors\": [\n {\n \"status\": {\n \"code\": 3\n },\n \"pointCount\": 12\n }\n ]\n }\n ]\n }\n}\n"}
```
This does not happen on prod. As far as I can tell, GCP will cache the
initial metric kind used when the metric ID was first used, which
appears to be `CUMULATIVE` here.
The correct metric kind for these is `GAUGE` since they're reporting a
min/max value.
Since GCP doesn't support resetting the auto-defined metric kind of a
particular metric ID, we need to alter the ID to "bust" the cache and
create a new definition.
|
||
|
|
dec2b0ee81 |
fix(portal): Only configure Sentry.LoggerHandler once (#8025)
The applications within our umbrella are all joined into a single Erlang cluster, and logger configuration is applied already to the entire umbrella. As such, registering the Sentry log handler in each application's startup routine triggers duplicate handlers to be registered for the cluster, resulting in warnings like this in GCP: ``` Event dropped due to being a duplicate of a previously-captured event. ``` As such, we can move the log handler configuration to the top-level `:logger` key, under the `:logger` subkey for configuring a single handler. We then load this handler config in the `domain` app only and it applies to the entire cluster. |
||
|
|
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> |