Ignore:
Timestamp:
06/26/2026 09:20:12 AM (2 months ago)
Author:
Robin Genis <roboburr@…>
Branches:
main
Children:
429d3b0
Parents:
46f3dd6
Message:

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@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/admin-settings.ejs

    r46f3dd6 r8ef8c3e  
    55  <% if (success) { %><div class="alert alert-success"><%= success %></div><% } %>
    66  <% if (typeof error !== 'undefined' && error) { %><div class="alert alert-error"><%= error %></div><% } %>
    7 
    8   <section class="set-card">
    9     <h2><%= t('aset.mode') %></h2>
    10     <p class="set-help">
    11       <%= t('aset.mode_help') %>
    12     </p>
    13 
    14     <form method="post" action="/admin/settings" class="set-form">
    15       <label class="set-opt">
    16         <input type="radio" name="tenancy" value="solo" <%= tenancy === 'solo' ? 'checked' : '' %>>
    17         <span>
    18           <strong><%= t('aset.solo') %></strong> — <%= t('aset.solo_title') %>
    19           <small><%= t('aset.solo_desc') %></small>
    20         </span>
    21       </label>
    22       <label class="set-opt">
    23         <input type="radio" name="tenancy" value="circle" <%= tenancy === 'circle' ? 'checked' : '' %>>
    24         <span>
    25           <strong><%= t('aset.circle') %></strong> &mdash; <%= t('aset.circle_title') %>
    26           <small><%= t('aset.circle_desc') %></small>
    27         </span>
    28       </label>
    29       <button type="submit" class="btn btn-primary"><%= t('aset.save') %></button>
    30     </form>
    31   </section>
    327
    338  <%# ── Default language for visitors ── %>
     
    7045
    7146  <%# Mode-specific config — Circle settings below the mode card. (Hub removed.) %>
    72   <% if (tenancy === 'circle') { %>
    73   <section class="set-card set-card--mode" style="margin-top:1rem">
    74     <h2>🔗 <%= t('aset.your_circle') %></h2>
    75     <p class="set-help">
    76       <%= t('aset.your_circle_help') %>
    77     </p>
    78     <div class="set-actions">
    79       <a href="/admin/circle" class="btn btn-primary"><%= t('aset.manage_circle') %> &rarr;</a>
    80     </div>
    81   </section>
    82   <% } %>
    8347
    8448  <%# Premium (Patreon) — only visible when the self-hoster enables the premium layer
Note: See TracChangeset for help on using the changeset viewer.