-
-
Notifications
You must be signed in to change notification settings - Fork 64
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
v1 - Contact Us form not working on live site #1099
Comments
hey @adamkendis just saw this. you need something from me here? |
Status: Blocked by work the past week. Getting CORS error on POST to |
@adamkendis Please provide update
|
Need to dig into AWS. Will look into this before next Thursday's meeting. |
I haven't been able to resolve this yet. Thoughts on a band-aid fix by replacing the v1 form with "send us an email at [email protected]" or something along these lines? |
Just had a thought: this might be failing due to a change in the Github API. Will investigate over the weekend. |
@adamkendis Please provide update
|
@adamkendis Please provide update Progress |
@nichhk This is the issue with the contact form on the v1 site not working. I just tried testing again, and when the submit button is clicked, there is a circle-loading image that does not resolve. Fixing this is a priority because we have users that still use the v1. Let me know if you have any questions. From previous comments: "this might be failing due to a change in the Github API." |
I repro'ed this on the prod site, and the server logs showed a NoneTypeError here. I think it's saying that ISSUES_URL is not being provided. This makes sense--it looks like the ".env" config file is not being properly created in Continuous_Deployment_Backend_Prod.yml--I believe we'd need to copy ".env.example" to ".env" first. Right now, it seems like we're just creating an ".env" file that contains only the GITHUB_SHA. I've tried to set up the client and server locally, but I'm having several issues with dependency mismatches. I'll keep working through those. Also, I'm running everything from the The CORS error still exists. We should just be able to specify that CORS is okay, somewhere. I'll look into that after I can get a repro running locally. |
I was able to bring up the This makes me question whether the prod server is actually running using |
I'm still not sure, but it seems possible that the prod server is running off I think the hypothesis that the ".env" file is not being created properly (from the earlier comment) still applies here though; create_release_dev.yml does not copy the ".env.example" to ".env". I can try testing this locally. |
The prod server is indeed running off the 'dev' branch, AFAICT. The config for the AWS ECS task Besides that, I'm not actually sure how the prod server was deployed. I see that we have a 'create_release_dev.yml' Action that will build and push a new server API image to Docker Hub. Then, the ECS service for Before merging 'create_release_prod.yml', I'll need to manually test the interaction between the 'master' client and the 'dev' server while submitting feedback. |
Hey, I'm the last person to release the API in production so I can hopefully clarify things a bit. The last API release to production as far as I know was a year ago in January from the release/v1.5.0 branch. That was branched from dev since we've got a monorepo and the frontend code was getting repeatedly redesigned. There's some shims in the 1.5 API that let it work with the 1.0 frontend. There have been releases to the report server and the prefect image since then but I don't think the API image has changed much. Maybe some configs were modified. You can look at the images on Docker Hub for the exact dates. The dev code (which was intended to be the 2.0 version) hasn't been updated in more than a year so there are undoubtably some dependencies that need to be updated. That said, the critical path is going to be getting the frontend working on the Dev site. If y'all are able to get the Dev site working I'm happy to find some time to help deploy the backend to Prod when you're ready. |
Thanks for chiming in Matthew! I'm new to this project, but I believe we want to fix the feedback mechanism on v1 before we fix the dev site--we still have users on v1, and we want to make sure to collect their feedback. In any case, I don't think one depends on the other--e.g., fixing the dev site won't fix the feedback mechanism on v1. Good to learn about v1.5.0. I took a look, and I don't see something like 'create_release_prod.yml' in the github workflows directory. Would that be the correct way to deploy a new API version to prod? Also, do you have any opinion on copying .env.example to .env in the workflow? |
The create_release_dev workflow creates and publishes a new Docker image for the API from the dev branch then refreshes the ECS cluster. The production API is just using the dev Docker image. The actual task definition for the cluster are all in Terraform. I think I deployed using some version of the last line of the action like this (it was more than a year ago though so I forget):
Anyway, there really won't be a need to create a new GHA until you want to deploy from a different branch (ie. once everything is on master). Separately, not sure who is prioritizing tickets but fixing the v1 feedback feels like a waste of time to me. First, I'd be surprised if anyone visiting the site wasn't working on the project. Second, the v1 feedback was kind of a hack--it creates a GitHub issue. I think GitHub changed the API for that at some point and that it would need to swapped out. That all predated me so I couldn't say what that would entail (it was done 2+ years ago). |
…orking-on-live-site-dev Add GitHub/SendGrid config info to .env file for create_release_dev.yml, partially fixing #1099
I do feel like a separate GHA action would be helpful here. I think we need to have different .env configurations for prod and dev, at the very least for API_ALLOWED_ORIGINS. And since the .env is built into each Docker image, we'd need to have separate Docker images for prod and dev. |
So the deployments worked as expected, but once the new API images were live, CORS was not working on either v1 or v2. Apparently this is a common bug with FastAPI, with many people commenting that it doesn't work as expected. I submitted several PRs trying to fix the CORS issues. The two that mattered:
So now Contact Us is working on v1! As mentioned in #1206, I think that this only fixes the happy path (i.e., if any of the steps fail, the UI will still show a spinning submit button). But I think fixing the unhappy path is a low priority right now. |
Description
We need to fix the Contact Us form on the v1 website because it allows users to communicate with the team directly.
After filling in all form fields and clicking on the Submit Button, the action does not complete loading. It appears that the process is stuck in an infinite loop. I let for the loading for about 10 minutes with no change.
Action Items
Resources
We received a direct email from a researcher indicating the contact us form on the live site (311-data.org) didn't appear to be working.
Image of Submit button infinite loading:
311-data.org/contact
The text was updated successfully, but these errors were encountered: