-
v1.6.3
StableAll checks were successfulRelease / build-and-release (push) Successful in 5m34sreleased this
2026-09-17 19:00:59 +02:00 | 0 commits to main since this releaseAdded
- Added background reach analytics for public Fediverse posts, including estimated net/gross reach, booster-aware refresh jobs, and a dashboard reach widget.
- Top posts can now be sorted by estimated net or gross reach, so high-distribution posts are easier to spot beyond raw favourites, boosts, and replies.
- Added a detailed, plain-language reach methodology page explaining how gross and net reach are calculated, where the formula comes from, and where its limits are, with a worked example. A small "Methodology" badge next to every reach display links to it.
- Every post row across the dashboard, the Übersicht reach and top-post widgets, and the Postings page can now be clicked to expand it in place, showing the fully formatted post text alongside all metadata FediSuite has for it, instead of just a plain, truncated excerpt.
Changed
- Reach analytics now name the FediWings model so the dashboard stays aligned with the shared Fediverse reach formula.
- The Übersicht summary row now shows estimated net reach for the selected period instead of repeating the follower count.
- The dashboard reach card now also shows estimated net reach for the selected period instead of repeating the follower count.
- The dashboard growth panel now includes a net reach chart for the selected account and period.
- The app now scales its UI across desktop viewport widths, keeping 720p at 100% and making 4K dashboards readable at a 160% equivalent scale.
- Reach and top-post list rows now use larger body text, metadata, and metric labels so high-resolution dashboards remain readable.
- Other list and table views now use larger readable text for post rows, account cards, plugin metadata, accessibility tables, heatmap labels, and hashtag metrics.
- The footer now links to a new in-app Credits page crediting FediSuite's creator and the FediWings reach formula, and invites contributors to be listed there too; a matching CREDITS.md/CREDITS.de.md was added to the repository.
Fixed
- Dashboard top-post cards now show separate favourites, boosts, and replies with their established coloured icons instead of an unhelpful combined engagement total.
- Growth charts now use the selected period as a real time axis, so 1-year, 2-year, and all-time views no longer stretch the same observations across the full chart.
- Reach analytics now backfill older imported posts in background batches instead of stopping at 90 days, and the two-year period no longer gets shortened to one year.
- Dashboard history charts now respect the selected time span, show when follower measurements begin, and leave gaps for reach data that has not been analysed yet. Switching periods quickly no longer lets an older response replace the selected chart data.
- Reach totals no longer inflate with every extra segment of an auto-split thread and no longer count a booster who reboosted several segments more than once; reach is now aggregated once per thread instead of once per individual post.
- Fixed a regression from the thread-aggregation change above: posts already analyzed before that change never got a thread rollup on their own, so the reach chart and summary totals showed 0 even though individual posts still had reach data. A one-time per-account backfill now seeds the missing rollups during the next refresh.
- The "N partial" badge on the reach widget now explains on hover what it means (incomplete booster data for some posts), instead of showing an unexplained count.
- Removed stray em dashes used as sentence separators throughout the app's UI text, server comments, CHANGELOG, README, and CONTRIBUTING docs; sentences were rephrased with regular punctuation instead. Placeholder dashes shown for missing values (e.g. an empty username) are unaffected.
- The historical import indicator on an account's card in Accounts now shows a wide progress bar instead of a running post count, filling based on the account's known post total when available.
- Historical import progress is now saved after every fetched page instead of every five pages, so accounts with few posts (fewer than five pages of history) now show visible import progress instead of appearing stuck until the import finishes.
- The account import progress bar now also accounts for the follow-history phase that runs after posts are fetched (on providers that support it), so it no longer reaches the end while the import is still fetching follow notifications.
- The account import progress bar now changes colour and label per phase (fetching posts, importing follow history, finishing up), so it stays visibly active during the final follower-history reconstruction and stats recompute instead of appearing to sit at 100% while the import is still running.
- The "N posts imported" figure shown after a historical import now reflects the actual number of stored posts instead of a raw fetch counter, which could overcount (and disagree with the account's post total shown elsewhere) on servers whose pagination returns overlapping pages.
- The Credits and reach methodology pages are now noticeably wider (72rem instead of 48rem), matching the app's other content pages instead of leaving most of the screen empty.
- Fixed the new expandable post rows sometimes showing incomplete or garbled content (missing trailing URLs, hashtags, or entire paragraphs): stored post content was hard-truncated to 500 characters of raw HTML, which could cut a tag in half. Fetched post content is no longer truncated at storage time and heals to its full form the next time a post is refreshed.
- Fixed a missing word in the rate-limit pause message shown during a large account's historical import ("Resuming about 10 minutes" instead of "Resuming in about 10 minutes"), in all three languages.
- The background reach-refresh worker now caps how many requests any single Fediverse instance can have in flight at once (
REACH_MAX_CONCURRENT_PER_INSTANCE, default 6), independent of and enforced across all worker processes. Previously only the total batch size per process was configurable, so an account with a large backlog (or several accounts on the same small instance) could send far more concurrent requests to one remote server than a self-hosted instance not under FediSuite's own control might expect. - The reach-refresh worker now checks for new work every 10 seconds instead of every 60 (
REACH_REFRESH_INTERVAL_MS). The per-instance concurrency cap, not the check interval, is what actually protects a remote server, so a large backlog (e.g. right after reconnecting an account with thousands of posts) now drains in minutes instead of hours by default, with no change in how much load any single instance sees at once.
This release publishes the FediSuite server Docker images (app and background worker) used by the self-hosting Docker Compose stack.
Docker images on Docker Hub: https://hub.docker.com/r/christinloehner/fedisuite
docker pull christinloehner/fedisuite:1.6.3 # linux/amd64 docker pull christinloehner/fedisuite:arm64-1.6.3 # linux/arm64Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads