Skip to content
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

Chore: Switch Submissions from React to Hotwire #3908

Closed
8 tasks done
KevinMulhern opened this issue Jul 3, 2023 · 7 comments · Fixed by #4020
Closed
8 tasks done

Chore: Switch Submissions from React to Hotwire #3908

KevinMulhern opened this issue Jul 3, 2023 · 7 comments · Fixed by #4020
Assignees
Labels
Type: Chore Involves changes with no user-facing value, to the build process/internal tooling, refactors, etc.

Comments

@KevinMulhern
Copy link
Member

KevinMulhern commented Jul 3, 2023

Just an epic to keep me right as this chore progresses.

2. Acceptance Criteria:

Tasks

  1. Type: Enhancement
    KevinMulhern
  2. Type: Enhancement
    KevinMulhern
  3. Type: Enhancement
    KevinMulhern
  4. Type: Enhancement
    KevinMulhern
  5. Type: Enhancement
    KevinMulhern
@KevinMulhern KevinMulhern added the Status: Needs Review This issue/PR needs an initial or additional review label Jul 3, 2023
@github-project-automation github-project-automation bot moved this to 📋 Backlog / Ideas in Main Site Jul 3, 2023
@KevinMulhern KevinMulhern self-assigned this Jul 3, 2023
@KevinMulhern KevinMulhern added Type: Chore Involves changes with no user-facing value, to the build process/internal tooling, refactors, etc. and removed Status: Needs Review This issue/PR needs an initial or additional review labels Jul 3, 2023
@KevinMulhern KevinMulhern moved this from 📋 Backlog / Ideas to 🏗 In progress in Main Site Jul 3, 2023
@ChargrilledChook
Copy link
Member

ChargrilledChook commented Jul 3, 2023

Great idea 🎉

One nice feature with the new task list thing - if you add a plain link to a PR or issue eg https://github.com/TheOdinProject/theodinproject/pull/3839 you get pretty nice formatting, as well as tracking assignee - should also do all the linking without needing to comment on the child issues. Example:

### React Migration Epic Example
- [x] https://github.com/TheOdinProject/theodinproject/pull/3839
- [x] https://github.com/TheOdinProject/theodinproject/pull/3852
- [x] https://github.com/TheOdinProject/theodinproject/pull/3907
- [ ] Flag submissions using Hotwire
- [ ] Vote on submissions using Hotwire

Renders as
image

@KevinMulhern
Copy link
Member Author

Nice! thanks for the tip @ChargrilledChook. Still getting used to these new task lists lol

@KevinMulhern
Copy link
Member Author

Finished the main part of the work on this. Feature parity has been achieved with the React version of the project feature.

Next step is a gradual rollout. Using Flipper we can...

  1. First roll it out to 25% of users to monitor how it performs and reduce impact of any problems.
  2. Then to 50%
  3. After that, enabling for everyone.

Once it's fully enabled, I'll start the clean up job with removing the old React version.

@ChargrilledChook
Copy link
Member

Loved the phased approach you took here, especially with the feature flag 👏

Would love to see us use this "mini epic" approach more in the future!

@KevinMulhern
Copy link
Member Author

Enabled for 25% of users

@KevinMulhern
Copy link
Member Author

Sentry has been quiet and things seem to be stable - upping to 50%

@KevinMulhern
Copy link
Member Author

No negative feedback and Sentry is still quiet - enabling for everybody. I'll leave this open for a day or two incase there are any problems and we need to switch back to the old version temporarily.

KevinMulhern added a commit that referenced this issue Jul 27, 2023
Because:
* We have rolled out a Hotwire version.
* Closes: #3908 

This commit
* Remove all of the react submission components
* Rename v2 project submissions
* Remove the project submission serializer
* Remove icon.css
* Remove JS packages used only by React submissions
* A few small refactors
* Project submission form now takes a model instead of a url - one less
thing to pass to the form_with
 * All submissions logic removed from lessons controller
* Filter out discarded submissions within the only_public scope, we'll
never want discarded submissions to be public.
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Main Site Jul 27, 2023
Mclilzee pushed a commit to Mclilzee/theodinproject that referenced this issue Aug 2, 2023
…inProject#4020)

Because:
* We have rolled out a Hotwire version.
* Closes: TheOdinProject#3908 

This commit
* Remove all of the react submission components
* Rename v2 project submissions
* Remove the project submission serializer
* Remove icon.css
* Remove JS packages used only by React submissions
* A few small refactors
* Project submission form now takes a model instead of a url - one less
thing to pass to the form_with
 * All submissions logic removed from lessons controller
* Filter out discarded submissions within the only_public scope, we'll
never want discarded submissions to be public.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Chore Involves changes with no user-facing value, to the build process/internal tooling, refactors, etc.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants