-
Notifications
You must be signed in to change notification settings - Fork 192
Open
Description
Bug
The Import page's Live Import tab always shows "X OAuth not configured" and "Could not connect to the server" — even after successfully saving X OAuth credentials in Settings.
Root Cause
The API endpoints that the Import page calls do not exist. The LiveImportTab component fetches from /api/import/x-oauth/* routes that have never been implemented.
What happens:
- User saves X OAuth Client ID + Secret in Settings → ✅ Saved to DB correctly
GET /api/settingsreturnshasXOAuth: true→ ✅ Credentials confirmed- Import page calls
GET /api/import/x-oauth/status→ ❌ 404 — route doesn't exist - The generic
.catch()handler fires → displays "Could not connect to the server"
Expected endpoints (none exist):
GET /api/import/x-oauth/status— Check OAuth config & connectionGET /api/import/x-oauth/authorize— Start OAuth flowGET /api/import/x-oauth/callback— Handle OAuth redirect from XPOST /api/import/x-oauth/disconnect— Remove tokenPOST /api/import/x-oauth/fetch— Fetch bookmarks via X API
Evidence
The /app/api/import/ directory only contains bookmarklet/, live/, and twitter/ — no x-oauth/ directory.
The Settings page even references the callback URL (/api/import/x-oauth/callback) but the route was never created.
Steps to Reproduce
- Create an X Developer app with OAuth 2.0
- Go to Siftly Settings → paste Client ID and Client Secret → Save
- Go to Import → Live Import tab
- See "X OAuth not configured" and "Could not connect to the server"
Additional Notes
- The error message is misleading — "Could not connect to the server" is actually a 404 caught by a generic
.catch()block (line 710 ofapp/import/page.tsx) - The Bookmarklet and Console import methods work as alternatives
Environment
- Siftly v0.1.0
- Next.js 16.1.6
- macOS / Chrome
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels