summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md69
1 files changed, 38 insertions, 31 deletions
diff --git a/README.md b/README.md
index 6ca09b7..f58b99e 100644
--- a/README.md
+++ b/README.md
@@ -2,70 +2,77 @@
Sailfish OS account integration for Mastodon.
-## What This Repository Contains
-
-This repository is the initial public form of the Mastodon plugin and contains all of its account integration components.
+## Repository Components
### `common/`
- Shared C++ library code used by multiple plugins.
-- Includes Mastodon posts database support built on `socialcache`.
+- Includes socialcache-backed databases for Mastodon posts and notifications.
### `settings/`
-- Sailfish Accounts provider and services definitions.
-- Account UI QML files for account creation/settings/credentials update.
-- Uses OAuth2 (`web_server`) account flow with per-instance Mastodon app registration.
-- Current services:
- - `mastodon-microblog` (sync posts)
- - `mastodon-sharing` (Transfer Engine sharing)
+- Sailfish Accounts provider, service definitions, and account UI.
+- OAuth2 (`web_server`) account flow with per-instance Mastodon app registration.
+- Services:
+ - `mastodon-microblog`: sync service for posts and notifications.
+ - `mastodon-sharing`: Transfer Engine sharing service.
### `buteo-plugins/`
-- Social sync plugins for Buteo.
-- Includes shared Buteo social plugin framework code and Mastodon posts sync plugin/profile files.
-- Installs Buteo client and sync profile XML files.
+- 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.
### `eventsview-plugins/`
-- Events view extension QML/C++ plugin for Mastodon posts.
+- Events view extension for Mastodon posts.
- Includes delegate/feed item QML and `MastodonPostsModel`.
### `transferengine-plugins/`
- Transfer Engine integration for Mastodon image sharing.
-- `mastodonshareplugin/`: sharing method discovery and share UI metadata.
-- `mastodontransferplugin/`: upload implementation (upload media + create status).
-- Shared account credential/status helper: `mastodonshareservicestatus.*`.
+- `mastodonshareplugin/`: sharing method discovery + metadata.
+- `mastodontransferplugin/`: media upload + status creation.
### `icons/`
-- Mastodon SVG icon assets and Sailfish icon conversion setup (`sailfish-svg2png`).
-- Provides themed service icons used by provider/settings/transfer UI.
-
+- Mastodon SVG assets and `sailfish-svg2png` conversion setup.
+- Uses canonical icon names only:
+ - `icons/icon-l-mastodon`
### `rpm/`
-- RPM spec for packaging all components.
-- Defines subpackages:
+- Packaging for all modules in `rpm/sailfish-account-mastodon.spec`.
+- Subpackages:
- `sailfish-account-mastodon`
- `buteo-sync-plugin-mastodon-posts`
+ - `buteo-sync-plugin-mastodon-notifications`
- `eventsview-extensions-mastodon`
- `transferengine-plugin-mastodon`
- - `sailfish-account-mastodon-features-all`
+- Main package requires all feature subpackages.
+
+### Root project
+- `sailfish-account-mastodon.pro` ties subprojects together.
+
+## Current Notification Behavior
-### Root project file
-- `sailfish-account-mastodon.pro` ties all subprojects together.
+- Events view shows Mastodon posts (not notification entries).
+- System notifications are produced by `buteo-sync-plugin-mastodon-notifications`.
+- Notifications sync fetches unread items using Mastodon markers (`last_read_id`).
+- Dismissing the Sailfish notification marks those items as read on Mastodon via markers API.
+- Notification template profile dispatches per-account sync profiles on schedule (default every 30 minutes), not only at boot.
## Build Requirements
-This project is designed for the Sailfish OS build environment.
+This project targets Sailfish OS build tooling.
-A full build is not possible without Sailfish SDK access (including target sysroot/tooling and Sailfish-specific development packages).
+Full build/package validation is not possible without Sailfish SDK access (target sysroot + Sailfish packages).
-In particular, dependencies like these must come from the Sailfish SDK target environment:
+Required SDK-provided dependencies include (not exhaustive):
- `buteosyncfw5`
- `socialcache`
- `sailfishaccounts`
- `nemotransferengine-qt5`
-- other Sailfish/Qt account stack packages listed in `rpm/sailfish-account-mastodon.spec`
+- related Qt/account stack packages listed in `rpm/sailfish-account-mastodon.spec`
## Typical Build Flow (Inside Sailfish SDK)
1. Enter Sailfish SDK shell/target.
-2. Run qmake build from repository root.
+2. Build from repository root (`qmake` / `make`).
3. Build RPM package(s) from `rpm/sailfish-account-mastodon.spec`.
-If you are outside Sailfish SDK, use static checks and code review only.
+Outside Sailfish SDK, only static validation (wiring, paths, spec consistency) should be considered reliable.