Commit Graph

281 Commits

Author SHA1 Message Date
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
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
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
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
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
89dd4c5a72 fix(portal): Fix bug with preset values in policies dropdowns (#4693)
Closes #4688
2024-04-18 16:52:02 -06:00
Brian Manifold
4ba3cedf37 refactor(portal): Refactor client login to use HTML meta refresh and cookie (#4617)
The client authentication had previously been using liveview and passing
params around using URL query params. One of the issues with using
liveview for this task was that there edge case issues on certain
clients with the websocket connection. Along with that, to have even
more security during the login process, the query param values that were
passed after the client was authenticated have been moved to an HTTP
cookie with very strict flags set.

The deep link redirection now uses a new HTTP endpoint that returns a
302 with the deep link as the location, which is triggered using a
`<meta http-equiv="refresh">` tag on the client.
2024-04-16 19:47:16 +00:00
Jamil
c8917a58c5 refactor: Discord -> Slack (#4616)
Fixes firezone/bizops#82
2024-04-15 22:05:29 +00:00
Jamil
7775e5213e fix(portal): remove typo in manual command var (#4614)
This breaks copy-pasting the token from the Deploy Gateway page:

<img width="341" alt="Screenshot 2024-04-13 at 2 59 08 PM"
src="https://github.com/firezone/firezone/assets/167144/1cb6bc9e-e2ae-476b-85ac-7d0e1b635945">
2024-04-15 10:01:22 -06:00
Andrew Dryga
a0e69813c0 feat(portal): Broadcast relays presence updates to the client and return them in init (#4596)
`relays` will be removed from `prepare_connection` in a few weeks after
we release a version that reads them from `init` message. Keep in mind
technically `relays` list can be empty, it would be nice if clients
would log an error or show it in such cases.
2024-04-12 11:26:48 -06:00
Jamil
d1a3c3aeff style(docs): Use simple <pre> for monospace blocks (#4582)
- Add logs export example, fixes #4051 
- Use brand color palette for `pre` blocks

These have been updated to match our colorscheme.

Code blocks (\`\`\`elixir) will pull in the syntax highlighting but
these simple ones will use our color palette:

<img width="780" alt="Screenshot 2024-04-10 at 7 18 02 PM"
src="https://github.com/firezone/firezone/assets/167144/166cd5a7-c8cd-456b-a1c1-5faeab20d0f8">
2024-04-11 15:31:01 +00:00
Jamil
027db64322 refactor(docs): Docs polish iteration, add DoH known issue (#4579)
Fixes #4310

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Brian Manifold <bmanifold@users.noreply.github.com>
2024-04-10 18:31:26 -07:00
Andrew Dryga
b0590fa532 chore(portal): Send metrics to Google Cloud Monitoring (#4564) 2024-04-10 13:04:59 -06:00
Jamil
da3f95a9da chore(portal): normal weight for helptext (#4572)
FF is ok but on Chrome it's a bit hard to read:

<img width="451" alt="Screenshot 2024-04-10 at 6 51 19 AM"
src="https://github.com/firezone/firezone/assets/167144/3f152c4f-2903-4c26-b20e-5f239d39c28e">

`font-normal text-neutral-400`

<img width="518" alt="Screenshot 2024-04-10 at 6 56 57 AM"
src="https://github.com/firezone/firezone/assets/167144/c8d8dc59-b69b-468c-b9cb-d70c622a938f">
2024-04-10 14:43:16 +00:00
Andrew Dryga
0b1ffd1339 chore(portal): Show support options on the billing page and remove features table (#4559)
Closes https://github.com/firezone/gtm/issues/237

<img width="1728" alt="Screenshot 2024-04-09 at 12 15 53"
src="https://github.com/firezone/firezone/assets/1877644/594a765d-363e-424d-bd70-0d9e1b1f50fa">
2024-04-09 14:42:48 -06:00
Andrew Dryga
98b49fd34d fix(portal): Show count of returned records instead of page size (#4558)
Closes #4556
2024-04-09 17:25:22 +00:00
Brian Manifold
0d65d016b7 feat(portal): Add API Client UI (#4023)
Why:

* As work on the portal REST API has begun, there was a need to easily
provision API tokens to allow testing of the new API endpoints being
created. Adding the API Client UI allows for this to be done very easily
and will also be used once the API is ready to be consumed by customers.

Closes #2368
2024-04-09 16:05:17 +00:00
Brian Manifold
c37882148d refactor(portal): Update actor group selection in portal (#4467)
Why:

* When creating or editing an actor, the previous form had a
multi-select input that would list all groups in the account. In order
to select or deselect groups, you would need to hold down ctrl or cmd on
the keyboard and click a given group. This worked when there were a very
small number of groups, but if an account had a moderate number of
groups it became very difficult. Along with that, it was also easy to
accidentally forget to hold down ctrl/cmd and click a group, which would
clear all previously selected groups. This commit moves the group
selection out from the new/edit actor pages and creates a new actor
group edit page that allows a user to search for groups as well as
making it easy to select which group should be added or removed.

Fixes #4372 

<img width="1008" alt="Screenshot 2024-04-03 at 1 37 25 AM"
src="https://github.com/firezone/firezone/assets/2646332/bca9163b-bbaf-49ef-b3b9-8c6770e8c307">
2024-04-09 02:56:54 +00:00
Andrew Dryga
95a7186953 chore(portal): Fix flaky tests (#4543)
Closes #4509
2024-04-08 10:13:37 -06:00
Andrew Dryga
1078c292d3 fix(portal): Ship hotfixes for various crash reports discovered in logs (#4538)
I'll merge and push this right away to prevent users from hitting edge
cases and our monitoring from triggering alerts.
2024-04-08 02:20:26 -06:00
Andrew Dryga
cb56d768f4 revert(portal): "chore(portal): Save MAU billing for a future feature update (#4414)"
This reverts commit 6b9231a21b.
2024-04-08 01:29:31 -06:00
Jamil
6b9231a21b chore(portal): Save MAU billing for a future feature update (#4414)
Just updating the UI to be a bit more consistent.

Will be nice to offer MAU billing along with directory sync to Team plan
in a future feature release.

<img width="635" alt="Screenshot 2024-03-31 at 8 49 01 AM"
src="https://github.com/firezone/firezone/assets/167144/4a309035-527b-4d4f-96d3-d5b8abeaa03b">
2024-04-07 09:26:05 -07:00
Jamil
703b397a86 chore(portal): Add Sign in from sign up form (#4529) 2024-04-05 20:18:55 -07:00
Andrew Dryga
e2ee6bbc5e chore(portal): Add users limit and use it as default limit for accounts (#4527)
A manual migration will be needed (run
`Domain.Ops.sync_pricing_plans()`) to sync the limits for all the
accounts.
2024-04-05 15:20:02 -06:00
Andrew Dryga
e8dc190879 Fix tests 2024-04-03 11:01:05 -06:00
Andrew Dryga
4bd692bc6c hotfix: Log Account ID on billing portal errors 2024-04-02 13:14:50 -06:00
Jamil
38a373a6b9 fix(portal): Correct Edit account page title and label (#4412)
Fixes #4411
2024-03-31 19:52:06 +00:00
Andrew Dryga
51afb4c227 fix(portal): Persist first user email to Stripe during account sign up (#4408) 2024-03-30 13:40:52 -06:00
Brian Manifold
f5bb02d36e refactor(portal): Move actor groups to own table in actor show page (#4392)
Why:

* When viewing an actor in the portal, all of the groups were listed in
the top info table. This works for a small number of groups, but becomes
difficult to use when an actor is in a large number of groups. This
commit moves that information to it's own `live_table` element so that
it's easier to parse and can be paginated.
2024-03-29 14:50:04 -06:00
Andrew Dryga
fe1a627f4b Create everyone group on account sign up (#4388) 2024-03-28 17:23:08 -06:00
Andrew Dryga
2cf63cb33a fix(portal): Serve static files with digests at root (#4386)
Closes #4384
2024-03-28 16:13:13 -06:00
Andrew Dryga
dc75a075b9 fix(porta): Greatly improve HTTP 500 error page (#4382)
<img width="1728" alt="Screenshot 2024-03-28 at 15 00 19"
src="https://github.com/firezone/firezone/assets/1877644/174c54c2-b958-416f-ad50-9c2af4103bfc">
2024-03-28 15:39:12 -06:00
Andrew Dryga
40864567f2 fix(portal): Filter group actors by group id (#4369)
Closes #4365
2024-03-28 15:28:08 -06:00
Brian Manifold
0a0746f463 style(portal): Update portal UI polish/consistency (#4367)
Why:

* This commit was not intended to be a sweeping UI change, but rather a
quick pass over the portal to make sure things were consistent and also
to update small UI elements that were discussed offline.
2024-03-28 18:47:16 +00:00
Andrew Dryga
35d0cd7701 chore(portal): Update Gateways deploy UI (#4352)
Closes #4019

<img width="1728" alt="Screenshot 2024-03-27 at 14 53 30"
src="https://github.com/firezone/firezone/assets/1877644/a2b8850e-49b7-4379-9851-5cb5453018d5">

<img width="1728" alt="Screenshot 2024-03-27 at 14 53 32"
src="https://github.com/firezone/firezone/assets/1877644/5b35c045-6db8-4522-bba8-794d68eae879">
2024-03-28 11:59:09 -06:00