Changeset 72ec6a4 in Klonkt for src/services


Ignore:
Timestamp:
07/31/2026 06:55:59 PM (6 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
17546af
Parents:
bfa6fa1
Message:

Hub-modus en guardian-lite eruit

Robins besluit (31-7): een instance is een eigenaar. Twee dingen weg.

HUB-MODUS was al dood: getTenancy() gaf sinds 24-6 hardcoded 'solo'
terug, dus elke tenancy === 'hub'-tak was onbereikbaar. Nu ook echt
verwijderd: getTenancy/setTenancy zelf, de /user/:slug-routing in
resolveSite, de hub-takken in admin, zoeken, audio, posts (neighbours
en related over alle sites), download, en de push-prefix. In de views
verdwijnen de hub-tagline, de hub-navigatie, de sites- en
users-tabellen (die kwamen alleen in hub-modus gevuld en verwezen nu
naar locals die niemand meer meegeeft), de eigenaar-toewijzing bij een
site, de /user/-slugprefix, het hub-brandblok en de hub-thuisknop.

GUARDIAN-LITE was de laatste multi-user-rest: /guardian/invite gaf een
link waarmee iemand via /guardian/join een echte user plus een site met
guardian_only=1 aanmaakte. Dat zette andermans wachtwoordhash, sessie
en PRIVATE actor-sleutel in jouw database, waardoor een verhuizing of
export nooit netjes kon (shaer-qw6q). Routes, formulier, kolom en
uitnodigingstabel zijn weg. Het guardian-DASHBOARD blijft: dat is
FEP-633c en werkt voor guardians met een eigen Klonkt. Bestaande
installaties houden kolom en tabel ongebruikt; nieuwe krijgen ze niet.

Changed files:
src/services/SettingsService.js

  • getTenancy/setTenancy verwijderd; kop herschreven

src/middleware/site.js, src/middleware/render.js

  • /user/:slug-routing weg; tenancy en hubTitle uit de locals

src/routes/admin.js, admin-settings.js, audio.js, download.js,
src/routes/posts.js, search.js

  • hub-takken en hub-queries weg; postNeighbors zonder isHub

src/services/ActivityPubService.js

  • pushPrefix is nu gewoon ; getTenancy-import weg

src/routes/guardian.js

  • /invite en /join verwijderd (dashboard blijft), imports opgeschoond

src/config/database.js

  • guardian_only-kolom en ap_guardian_invites-tabel niet meer aangemaakt

src/views/pages/admin.ejs, admin-users.ejs, admin-site-edit.ejs,
src/views/pages/guardian.ejs, partials/topnav.ejs, chrome.ejs, bottom-tab.ejs

  • alle hub-takken en de uitnodigingsknop weg

remarks: 320 regels weg, 63 erbij. Suite 372 groen; alle 85 templates
compileren; en met een wegwerp-kopie van de database daadwerkelijk
gedraaid en ingelogd: /, /admin, /admin/users, /admin/sites,
/admin/settings, /admin/sites/demo/edit, /admin/media en /guardian
geven alle 200 zonder fouten in het log, en /guardian/invite en
/guardian/join geven nu 404.

-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>

Location:
src/services
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    rbfa6fa1 r72ec6a4  
    2626import EmbedResolver from './EmbedResolver.js';
    2727import Push from './PushService.js';
    28 import { getTenancy } from './SettingsService.js';
    2928import { t as i18nT } from './i18n.js';
    3029import Blocklist from './BlocklistService.js';
     
    14181417  for (const cb of cbs) { try { cb(); } catch { /* a waiter must never break the rest */ } }
    14191418}
    1420 // Hub-aware path prefix for a site's pages ('' in solo).
    1421 function pushPrefix(slug) {
    1422   try { return getTenancy() === 'hub' ? `/user/${slug}` : ''; } catch { return ''; }
    1423 }
     1419// Path prefix for a site's pages. One instance is one owner, so the site
     1420// lives at the root; kept as a function because the push URLs read like
     1421// `${pushPrefix(slug)}/messages` all over this file.
     1422function pushPrefix() { return ''; }
    14241423// Notification language: the site's content language (fallback: instance default).
    14251424function pushLang(slug) {
  • src/services/SettingsService.js

    rbfa6fa1 r72ec6a4  
    1 // Global app settings (key/value, cached). Primarily used for the tenancy mode.
     1// Global app settings (key/value, cached).
    22//
    3 //   tenancy = 'solo'   -> exactly one site (the primary/owner site)
    4 //   tenancy = 'circle' -> solo site that federates with other solo Klonkt sites
    5 //
    6 // HUB MODE IS REMOVED (2026-06-24): multi-artist-per-domain was dropped in favour
    7 // of solo + Cirkels. getTenancy() coerces any legacy 'hub' value to 'solo' so all
    8 // the old `tenancy === 'hub'` branches are unreachable; the hub code is being
    9 // deleted incrementally.
     3// One instance is one owner (Robins besluit, 31-7-2026). The old tenancy modes
     4// (hub = many artists on one domain, circle) are gone, code and all: the
     5// branches were already unreachable and have now been deleted.
    106//
    117// The cache is updated immediately on setSetting, so a toggle in admin
     
    3935}
    4036
    41 export function getTenancy() {
    42   // Tenancy is retired: 'hub' and 'circle' were both removed. Every site is
    43   // 'solo'. Cirkels are now an ActivityPub feature (auto-boost), not a mode.
    44   return 'solo';
    45 }
    46 
    47 export function setTenancy() {
    48   setSetting('tenancy', 'solo');
    49 }
    50 
    5137// ActivityPub / fediverse federation. ON by default. '0' = off: the site does
    5238// not federate, /ap/* is gone, and the "from the fediverse" reactions disappear
Note: See TracChangeset for help on using the changeset viewer.