-
Notifications
You must be signed in to change notification settings - Fork 1
feat: 🎸 Temporary workspace connection screen #57
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
feat: 🎸 Temporary workspace connection screen #57
Conversation
☁️ Nx Cloud ReportCI is running/has finished running commands for commit 6538d11. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this branch ✅ Successfully ran 3 targetsSent with 💌 from NxCloud. |
# Conflicts: # apps/cli-gui/src/app/app.routes.ts
Codecov Report
@@ Coverage Diff @@
## master #57 +/- ##
==========================================
+ Coverage 67.71% 67.88% +0.16%
==========================================
Files 48 49 +1
Lines 254 274 +20
Branches 14 16 +2
==========================================
+ Hits 172 186 +14
- Misses 82 88 +6
*This pull request uses carry forward flags. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
...anager/src/lib/workspace-manager/features/connect-workspace/connect-workspace.component.html
Outdated
Show resolved
Hide resolved
| { | ||
| provide: APP_INITIALIZER, | ||
| useFactory: (http: HttpClient, core: CoreService) => () => | ||
| http.get<string[]>(`/api/workspace`).pipe( |
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.
Do we not need the list of projects and the current project? How do you plan to run generators?
I thought we'd keep the last workspace path in LS, so if we have one, we connect to it, and there is no need to re-connect on every page reload.
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.
Right- added this logic in the guard
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.
use sessionStorage instead, so you won't have to deal with invalidation. its also better UX IMO, the data will be persistent until the tab is closed (which should be the same as terminating the gui process)
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.
done
...anager/src/lib/workspace-manager/features/connect-workspace/connect-workspace.component.html
Show resolved
Hide resolved
# Conflicts: # libs/shared/data/src/index.ts
...anager/src/lib/workspace-manager/features/connect-workspace/connect-workspace.component.html
Show resolved
Hide resolved
| .connectWorkspace(currentWorkspacePath) | ||
| .pipe( | ||
| map(() => { | ||
| retrySubject.next(); |
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 appreciate the implementation but we need something that can be shared and reused, maybe we should consider adding ng-query
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 don't mind, but won't it make integrating this project with the angular repo more difficult? It might be a good idea to verify with them before relying on 3rd party libraries that aren't 100% necessary.
| { | ||
| provide: APP_INITIALIZER, | ||
| useFactory: (http: HttpClient, core: CoreService) => () => | ||
| http.get<string[]>(`/api/workspace`).pipe( |
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.
use sessionStorage instead, so you won't have to deal with invalidation. its also better UX IMO, the data will be persistent until the tab is closed (which should be the same as terminating the gui process)
# Conflicts: # apps/cli-gui/src/main.ts
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
Other information
This is a temporary design for the workspace connection screen, to allow other developers to easily connect a workspace and access the other parts of the app (generators/configuration)