summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md98
1 files changed, 41 insertions, 57 deletions
diff --git a/README.md b/README.md
index 6ce2dfb..f8a1b97 100644
--- a/README.md
+++ b/README.md
@@ -1,89 +1,73 @@
-# sailfish-account-mastodon
+# sailfish-account-fediverse
-Sailfish OS account integration for Mastodon.
+Sailfish OS account integration for the Fediverse.
-## Repository Components
+## Repository components
### `common/`
- Shared C++ library code used by multiple plugins.
-- Includes socialcache-backed storage for Mastodon posts and shared Mastodon auth helpers.
+- Includes socialcache-backed storage for Fediverse posts and shared OAuth helper code.
### `settings/`
- Sailfish Accounts provider, service definitions, and account UI.
-- OAuth2 (`web_server`) account flow with per-instance Mastodon app registration.
-- Translations:
- - QML translation-loader module at `/usr/lib*/qt5/qml/com/jolla/settings/accounts/mastodon/` loads `settings-accounts-mastodon` catalogs for `qsTrId` strings.
- - Engineering English catalog: `/usr/share/translations/settings-accounts-mastodon_eng_en.qm`
- - Translation source catalog: `/usr/share/translations/source/settings-accounts-mastodon.ts`
- - Provider/service metadata uses `<translations>/usr/share/translations/settings-accounts-mastodon</translations>` for metadata string translation paths.
-- Services:
- - `mastodon-microblog`: sync service for posts and notifications.
- - `mastodon-sharing`: Transfer Engine sharing service.
+- OAuth2 (`web_server`) account flow with per-instance application registration.
+- Discovers instance title, description, and icon from the instance entity.
+- Caches remote instance icons and uses them in place of the generic Fediverse icon when available.
+- Installs the QML translation-loader plugin under `/usr/lib*/qt5/qml/com/jolla/settings/accounts/fediverse/`.
+- Installs `fediverse-microblog`, `fediverse-notifications`, and `fediverse-sharing` service definitions.
### `buteo-plugins/`
-- Buteo sync plugins and shared social sync framework code.
-- Includes:
- - `buteo-sync-plugin-mastodon-posts`
- - `buteo-sync-plugin-mastodon-notifications`
-- Installs Buteo client profile and sync profile XML files.
+- Shared Buteo sync framework support library.
+- Sync plugins for Fediverse posts and notifications.
+- Installs the Buteo client profile and sync profile XML files.
### `eventsview-plugins/`
-- Events view extension for Mastodon posts.
-- Includes delegate/feed item QML and `MastodonPostsModel`.
+- Events view extension for Fediverse posts.
+- Includes the delegate/feed item QML and `FediversePostsModel`.
### `transferengine-plugins/`
-- Transfer Engine integration for Mastodon sharing.
-- `mastodonshareplugin/`: sharing method discovery + metadata.
-- `mastodontransferplugin/`: media upload + status creation.
-- Single share UI entry: `MastodonSharePost.qml` handles both media and text/link posting.
-- Supports:
- - media sharing (`image/jpeg`, `image/png`, `video/mp4`)
- - link/text sharing (`text/x-url`, `text/plain`) with title/link extraction from share resources.
+- Transfer Engine integration for Fediverse sharing.
+- `fediverseshareplugin/`: sharing method discovery and metadata.
+- `fediversetransferplugin/`: media upload and status creation.
+- `FediverseSharePost.qml` handles both media and text/link posting.
### `icons/`
-- Mastodon SVG assets and `sailfish-svg2png` conversion setup.
-- Uses canonical icon names only:
- - `icons/icon-l-mastodon`
+- Generic Fediverse SVG assets and `sailfish-svg2png` conversion setup.
+- Uses the canonical icon name `icons/icon-l-fediverse`.
+
### `rpm/`
-- Packaging for all modules in `rpm/sailfish-account-mastodon.spec`.
+- Packaging for all modules in `rpm/sailfish-account-fediverse.spec`.
- Packages:
- - `sailfish-account-mastodon` (all runtime components)
- - `sailfish-account-mastodon-ts-devel` (translation source files only)
-- `%qmake5_install` already installs icon outputs from the `icons/` subproject; avoid a second explicit `icons` `make install` in `%install`.
-- Translation source `.ts` files are packaged in `sailfish-account-mastodon-ts-devel` (runtime package ships `.qm` only).
-- Runtime package ships the Mastodon settings translation-loader QML plugin under `%{_libdir}/qt5/qml/com/jolla/settings/accounts/mastodon/`.
+ - `sailfish-account-fediverse`
+ - `sailfish-account-fediverse-ts-devel`
+- `%qmake5_install` installs the icon outputs from the `icons/` subproject.
+- Translation source `.ts` files are packaged separately from runtime `.qm` files.
### Root project
-- `sailfish-account-mastodon.pro` ties subprojects together.
+- `sailfish-account-fediverse.pro` ties the subprojects together.
-## Current Notification Behavior
+## Current behaviour
-- Events view shows Mastodon posts (not notification entries).
-- Events view post metadata line includes replies, favourites, and boosts alongside elapsed timestamp.
-- Long-pressing a Mastodon post reveals quick actions for favourite and boost, calling Mastodon API endpoints directly with account OAuth credentials.
-- System notifications are produced by `buteo-sync-plugin-mastodon-notifications`.
-- Notifications sync starts from Mastodon server marker (`notifications.last_read_id`) and uses local cursor dedupe via per-account `LastFetchedNotificationId`.
-- Each unread Mastodon notification is published as a separate Sailfish system notification.
-- Mastodon marker (`last_read_id`) is updated only when no local Mastodon notifications remain for that account.
-- Notification template profile dispatches per-account sync profiles on schedule (default every 30 minutes), not only at boot.
+- The Events view shows Fediverse posts, not notification entries.
+- The Events view metadata line includes replies, favourites, and boosts alongside elapsed time.
+- Long-press actions call the instance API directly with the account OAuth credentials.
+- System notifications are produced by the Fediverse notifications sync plugin.
+- Notifications sync starts from the server marker (`notifications.last_read_id`) and uses a per-account local cursor for dedupe.
+- Each unread notification is published as a separate Sailfish system notification.
-## Build Requirements
+## Build requirements
This project targets Sailfish OS build tooling.
-Full build/package validation is not possible without Sailfish SDK access (target sysroot + Sailfish packages).
-
-Required SDK-provided dependencies include (not exhaustive):
+Required SDK-provided dependencies include:
- `buteosyncfw5`
- `socialcache`
- `sailfishaccounts`
- `nemotransferengine-qt5`
-- related Qt/account stack packages listed in `rpm/sailfish-account-mastodon.spec`
-
-## Typical Build Flow (Inside Sailfish SDK)
+- related Qt and Sailfish account stack packages listed in `rpm/sailfish-account-fediverse.spec`
-1. Enter Sailfish SDK shell/target.
-2. Build from repository root (`qmake` / `make`).
-3. Build RPM package(s) from `rpm/sailfish-account-mastodon.spec`.
+## Typical build flow
-Outside Sailfish SDK, only static validation (wiring, paths, spec consistency) should be considered reliable.
+1. Enter a Sailfish SDK shell or target.
+2. Build from the repository root.
+3. Build RPM packages from `rpm/sailfish-account-fediverse.spec`.