Commit Graph

412 Commits

Author SHA1 Message Date
Jamil
8700a680d5 chore: Bump versions to point to new artifacts (#5337)
Currently dl links are broken due to the updated format.
2024-06-12 00:01:59 -07:00
Jamil
2e436f7f77 chore(portal): Fix policy creation for conditions disabled; tweak design (#5301)
- Fixes policy creation when `policy_conditions` is disabled
- Updates design so that items are a little more aligned and text has
more / consistent spacing around.



https://github.com/firezone/firezone/assets/167144/b9c29110-ae1c-4841-b999-a0da022f4a38



Test is failing though. Before sinking more time into this I wanted to
open this PR to get @AndrewDryga's input.
2024-06-11 11:41:06 -07:00
Jamil
7e533c42f8 refactor: Split releases for Clients and Gateways (#5287)
- Removes version numbers from infra components (elixir/relay)
- Removes version bumping from Rust workspace members that don't get
published
- Splits release publishing into `gateway-`, `headless-client-`, and
`gui-client-`
- Removes auto-deploying new infrastructure when a release is published.
Use the Deploy Production workflow instead.

Fixes #4397
2024-06-10 16:47:49 +00:00
Andrew Dryga
650d7d7998 feat(portal): Add Policy conditions (#5144)
Now policies can have additional conditions based on Client location
(country or IP range), IdP provider used for sign in or the current time
of the day at a given timezone. This covers use cases where employees
can access the production system only from certain countries (states can
be added later) or when contractors can only access internal tools
during working hours.

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


<img width="1728" alt="Screenshot 2024-05-31 at 13 50 53"
src="https://github.com/firezone/firezone/assets/1877644/55f509f2-0f49-4edb-8c03-7a5a6d884ccc">
<img width="1728" alt="Screenshot 2024-05-31 at 13 50 56"
src="https://github.com/firezone/firezone/assets/1877644/756bb03f-4024-4978-ac85-6daa918ae037">
<img width="1728" alt="Screenshot 2024-05-31 at 13 51 01"
src="https://github.com/firezone/firezone/assets/1877644/cf159a86-077f-4ada-9952-9e8d399d0dc1">
<img width="1728" alt="Screenshot 2024-05-31 at 13 51 03"
src="https://github.com/firezone/firezone/assets/1877644/c070719e-2d4b-41bd-ad03-430baf2dbe9b">
<img width="676" alt="Screenshot 2024-05-31 at 14 56 06"
src="https://github.com/firezone/firezone/assets/1877644/435a4951-479d-4371-99c4-29a055348175">
2024-06-09 12:46:35 -06:00
Jamil
ba6685e2f2 fix(ux): Align filters horizontally on md breakpoints and higher (#5265)
Fixes #5231 
Fixes #5232 


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

<img width="1791" alt="Screenshot 2024-06-05 at 7 32 16 PM"
src="https://github.com/firezone/firezone/assets/167144/64d417e3-cf74-4f20-9cf5-22b7c0cd620c">
<img width="748" alt="Screenshot 2024-06-05 at 7 32 07 PM"
src="https://github.com/firezone/firezone/assets/167144/11cd2f3a-f8ee-4098-bad9-ab21fd6c000c">
<img width="1792" alt="Screenshot 2024-06-05 at 7 31 50 PM"
src="https://github.com/firezone/firezone/assets/167144/c601eec9-956b-4229-a1c4-484c4bca5001">
<img width="1792" alt="Screenshot 2024-06-05 at 7 31 48 PM"
src="https://github.com/firezone/firezone/assets/167144/2bd2c61a-e39b-4215-8e76-b7b3835dd5aa">
<img width="1792" alt="Screenshot 2024-06-05 at 7 31 43 PM"
src="https://github.com/firezone/firezone/assets/167144/c06d431d-37c1-4ca1-8ab2-67a879cf609b">
2024-06-06 20:01:45 +00:00
Jamil
c26869cf34 fix(ux): Use icon sizes consistent with text size (#5256)
Fixes #5229 

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

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


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

Fixes #5228

---------

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

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

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

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2024-06-05 23:19:33 +00:00
Jamil
0a22589c9e fix(ux): consistent pagination size of 10 (#5255)
Fixes #5226
2024-06-05 21:31:55 +00:00
Jamil
352b3865bf fix(ux): Settings linebreak (#5254)
Fixes #5253 
<img width="463" alt="Screenshot 2024-06-05 at 8 23 31 AM"
src="https://github.com/firezone/firezone/assets/167144/878f8be7-2cbc-4b8c-b2c8-41a6926f7e2a">
2024-06-05 15:39:39 +00:00
Thomas Eizinger
d27a7a3083 feat(relay): support custom turn port (#5208)
Original PR: #5130.

Co-authored-by: Antoine <antoinelabarussias@gmail.com>
2024-06-05 04:04:17 +00:00
Antoine
d727836e2b feat(portal): support for tls only smtp servers (#5126)
`tls_options` are only used for STARTTLS. To handle SMTP servers where
SSL/TLS is enforced (i.e `ssl: "true"`), users must be able to provide
custom `sockopts`


da7893dbe5/src/gen_smtp_client.erl (L853)
2024-06-03 12:25:17 -06:00
Andrew Dryga
91983c3533 feat(portal): Send traffic filters to clients (#5202)
Closes #5201
2024-06-03 12:24:42 -06:00
Reactor Scram
55834e9e79 docs(gateway): make portal and KB consistent (#5166)
Closes #5149
2024-05-31 17:40:28 +00:00
Jamil
cafc5c0730 fix(portal): UX: only show everyone note for users (#5073)
fixes #5064
2024-05-21 23:49:54 +00:00
Andrew Dryga
fac07808a0 Stop double-tracking page views for HubSpot 2024-05-21 17:01:51 -06:00
Andrew Dryga
f16fc2393b Manually track page views for HubSpot and send path without query parameters 2024-05-21 15:47:33 -06:00
Andrew Dryga
b8e5afa064 Disable Mixpanel debugging 2024-05-21 11:12:52 -06:00
Andrew Dryga
a7e54686b0 feat(portal): Track page views and sign ups using Mixpanel and HubSpot on public pages (#5050)
Fixes firezone/gtm#253
Fixes firezone/gtm#278
2024-05-21 10:34:56 -06:00
Jamil
048a69eef0 chore(ux): Add sync time hint help to idp show (#5034)
Adds help text to IdP show page to communicate a little more about how
the sync works and also link to the relevant docs.

Fixes #5025
2024-05-20 14:25:28 +00:00
Jamil
727d88cf6d fix(portal): Dedicate 3/12 width for columns with IPs (#5001)
- Ensure IP address appears on newline always
- Dedicate 3/12 width for table columns that can contain IPv6 addresses
- Removes the `(IP)` parentheses because that makes it hard to
copy/paste the IP

Fixes #4992
2024-05-15 19:43:19 +00:00
Brian Manifold
3ba7962c23 refactor(portal): Update IDP creation flow (#4984)
Why:

* The new flow for creating an identity provider in Firezone allows the
user to not have to worry what features their plan has enabled. It will
allow the user to select which identity provider they use and will take
them to the appropriate form depending on the features they have enabled
on their plan.

## Screenshots

### Selecting an identity provider
<img width="937" alt="Screenshot 2024-05-14 at 11 53 17 AM"
src="https://github.com/firezone/firezone/assets/2646332/31337ad9-13c8-43a2-942c-adb0a951167c">


### New OIDC form when a custom provider is selected but IDP sync is not
enabled for account
<img width="903" alt="Screenshot 2024-05-14 at 11 54 58 AM"
src="https://github.com/firezone/firezone/assets/2646332/2e18d788-60c3-4fad-b749-351559a24aca">
2024-05-14 19:48:36 +00:00
Andrew Dryga
b7ced7ef56 chore(portal): Use redactor to reduce chances of accidentally logging secrets (#4983) 2024-05-14 11:30:53 -06:00
Andrew Dryga
3cdbc478ff Replace - with _ when building a slug 2024-05-13 10:05:50 -06:00
Andrew Dryga
758c715e85 Allow overriding provisioned customer slug from metadata field 2024-05-13 10:05:49 -06:00
Andrew Dryga
3dc68c7355 fix(portal): Verify email token identity (#4977) 2024-05-13 10:03:50 -06:00
Jamil
c34941db33 fix(portal): Use info button style for buttons that change form elements and don't submit (#4958)
Why:

I've been on two live support calls now where the user didn't realize
the simply clicking the "Add" button didn't save the Group memberships
form, so they were confused why their user wasn't in the group, and why
their client couldn't access the Resources they were trying to access.

- The color of the "Add/Remove" buttons are changed to make the Save
button at the bottom stand out a little more.
- Tidies up a couple other minor issues found while implementing this.

# Before
<img width="910" alt="Screenshot 2024-05-11 at 6 26 23 PM"
src="https://github.com/firezone/firezone/assets/167144/d2bdba74-6dba-4904-a13b-faeba3e0b0d0">



# After
<img width="902" alt="Screenshot 2024-05-11 at 6 25 15 PM"
src="https://github.com/firezone/firezone/assets/167144/2adf937c-4dd0-4d51-a7d3-a73e764e3493">
2024-05-12 01:48:25 +00:00
Andrew Dryga
f5b4736f12 fix(portal): Fix edge cases with OIDC discovered in logs (#4777)
Can be reviewed commit by commit.
2024-05-11 09:37:28 -06:00
Jamil
7faacd931c fix(portal): Add provider icon to identity/group badges (#4947)
- Makes the group badges a little easier on the eyes, and reduces their
size to improve layout flow a bit. Allows to more quickly identity
provider adapters at-a-glance.
- Fix group badge wrapping so that long group names don't flow into the
next table cell

Fixes #4905 



<img width="1209" alt="Screenshot 2024-05-10 at 7 24 59 AM"
src="https://github.com/firezone/firezone/assets/167144/fba4190a-af0a-464a-b3b1-9e98505c59fb">
2024-05-10 20:51:27 +00:00
Jamil
e03340bd96 fix(portal): don't confirm group selections if there aren't changes (#4946)
- Fixes #4937 (not worth adding complexity to the live table for this,
so just added as a note in the bottom)
- Don't show confirmation dialog if no changes have been made

<img width="912" alt="Screenshot 2024-05-09 at 11 03 00 PM"
src="https://github.com/firezone/firezone/assets/167144/47f1a76c-5f2a-4815-b0ff-7f1e68c785bf">
2024-05-10 14:35:35 +00:00
Jamil
1536b124da fix(portal): Reduce button sizes in live_table to xs (#4945)
- Updates buttons in tables to size `xs` so they are a bit easier on the
eyes and fixes #4938
- Makes "Save" button placement consistent
- Reduces count of Actors list in `Edit actors` for group page because
it pushes the `Save` button below the fold and it was confusing some
users because it wasn't obvious they needed to save the selection.
2024-05-10 06:52:42 +00:00
Jamil
dff0a33e96 fix(portal): Ensure site can be changed when multi-site is false (#4915)
Fixes #4913
2024-05-08 19:04:51 +00:00
Jamil
4a6ff03626 refactor(portal): Remove Permit all and grey out form when traffic filters disabled (#4887)
- Simplify traffic filters: empty means permit all
- Grey out form instead of hiding when traffic filters disabled, fixes
#4816
- Fix port range population when no ports have been entered
- Update tests
- Add migration to migrate existing prod data
- Add "UPGRADE TO UNLOCK" badge
- Add `inline_errors` attr to show inline error messages
- Remove traffic filters feature flag to allow enable/disable by billing
instead

<img width="757" alt="Screenshot 2024-05-03 at 12 43 24 PM"
src="https://github.com/firezone/firezone/assets/167144/9e9277cb-4653-427c-ade3-4e3b9d479411">

<img width="194" alt="Screenshot 2024-05-03 at 2 03 06 PM"
src="https://github.com/firezone/firezone/assets/167144/06e03314-9010-48a0-8504-0ab49173f0a9">

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2024-05-07 16:27:00 +00:00
dependabot[bot]
813a15b133 build(deps): Bump @fontsource/source-sans-3 from 5.0.19 to 5.0.20 in /elixir/apps/web/assets (#4848)
Bumps
[@fontsource/source-sans-3](https://github.com/fontsource/font-files/tree/HEAD/fonts/google/source-sans-3)
from 5.0.19 to 5.0.20.
<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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@fontsource/source-sans-3&package-manager=npm_and_yarn&previous-version=5.0.19&new-version=5.0.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 14:03:29 +00:00
Andrew Dryga
678a27c491 hotfix(portal): additional metadata for token refresh logs 2024-04-30 09:38:46 -06:00
Andrew Dryga
61b720fe68 hotfix(portal): add account_id to token refresh logs metadata 2024-04-30 09:12:53 -06:00
Andrew Dryga
8af7e8209d hotfix(portal): Stop retrying syncs when Entra access token is invalid 2024-04-30 09:09:45 -06:00
Brian Manifold
9efd7297d6 fix(portal): Update site deletion modal message (#4795)
Why:

* Deleting a Site from the show page would prompt the user with a
message about Gateway Groups.
2024-04-26 15:01:25 +00:00
Andrew Dryga
20a7794d66 fix(portal): Fix traffic filtering to send port-less rules (#4778) 2024-04-25 17:35:47 -06:00
Andrew Dryga
e86190c3eb feat(portal): Allow creating resources from Resources page (#4775)
Closes #4625
2024-04-24 15:45:48 -06:00
Andrew Dryga
09f0402387 feat(portal): Add legal_name field to accounts and sync it with new stripe metadata key (#4771)
Closes #4761
2024-04-24 15:45:32 -06:00
Brian Manifold
7673ffa7c5 fix(portal): Hide API clients sidebar link in UI when feature disabled (#4747)
The sidebar was missing a conditional check when displaying the API
Clients link. This was only a bug in the sidebar UI as visiting the
actual API clients URL path showed a `404` as expected when the REST API
feature was disabled.
2024-04-24 02:33:35 +00:00
Andrew Dryga
a0bd6e3d5b Hotfix: silence warnings about self-service sign ups from Stripe 2024-04-19 13:32:19 -06:00
Andrew Dryga
d56b4e20f7 Hotfix: issues with directory sync metrics and error logs 2024-04-19 12:11:33 -06:00
Andrew Dryga
f965efd3d0 Add account slug to directory sync traces and logs 2024-04-19 11:31:05 -06:00
Andrew Dryga
5b153f9ba4 Provider a way to disable flaky Elixir tests on CI 2024-04-19 11:27:31 -06:00
Andrew Dryga
0d3d372ada hotfix: trim metric labels to 1023 chars 2024-04-19 11:12:06 -06:00
Andrew Dryga
cc81105320 Fix flaky test: Increase concurrency test timeout 2024-04-18 20:02:44 -06:00
Andrew Dryga
65fce8872a Fix flaky test 2024-04-18 18:08:21 -06:00