-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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(app): render spec list, command log, iframe #18372
Conversation
Thanks for taking the time to open a PR!
|
<!-- | ||
TODO(lachlan): put this back after doing proper cleanup when unmounting the runner page | ||
keep-alive works fine for Vue but has some weird effects on the React based Reporter | ||
For now it's way more simple to just unmount and remount the components when changing page. | ||
--> | ||
<!-- <keep-alive> --> | ||
<component :is="Component" /> | ||
<!-- </keep-alive> --> |
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.
Hmmm... this is concerning.
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.
We just never had the need to fully teardown everything, so that functionality didn't come "for free" with the existing code (think about it - we usually render the reporter, and never tear it down, in the existing runner). I think this should be an easy fix.
Can look into this in the mean time while you get your spec list PR ready.
This LGTM. Let me merge my specs list in first |
…r1990/spike-runner-3
…ss-io/cypress into lmiller1990/spike-runner-3
* unified-desktop-gui: (40 commits) feat: index.html configurability and storybook support (#18242) fix: remove .json check from require_async, prevent child_process spawn (#18416) percy snapshot the tooltip visually, prevent it from being hidden fix: failing tests from #18372 (#18414) fix: `everyNthFrame` should only be applied for Chrome 89+ (#18392) feat(app): render spec list, command log, iframe (#18372) fix: drag and drop to be correct directory (#18400) refactor: Add GitDataSource, FileDataSource, toast for errors (#18385) docs: General updates to contributing guide (#18283) Add shorter --ct alias for --component Add --e2e and --component CLI options chore: Update Chrome (beta) to 95.0.4638.40 (#18389) chore: use circleci timings split for e2e tests (#18367) fix: fixed title (#18370) chore(deps): update dependency electron to v14 🌟 (#18384) chore(server): share client route (#18215) fix: Prevent Cypress from crashing when argument parsing "spec: {}" (#18312) chore: update husky dev dependency to v7 (#18345) feat: add defineConfig function to help type config (#18302) chore: Update Chrome (stable) to 94.0.4606.71 (#18324) ...
This is the result of this spike ticket.
Here are my learnings, observations and recommendations going forward.
Details
server
intographql
orlaunchpad
, we should respect this rule on the front-end too.@packages/runner-ct/src/main.tsx
and add them to thewindow.UnifiedRunner
object. That will the be bundled with webpack and injected ontowindow
. You can then do things likewindow.UnifiedRunner.eventManager
,window.UnifiedRunner.AutIframe
, or evenwindow.UnifiedRunner.React
if you are feel edgy.packages/app/src/store
. Ideally, we will minimize the amount of state managed in MobX.What is done:
window.UnifiedRunner
namespaceUnifiedRunnerAPI
object with anexecuteSpec
methodAutIframe
workflow) by clicking a specTodo (future PRs)
<reporter />
header (with buttons like re-run, pause, etc)Try it out
Here is a video showing how you can test it. Alternatively, see the updated
app/README.md
.demo2.mov