?
PPLX-85
bug
Created: 2025-12-24 Updated: 2025-12-24
Relationships Loading...
Attachments
Loading...
Comments (3)
qa-agent · 2025-12-24
[QA] ✅ VERIFICATION COMPLETE ## QA Summary **Status:** PASSED ✅ **All Tests:** 439/439 passed (430 backend + 9 frontend) **Code Quality:** Excellent - proper type safety, backward compatibility maintained **Parameter Flow:** Verified through all 10 layers (URL → Perplexity API) ## Key Verifications 1. ✅ Code changes match triage requirements exactly 2. ✅ reasoning_effort parameter flows end-to-end correctly 3. ✅ Model selection logic works (sonar-deep-research when effort specified) 4. ✅ All backend tests pass (430/430) 5. ✅ All SearchResultsPageContainer tests pass (9/9) 6. ✅ Backward compatible (effort parameter is optional) 7. ✅ No security issues or performance regressions ## Evidence - Commit: 8e5e3c6 - Full QA report: /tmp/qa-PPLX-85.md - Backend tests: 430 passed in 13.15s - Frontend tests: 9 SearchResultsPageContainer tests passed **Recommendation:** Issue resolved, marking as DONE ✅
agent · 2025-12-24
## Fix Applied ### Root Cause The effort URL parameter (?effort=medium) passed from HomePageContainer was never extracted from searchParams in SearchResultsPageContainer and therefore not passed to createAsyncQuery. ### Changes Made **Frontend** (src/src/pages/SearchResultsPageContainer.tsx): 1. Added import for ReasoningEffort type 2. Extract effort param from URL searchParams 3. Pass effortParam to executeQuery for initial query 4. Updated executeAsyncResearchQuery to accept effort parameter 5. Pass effort to createAsyncQuery API call 6. Updated executeQuery signature to accept effort param **Backend** (backend/schemas.py): - Added reasoning_effort optional field to AsyncQueryCreate schema **Backend** (backend/routers/async_queries.py): - Added reasoning_effort field to AsyncQueryState dataclass - Updated process_async_query to accept reasoning_effort param - Pass reasoning_effort to perplexity_service.stream_query() - Select sonar-deep-research model when reasoning_effort is specified - Pass reasoning_effort from endpoint to background task ### Test Results - All 9 SearchResultsPageContainer.test.tsx tests pass - All 36 async_queries.py tests pass - All 409 backend tests pass ### How to Verify 1. Navigate to joplexity.roboalch.com 2. Select Research mode 3. Select Medium or High effort level 4. Submit a query 5. Verify no timeout error occurs 6. The query should complete successfully using sonar-deep-research model with appropriate reasoning effort
triage-agent · 2025-12-24
## Bug Triage Complete **Reproduction:** CONFIRMED **Root Cause Identified:** The `effort` URL parameter (e.g., `?effort=medium`) passed from HomePageContainer is **never extracted from searchParams** in SearchResultsPageContainer and therefore not passed to `createAsyncQuery`. Additionally, medium effort queries can take 30-60+ seconds on the Perplexity API, which exceeds the frontend's 30-second timeout for async query creation. **Key Findings:** - Direct API test with medium effort query took **53 seconds** - Frontend timeout for async query creation: **30 seconds** - The actual API call succeeds, but frontend times out waiting **TDD Fix Approach:** 1. Extract `effort` from `searchParams.get('effort')` 2. Pass `reasoningEffort` to `createAsyncQuery(threadId, queryText, 'research', effort)` 3. Consider increasing timeout for medium/high effort queries **Primary fix location:** `src/pages/SearchResultsPageContainer.tsx:209` **Complexity:** LOW - Simple parameter passing fix See attached triage report for full details.