source: Klonkt/src/routes/changelog.js@ 7e66e7e

main
Last change on this file since 7e66e7e was 8ef8c3e, checked in by Robin Genis <roboburr@…>, 3 months ago

feat(cirkel): remove the old Cirkels pull-protocol; Cirkels is now AP-only

Phase 4 of the Cirkels-on-AP rework. Removes the legacy custom-Ed25519 pull
protocol and everything around it: /.klonkt/* (federation.js), CircleService +
CircleFederation, the 15-min sync loop, the /admin/circle UI, the remote_posts
union in /cirkel and the /cirkel/:id local-reading page. Tenancy is retired
(getTenancy always 'solo'); the Solo|Circle mode picker is gone. /cirkel is now
purely the auto-boosted (featured) feed. The circle_links/remote_* tables are
kept as dead data. A scripts/migrate-circles.mjs converts existing circle_links
to AP follows with auto-boost (run per instance).

Co-Authored-By: Claude <noreply@…>

  • Property mode set to 100644
File size: 910 bytes
Line 
1/**
2 * Public changelog / release page.
3 *
4 * GET /changelog -> renders CHANGELOG.md (the source of truth for releases).
5 */
6
7import express from 'express';
8import fs from 'fs';
9import path from 'path';
10import { fileURLToPath } from 'url';
11import { renderPage } from '../middleware/render.js';
12import { MarkdownService } from '../services/MarkdownService.js';
13
14const router = express.Router();
15const __dirname = path.dirname(fileURLToPath(import.meta.url));
16const CHANGELOG_PATH = path.join(__dirname, '..', '..', 'CHANGELOG.md');
17
18router.get('/changelog', (req, res) => {
19 let html;
20 try {
21 html = MarkdownService.render(fs.readFileSync(CHANGELOG_PATH, 'utf8'));
22 } catch {
23 html = '<p>Geen wijzigingenoverzicht beschikbaar.</p>';
24 }
25 renderPage(req, res, 'pages/changelog', {
26 pageTitle: 'Wijzigingen',
27 bodyClass: 'on-changelog',
28 changelogHtml: html,
29 });
30});
31
32export default router;
Note: See TracBrowser for help on using the repository browser.