feat(client/tauri): allow users to favorite specific Resources and hide the rest#5923
feat(client/tauri): allow users to favorite specific Resources and hide the rest#5923ReactorScram merged 23 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Terraform Cloud Plan Output |
typo in changelog Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
| submenu | ||
| .separator() | ||
| .disabled("Site") | ||
| .copyable(&site.name) // Hope this is okay - The code is simpler if every enabled item sends an `Event` on click |
There was a problem hiding this comment.
I can change this back to the old behavior where we have some rare items that are enabled but clicking does nothing, by making enabled explicit. I just thought it's weird to have a button that does nothing, at least if it copies the text maybe it'll aid debugging or something.
Performance Test ResultsTCP
UDP
|
| fn separator(self) -> Self; | ||
| } | ||
| #[cfg(test)] | ||
| mod tests { |
There was a problem hiding this comment.
Looks good! Couple UX nits:
"Add favorite" -> "Add to favorites"
"Remove favorite" -> "Remove from favorites"
If 1 or more favorites exist, maybe we should title that section "Favorite Resources" and move others to a section below (doesn't need a title) and call the menu "Other resources"? EDIT: looks like you already added a section divider, nice.
|
Just curious, how do they reset the menu? Is there a button for it in settings or does it reset with "Reset to defaults"? |
|
Another thought (ux) -- should "Add to favorites" be in the second submenu section at the bottom? I.e. under the other "Resource" details. I could see it going either way, just curious your thoughts. |
|
@jamilbk Those changes all sound good. And yeah resetting advanced settings removes all favorites. It's not intuitive but they're hooked into the settings file so it was easy to write the code that way. |
Gotcha, I need to think if this should work the same way on other platforms. We can reset this menu no prob with the user signed in, unlike the other settings which either sign you out (Apple) or tell you changes won't take effect until next sign in (Android). Might need either a "Reset favorites" button or add more logic to the above cases... probably will opt for the former for the other clients. |
|
@jamilbk Should I keep this PR open until we figure that out? Also, what happens in this sequence?
We shouldn't display an empty "Favorite Resources" section, right, we should act as if the now-deleted C is also unfavorited? |
Yeah I think that makes sense. Probably need to get this feature right since most have asked for it.
Yeah, interesting edge case. Maybe it could work like this:
|
| } | ||
|
|
||
| #[test] | ||
| fn dns_resource_with_url() { |
There was a problem hiding this comment.
Got rid of this by just testing the URL marker arrows (<https://example.com>) in every unit test
|
| Report | Tue, August 6, 2024 at 22:22:39 UTC |
| Project | Firezone |
| Branch | feat/tauri-favorites-menu |
| Testbed | github-actions |
Click to view all benchmark results
| Benchmark | Throughput | Throughput Results bits/s | (Δ%) | Throughput Lower Boundary bits/s | (%) |
|---|---|---|---|
| direct-tcp-client2server | ✅ (view plot) | 243,341,638.48 (+0.58%) | 237,213,423.87 (97.48%) |
| direct-tcp-server2client | ✅ (view plot) | 244,920,338.89 (-1.32%) | 241,359,870.35 (98.55%) |
| direct-udp-client2server | ✅ (view plot) | 302,142,583.71 (+4.52%) | 271,866,563.77 (89.98%) |
| direct-udp-server2client | ✅ (view plot) | 402,191,907.38 (+1.53%) | 384,057,369.62 (95.49%) |
| relayed-tcp-client2server | ✅ (view plot) | 244,063,316.68 (-0.75%) | 239,404,508.18 (98.09%) |
| relayed-tcp-server2client | ✅ (view plot) | 253,623,827.81 (-1.44%) | 246,961,074.61 (97.37%) |
| relayed-udp-client2server | ✅ (view plot) | 227,491,793.93 (-0.85%) | 218,883,860.87 (96.22%) |
| relayed-udp-server2client | ✅ (view plot) | 334,813,938.43 (-0.81%) | 317,943,028.04 (94.96%) |
Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help
|
@ReactorScram Please let me know when this is ready for re-review. |
|
@thomaseizinger The Tauri Client itself should be ready, but I'm keeping it in draft to remind myself that we want to synchronize the release with Android and Apple too, so Tauri can't go out by itself |
Maybe we should implement feature-flags as part of the init message so we can release these things early and activate them all at once? |
|
@thomaseizinger Sure. And we could do a CLI flag for local testing like Chromium does. Though, it will be hard if the feature flag is needed before we reach the portal. So far there are no features like that, but there could be. |
The feature flag config could also just be at https://firezone.dev/flags.json, right? Doesn't have to be delivered via connlib. |
|
Yeah I suppose. It will have to do something reasonable if we boot up without Internet. Maybe just save the flags to disk whenever they're seen, then fall back on disk if we can't reach the website. That way a flag that's seen flipped is never unflipped unless we unflip it on the server |
|
We agreed in a meeting that we can ship this for all 3 platforms (Tauri, Android, Swift) whenever ready, so I'll merge this one first |
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Refs #5123
Looking at a Resource when nothing is favorited

Looking at a favorited Resource

Looking at a non-favorited Resource
