-
Notifications
You must be signed in to change notification settings - Fork 3
feat: add workspace app icons to tray window #86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Adds AgentAppViewModel to handle each button - Adds collapsible control components to handle the collapsing section - Adds Uuid type to work around issues with the built-in Guid type - Adds ModelMerge utility for merging lists with minimal updates to work around constant flashing in the UI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't finish looking at all the files, but it looks like you're still doing some stuff, so I'll get another look later anyway. It's the end of my day so sending the comments I have so you'll have them to look at in the morning.
|
||
public partial class CoderApiClient | ||
{ | ||
public Task<WorkspaceAgent> GetWorkspaceAgent(string id, CancellationToken ct = default) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would be safer if we accepted a UUID, rather than a string, which could totally change the endpoint we hit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I considered this but didn't want to add a dependency between CoderSdk
and Vpn.Proto
, and adding a new project for just a UUID type seems overkill. The Go codersdk package accepts string IDs for some methods as well, so I think it's fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had (wrongly) assumed/remembered that we parsed the Agent
protobufs into a model with Guid
id types. But, we just leave it as a byte string. You're right, not worth introducing the dep.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we move our Uuid
implementation to CoderSdk? There will likely be plenty of times we want to interact with UUIDs outside of the protobuf protocols.
|
||
public partial class CoderApiClient | ||
{ | ||
public Task<WorkspaceAgent> GetWorkspaceAgent(string id, CancellationToken ct = default) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we move our Uuid
implementation to CoderSdk? There will likely be plenty of times we want to interact with UUIDs outside of the protobuf protocols.
Vpn.Proto/Uuid.cs
Outdated
/// 4122 compliance, but it should provide enough coverage for Coder | ||
/// Desktop. | ||
/// </summary> | ||
public class Uuid |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we move this to CoderSdk?
I suggested we move |
AgentAppViewModel
to handle each buttonUuid
type to work around issues with the built-inGuid
typeModelMerge
utility for merging lists with minimal updates to work around constant flashing in the UITODO:
ModelMerge
AgentAppViewModel
since I don't think they do anything$SESSION_TOKEN
replacementKnown issues:
/icon/cursor.svg
seems to be an SVG with an embedded PNG, which I guess can't be rendered properly by WinUIbuttons.mp4
Closes #50