Commit Graph

4962 Commits

Author SHA1 Message Date
Andrew Dryga
8e4e7253e0 chore(portal): Split domains and set separate CAAs records (#5434) 2024-07-06 09:19:38 -07:00
Jamil
4ac447ad1f refactor(website): Update hero layout on landing page (#5771)
Still need to replace the graphic
2024-07-06 00:42:10 -07:00
FTB_lag
2f9175b66a chore(infra): fix docker image and tag for domain (#5769)
Signed-off-by: FTB_lag <tabolskyy.git@gmail.com>
2024-07-05 19:52:37 -07:00
Jamil
ff506ab679 chore(infra): revoke oneleet signups, allow firezonedemo.com (#5770)
- Reverts the access allowing them to sign up on staging.
- Allows `firezonedemo.com` for marketing / sales demos.
2024-07-05 21:02:51 +00:00
Jamil
b7227d1abc docs: GitHub releases -> Changelog (#5763)
Needs to be updated with proper links pointing to changelog, not GH
releases.
2024-07-05 13:19:43 -07:00
Jamil
e39ce22b36 chore: Publish new linux/windows clients (#5767)
Adds the DNS fix.
2024-07-05 13:19:30 -07:00
Jamil
5dc7715dca feat(website): Add shadow to navbar on scroll (#5768)
Prevents problems with it blending in to content.

### Before
<img width="855" alt="Screenshot 2024-07-05 at 11 59 52 AM"
src="https://github.com/firezone/firezone/assets/167144/b5f4a595-26a6-4c48-8195-28dd26a6264e">


### After

<img width="836" alt="Screenshot 2024-07-05 at 11 59 26 AM"
src="https://github.com/firezone/firezone/assets/167144/cb2de469-6717-4991-9c79-b8daf68c5578">
2024-07-05 12:00:31 -07:00
Reactor Scram
35926eb12f refactor(gui-client): connect to the IPC service immediately when the GUI starts (#5704)
I had to change the smoke test because it had a couple issues:
- The IPC socket had the wrong permissions because I didn't realize you
can tell `su` / `sudo` / `runuser` to set a group in addition to setting
a user
- It had a hard-coded timer of 12 seconds, and one time the test failed
because the IPC service exited before the GUI finished loading. So I
changed it so the IPC service in smoke test mode will wait forever for
exactly one client, then quit

```[tasklist]
### Tasks
- [x] Run `chown` in the Ubuntu smoke test
```
2024-07-05 17:44:12 +00:00
Jamil
0239176c8e fix(website): fix wrong link in /support (#5759) 2024-07-05 10:18:20 -07:00
Reactor Scram
663367b605 chore(gui-client): timestamp crash dump file names (#5452)
Closes #5449

The smoke tests expect `last_crash.dmp` at a fixed path, so in this case
we write the file with a timestamped name, then copy it over
`last_crash.dmp`.
2024-07-05 15:21:25 +00:00
Jamil
b1940b11e3 fix(website): blog post layout (#5757)
Prevents the layout header from appearing at the lop of each post.
2024-07-05 08:27:22 -07:00
Thomas Eizinger
28d5b8574c chore(connlib): minor logging tweaks (#5746)
Noticed a few things that caused unnecessary verbosity in the logs.
2024-07-05 14:45:32 +00:00
Jamil
90ea603584 refactor(website): landing page iteration 2 (#5753) 2024-07-05 01:14:07 -07:00
Thomas Eizinger
2a2877a4d9 test(snownet): add debug assert (#5750)
Within `snownet`'s test harness, packets are dispatched in a particular
order and of none of them match. They are assumed to be for the node
directly. We add a debug assert to ensure that the given address is in
fact part of the "local" interfaces that we have configured in the
tests.
2024-07-05 07:00:24 +00:00
Thomas Eizinger
a57c64e62b chore(snownet): add some debug logs around channel bindings (#5749) 2024-07-05 07:00:03 +00:00
Jamil
dd2de0440e refactor(android): Remove excessive debug logging from kotlin codebase (#5748)
- Why: This prevents logging potentially sensitive data to Logcat or
Firebase. For critical codepaths we rely on a non-null `!!` check
anyhow, which will be reported with a crash to Firebase. Now that we
have some confidence the app is reliable, I think we can reflect that
confidence in our code.
- This moves the `loadLibrary` call to the app start, which will surface
issues immediately when launching the app and not when trying to
connect. This also makes connect very slightly faster.
- Finally, `BootShutdownReceiver` is removed since it was essentially a
no-op. There are a few ways we can connect on boot, but this isn't a
good approach since it would ignore Android's Always-on VPN setting.
2024-07-05 05:06:02 +00:00
Jamil
3d65be0bb9 fix(website): Wrap app in MixpanelProvider (#5747)
We need to wrap the `children` by `MixpanelProvider` and not simply
include the Provider on the page.

Fixes #5744
2024-07-05 04:12:19 +00:00
Reactor Scram
7e9db1d876 chore(headless-client): fix typo in match statement (#5706)
PR #5700 had a typo in it. I didn't notice that these match arms use
`|`, so I accidentally flush the DNS for an event that doesn't need it.
Only `OnUpdateResources` should flush DNS.
2024-07-05 03:16:33 +00:00
Jamil
29df4a2f1f docs: update DNS docs / blog to match new system, mention port exhaustion (#5743)
Fixes #5724 
Fixes #5725 
Fixes #5726
2024-07-04 22:25:11 +00:00
Reactor Scram
d0f68fc133 test(gui-client): multi-process smoke test for GUI + IPC service (#5672)
```[tasklist]
### Tasks
- [x] Check the GUI saves its settings file
- [x] Check the IPC service writes the device ID to disk
- [x] Check the GUI writes a log file (skipped - we already check if the exported zip has any files in it)
- [x] Run the crash file through `minidump-stackwalk`
- [x] Reach feature parity with the original smoke tests
- [x] Ready for review
- [x] Finish #5452
- [ ] Start on #5453 
```
2024-07-04 21:10:31 +00:00
Andrew
4037a7bdd3 Provision and read-only DB replica in Europe 2024-07-04 13:00:55 -06:00
Andrew
86d6b79de1 Change the billing account ID 2024-07-04 13:00:55 -06:00
Jamil
c3e6ab02e6 fix(portal): hover state titles (#5715)
Fixes #5236 
Fixes #5243 
Fixes #5240 
Fixes #5234
2024-07-04 18:11:07 +00:00
Jamil
60d2a2befd fix(infra): relay listens on UDP only (#5718)
I don't believe we use/need TCP for the Relays. Better to keep the ports
closed if so.

Also, the docker-compose.yml is updated to allow the `relay-1` service
to respond to all its ports, since we don't need those mapped typically.
2024-07-04 16:53:08 +00:00
Jamil
ad1e4e188f fix(portal): add @class to input and use disabled cursor (#5713)
Fixes #5238
2024-07-04 16:37:49 +00:00
Jamil
140a2979da refactor(portal): Use popover with UTC timestamp for datetime fields (#5712)
Fixes #5249 to allow copy-pasting the timestamp
Fixes #5635 by virtue of using a relative datetime there.
Fixes #5225 

<img width="579" alt="Screenshot 2024-07-03 at 10 58 11 PM"
src="https://github.com/firezone/firezone/assets/167144/261a5f58-ab9c-40b3-a26f-3adcff228aa9">
2024-07-04 16:37:33 +00:00
Jamil
1e7d3a40d2 fix(website): apply scroll margin to footnotes too (#5711)
Fixes #5710
2024-07-04 07:31:13 +00:00
Jamil
d84c4f0713 refactor: minor tweak to sans-io intro to be more conservative (#5709)
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-07-04 02:50:54 +00:00
Jamil
086c730aaf chore: Bump clients to 1.1.2 for DNS record type forward (#5703)
Apps are already in review with App Stores
2024-07-04 01:31:26 +00:00
Thomas Eizinger
6641e1b70f fix(blog): apply spell-checker suggestions (#5705)
I ran the post through a spell and grammar checker and applied some of
its suggestions.
2024-07-03 23:49:38 +00:00
Reactor Scram
f6e99752ec fix(client): flush the OS' DNS cache whenever resources change (#5700)
Closes #5052

On my dev VMs:
- systemd-resolved = 15 ms to flush
- Windows = 600 ms to flush

I tested with the headless Clients on Linux and Windows and it fixes the
issue. On Windows I didn't replicate the issue with the GUI Client, on
Linux this patch also fixes it for the GUI Client.
2024-07-03 21:14:43 +00:00
Jamil
2db32c247f refactor: sans-io minor fixes (#5694)
Just some minor nits I noticed after going live, before we post to
socials.
2024-07-03 20:57:04 +00:00
Reactor Scram
ecb38dedf9 fix(gui-client/windows): retry 10 times while creating the deep link server (#5570)
Temporary fix for #5566 

A better fix would be to merge the deep link and IPC service code, but I
tried that a couple times and failed, their interfaces are different.

```[tasklist]
### Tasks
- [x] Expand comment explaining the root cause
- [x] Re-request review
```
2024-07-03 20:55:30 +00:00
Jamil
3b0f54ec3c ci: Push infra images to ghcr.io (#5669)
Fixes #5447

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-07-03 19:36:06 +00:00
Andrew Dryga
c9a9c1864a fix(portal): Update client identity on every connection (#5697)
This identity must track the last sign in method used by the client

Closes #5633
2024-07-03 13:17:06 -06:00
Jamil
2f574aecd8 Eagle (#5699) 2024-07-03 12:13:52 -07:00
Jamil
ff04a13f09 fix(website): minor sidebar consistency fixes (#5698) 2024-07-03 12:07:46 -07:00
Jamil
a7b14229fc fix(android): Bump AGP to 8.5.0 and reorder rust gradle plugin (#5693)
Fixes the issue with #5664 by re-ordering the gradle plugin (yes,
really).

See https://github.com/mozilla/rust-android-gradle/issues/148

Supersedes #5664
2024-07-03 15:26:57 +00:00
Jamil
c214d7c40f fix(website): Split analytics modules into separate components to isolate issues (#5692)
By splitting these components up, we can debug
https://react.dev/errors/419 a bit easier.
2024-07-03 06:47:12 -07:00
Jamil
062da2c0e4 fix(website): fix border hover in navbar (#5691) 2024-07-03 06:21:36 -07:00
Jamil
d0c9b2d3c2 fix(blog): fix sans-io blog post image sizes (#5690) 2024-07-03 06:11:45 -07:00
Thomas Eizinger
84ce5eb2c7 feat(blog): explain the sans-IO design pattern (#5675)
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-07-03 12:27:36 +00:00
dependabot[bot]
328105ce91 build(deps): Bump the lifecycle group in /kotlin/android with 3 updates (#5655)
Bumps the lifecycle group in /kotlin/android with 3 updates:
androidx.lifecycle:lifecycle-runtime-ktx,
androidx.lifecycle:lifecycle-viewmodel-ktx and
androidx.lifecycle:lifecycle-livedata-ktx.

Updates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.1 to 2.8.2

Updates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.1 to 2.8.2

Updates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.1 to 2.8.2


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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-07-03 07:29:55 +00:00
Jamil
9ac9dedfb9 feat: Azure scalable Gateway module and docs (#5644)
Resolves #2603
2024-07-03 07:16:56 +00:00
Gabi
5fd321c4bb chore(connlib): forward non-address record queries (#5674)
Since we only handle `A`, `AAAA` and `PTR` records of names we handle,
this can lead to unexpected behavior with other record types, where
using Firezone breaks `TXT`, `MX` or other record types for the
resources we handle.

So this is a bit of a refactor, now we lookup a resource and explicitly
return `Some` when there is a record we should be returning (even if
it's empty due to IP exhaustion) or `None` when we should just forward
the query.

This has the added benefit of no longer breaking bonjour or other
non-standard `PTR` queries.

Fixes: #5673.

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-07-03 05:15:23 +00:00
Jamil
e472f21bb0 revert: "fix(website): Handle JS errors during Mixpanel init" (#5685)
Reverts firezone/firezone#5684
2024-07-02 17:19:00 -07:00
Jamil
c0f98ea896 fix(portal): bump auth constant time to 2s (#5668)
Fixes
https://console.cloud.google.com/monitoring/alerting/incidents/0.nes28ktmvdk8?channelType=slack&project=firezone-prod

```
elapsed_time: 1300
```
2024-07-02 21:40:44 +00:00
Jamil
b0e35aa148 fix(website): Handle JS errors during Mixpanel init (#5684)
Adds an `ErrorBoundary` to catch the errors that may occur when
rendering the Suspense


```
Uncaught Error: Minified React error #419; visit https://react.dev/errors/419 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
```
2024-07-02 14:41:58 -07:00
Jamil
1edc827bca feat(portal): enable welcome email sending on manually provisionned o… (#5679)
…idc users (#5127)

Currently we can only send a welcome email to oidc users who have
already logged in once. For manually provisionned oidc users, we can't.
This PR aims to solve this issue

---------

Co-authored-by: Antoine <antoinelabarussias@gmail.com>
2024-07-02 19:59:23 +00:00
Jamil
33dff8af96 docs: Add more Gateway deploy examples (#5646)
- ~~Adds `fontawesome` icons to the portal and integrates them into the
existing `icon` component. Use just like the heroicons except prefixed
`fa-`.~~ Edit: removed these because I don't think it's worth the
increased bundle size. Just going to inline the icons we need instead.
- Fixes #3041
- Fixes #5072
2024-07-02 19:59:04 +00:00