A third party ATProto appview

preferences fix

Changed files
+6 -23
server
+6 -23
server/routes.ts
··· 3629 // Return empty preferences to unblock the client 3630 res.status(200).json({ preferences: [] }); 3631 }); 3632 - app.post('/xrpc/app.bsky.actor.putPreferences', (req, res) => { 3633 - try { 3634 - console.log('[PREFERENCES] POST preferences - accepting without persist'); 3635 - console.log('[PREFERENCES] Body:', JSON.stringify(req.body).substring(0, 200)); 3636 - // Accept but don't persist (preferences live on PDS) 3637 - // Return empty object (successful no-op) 3638 - res.status(200).json({}); 3639 - } catch (error) { 3640 - console.error('[PREFERENCES] POST error:', error); 3641 - res.status(500).json({ error: 'InternalServerError', message: String(error) }); 3642 - } 3643 - }); 3644 - app.put('/xrpc/app.bsky.actor.putPreferences', (req, res) => { 3645 - try { 3646 - console.log('[PREFERENCES] PUT preferences - accepting without persist'); 3647 - console.log('[PREFERENCES] Body:', JSON.stringify(req.body).substring(0, 200)); 3648 - // Accept but don't persist (preferences live on PDS) 3649 - res.status(200).json({}); 3650 - } catch (error) { 3651 - console.error('[PREFERENCES] PUT error:', error); 3652 - res.status(500).json({ error: 'InternalServerError', message: String(error) }); 3653 - } 3654 - }); 3655 3656 // Graph endpoints 3657 app.get(
··· 3629 // Return empty preferences to unblock the client 3630 res.status(200).json({ preferences: [] }); 3631 }); 3632 + app.post('/xrpc/app.bsky.actor.putPreferences', 3633 + xrpcOrchestrator.putPreferences.bind(xrpcOrchestrator) 3634 + ); 3635 + app.put('/xrpc/app.bsky.actor.putPreferences', 3636 + xrpcOrchestrator.putPreferences.bind(xrpcOrchestrator) 3637 + ); 3638 3639 // Graph endpoints 3640 app.get(