Skip to content

Feature/freshdesk contact - #32

Open
suejinkim20 wants to merge 8 commits into
stagecc:mainfrom
suejinkim20:feature/freshdesk-contact
Open

Feature/freshdesk contact#32
suejinkim20 wants to merge 8 commits into
stagecc:mainfrom
suejinkim20:feature/freshdesk-contact

Conversation

@suejinkim20

Copy link
Copy Markdown
Collaborator

No description provided.

@suejinkim20
suejinkim20 requested a review from mbwatson July 31, 2026 18:24

@mbwatson mbwatson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good. one tiny change, and it's good to go!

Comment thread apps/site/src/pages/join.astro Outdated
Comment thread services/freshdesk/handler.py Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops duplicate import here, but that was here before. might be nice to clean up now.

suejinkim20 and others added 5 commits August 4, 2026 07:39
- Added shared services doc: services/README.md
  - explains one services/.env for both local Python services
  - includes startup commands for both ports 8787 and 8788
  - includes apps/site/.env wiring (FRESHDESK_PROXY_URL, FRESHDESK_JOIN_URL)
- Updated env loading in both local servers to support a shared env file:
  - services/freshdesk/server.py
  - services/freshdesk-join/server.py
  - load order is now:
    1. services/.env (shared)
    2. optional service-specific override (services/freshdesk/.env or services/freshdesk-join/.env)
- Updated docs in each service to match shared-env workflow:
  - services/freshdesk/README.md
  - services/freshdesk-join/README.md
- Setup shared .env and added shared sample template:
  - services/sample.env
- Removed duplicate per-service env templates:
  - deleted services/freshdesk/sample.env
  - deleted services/freshdesk-join/sample.env
- Renamed services/freshdesk → services/freshdesk-proxy
- Updated path references in docs:
  - README.md:117
  - services/README.md:23
  - services/freshdesk-proxy/README.md:27
  - services/freshdesk-join/README.md:5
- Updated code comments that pointed to old path:
  - apps/site/src/components/forms/DynamicForm.tsx:194
  - apps/site/src/components/forms/DynamicCustomObjectForm.tsx:179
  - Removed moved Python cache dirs so they don’t linger under the new folder.
@mbwatson
mbwatson self-requested a review August 19, 2026 13:09

@mbwatson mbwatson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, getting closer!

i see a potential unhandled exception around reCAPTCHA verification in both services/freshdesk-proxy/handler.py and services/freshdesk-join/handler.py that could be an issue:

in fresdhdesk-join/handler.py:

  • verification = verify_recaptcha(recaptcha_token) on line 121 can raise (e.g., timeout, DNS/connectivity issue, SSL error, upstream unavailability) before returning a JSON payload, and in that case, execution never reaches:
if not verification.get('success'):
    return _error(403, 'reCAPTCHA verification failed', headers)

on line 123, and the Lambda can fail with an unhandled 5xx instead of returning the expected JSON/CORS error shape.

let's add a defensive layer round reCAPTCHA verification in both handlers by wrapping the verification call (or verify_recaptcha internals) in try/except and return a controlled error response (e.g., 503) when reCAPTCHA is temporarily unavailable? that would keep client behavior predictable and avoids hard failures on transient upstream issues, like if reCAPTCHA is temporarily unreachable.

autoComplete="email"
aria-required
{...register('email', {
required:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this come from the centralized error messages?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants