<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Design on fedtail</title><link>https://fedtail.dmesg.online/en/tags/design/</link><description>Recent content in Design on fedtail</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://fedtail.dmesg.online/en/tags/design/index.xml" rel="self" type="application/rss+xml"/><item><title>Architecture &amp; Design</title><link>https://fedtail.dmesg.online/en/docs/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://fedtail.dmesg.online/en/docs/architecture/</guid><description>&lt;p&gt;fedtail is engineered for people who value conversation context, non-jumping chronological timelines, and complete discussion threads.&lt;/p&gt;&#10;&lt;h2 id="foundational-principles"&gt;Foundational Principles&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Nothing jumps.&lt;/strong&gt; Opening a lane places you at the first unread post. New arrivals never push what you are currently reading. You consume feeds in order, just like RSS.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Every reply knows its parent.&lt;/strong&gt; A quote strip above each response shows the origin post; a single click expands the entire tree.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lanes are segregated.&lt;/strong&gt; People, bots, direct replies, and mentions are cleanly partitioned into distinct feeds.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Private by default.&lt;/strong&gt; New posts target followers only. Replies never exceed the visibility level of the parent note.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Config-driven.&lt;/strong&gt; Every behavior is governed by explicit settings in &lt;code&gt;config.toml&lt;/code&gt; rather than GUI preference dialogs.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;No client tokens sent to third-party instances.&lt;/strong&gt; Missing thread data fetched via ActivityPub is retrieved anonymously without leaking user tokens.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Headless core.&lt;/strong&gt; The application engine is fully decoupled from presentation. Frontends (Qt, TUI, Web) interact via events and futures.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;One profile per account.&lt;/strong&gt; Profiles remain isolated; multiple profiles can be switched easily or merged into a single window.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;No patronizing moderation (arts mode).&lt;/strong&gt; In tribute to @arts (founder of Point.im), content is presented as-is with full user agency.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="architectural-components"&gt;Architectural Components&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Core Engine (&lt;code&gt;fedtail/core&lt;/code&gt;)&lt;/strong&gt;: Headless orchestration of networking, storage, polling, and event dispatch.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Data Persistence&lt;/strong&gt;: Local SQLite database storing cached status entities, thread graph relationships, read markers, and subscriptions.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Thread Reassembly&lt;/strong&gt;: Fetches missing conversational branches directly from origin author instances when home servers lack federated context.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Frontends (&lt;code&gt;fedtail/frontends&lt;/code&gt;)&lt;/strong&gt;:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;qt&lt;/code&gt;: Native desktop UI built on PySide6.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;tui&lt;/code&gt;: Terminal text-mode interface.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;web&lt;/code&gt;: Embedded lightweight browser interface.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;cli&lt;/code&gt;: Scriptable terminal commands (&lt;code&gt;fedtail tail&lt;/code&gt;, &lt;code&gt;fedtail show&lt;/code&gt;, etc.).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item></channel></rss>