AOSSIE-Org / AOSSIE-Org/EduAid

[BUG]: Fix inconsistent /generate_gform response contract causing undefined form URL in web/extension clients

オープン
#616 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
JavaScript
スター
171
フォーク
425
PR マージ指標
30日以内にマージされた PR はありません

説明

### Bug Description

The `/generate_gform` endpoint currently returns a raw JSON response containing only `responderUri`, while web and extension clients expect a structured object with `form_link`.
This causes inconsistent handling and can result in undefined URL opening behavior.

## Current Behavior
- Backend returns non-uniform response shape.
- Frontend/extension tries to read `result.form_link`.
- In some flows, URL resolution is inconsistent.

## Expected Behavior
- Backend should return a consistent JSON contract:
- `form_link`
- `edit_link`
- Clients should open `form_link` reliably.
- Invalid payloads should return clear `400` errors.

## Proposed Fix
- Normalize backend response schema in `/generate_gform`.
- Add input validation for `qa_pairs` type.
- Remove server-side browser tab opening side effect.
- Add backward-compatible URL handling in clients for legacy and new response formats.

### Steps to Reproduce

1. Generate questions in EduAid web or extension.
2. Click "Generate Google Form".
3. Observe response parsing mismatch (backend vs consumer expectation).

### Logs and Screenshots

_No response_

### Environment Details

- Backend: Flask
- Clients: EduAid Web + Extension

### Impact

Medium - Feature works but has issues

### Code of Conduct

- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。