Changeset 0091cb7 in Klonkt for src/server.js


Ignore:
Timestamp:
06/16/2026 12:59:24 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
efdde37
Parents:
25d4041
Message:

Circles v1 — steps 4+5: Admin UI + /cirkel feed

  • Mode 'Circles' in Admin > Settings (radio + section).
  • Admin > Circle (admin-circle): add sources/list/status, per source Refresh (syncOne) + Delete (cleans up orphaned cache), and a visibility toggle (sites.allow_circle, opt-out for surfacing).
  • /cirkel feed: cached remote_posts as static cards (source/avatar, title, summary, cover, link to source). Only when tenancy=circle.
  • allow_circle column (ensureColumn) + CircleFederation respects it.
  • Output escaped everywhere + URL-scheme guards (http/https) against XSS import.

v1 functionally complete (publish + pull + UI + feed). Remaining: hardening/review.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/server.js

    r25d4041 r0091cb7  
    4545import federationRoutes from './routes/federation.js';
    4646import { startCircleSyncLoop } from './services/CircleService.js';
     47import adminCircleRoutes from './routes/admin-circle.js';
     48import circleRoutes from './routes/circle.js';
    4749
    4850if (!process.env.SESSION_SECRET) {
     
    225227app.use('/admin/comments', adminCommentsRoutes);
    226228app.use('/admin/settings', adminSettingsRoutes);
     229app.use('/admin/circle', adminCircleRoutes);
    227230app.use('/admin', adminRoutes);
    228231app.use('/prutter', prutterRoutes);
     
    238241app.get('/artiesten', (req, res) => res.redirect(301, req.originalUrl.replace(/^\/artiesten/, '/leden'))); // oude URL -> /leden
    239242app.use('/', hubRoutes); // hub-overview op '/' (solo: next() -> postsRoutes)
     243app.use('/', circleRoutes); // /cirkel-feed (solo/hub: next() -> postsRoutes)
    240244app.use('/', postsRoutes);
    241245
Note: See TracChangeset for help on using the changeset viewer.