diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7fd0c9e1b..955387086 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ For those able & willing to help fix issues and/or implement features ... ### Development environment Make sure you have - - JDK(JBR) 25 + - JDK 25 - Xcode 26 if you're building for iOS ### Code guidelines @@ -27,28 +27,28 @@ Flare uses [ktlint](https://github.com/pinterest/ktlint) to check the code style ### Building ### Android - - Make sure you have JDK(JBR) 25 installed + - Make sure you have JDK 25 installed - Run `./gradlew installDebug` to build and install the debug version of the app - You can open the project in Android Studio or IntelliJ IDEA if you want ### iOS - - Make sure you have JDK(JBR) 25 installed + - Make sure you have JDK 25 installed - Make sure you have a Mac with Xcode 26 installed - open `iosApp/Flare.xcodeproj` in Xcode - Build and run the app ### Server - Flare Server uses Ktor with Kotlin Native, which only works on Linux X64 and MacOS X64/ARM64 - - Make sure you have JDK(JBR) 25 installed + - Make sure you have JDK 25 installed - Run `./gradlew :server:runDebugExecutableMacosArm64 -PrunArgs="--config-path=path/to/server/src/commonMain/resources/application.yaml"` to build and run the server, remember to replace `path/to/server/src/commonMain/resources/application.yaml` with the path to your config file - The server will run on `http://localhost:8080` by default ### Desktop - - Make sure you have JDK(JBR) 25 installed. + - Make sure you have JDK 25 installed. - Run `./gradlew run` to build and run the debug version of the desktop app. ### Project structure -The project is split into 3 parts: +The project is split into theses parts: - `shared`: The common code, including bussiness logic. - `shared/commonMain`: Bussiness logic without any UI. - `shared/api`: Shared API definition for the server and client diff --git a/README.md b/README.md index 38e1096b0..cf2235cea 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ![badge-macOS](https://img.shields.io/badge/macOS-Sonoma-black) ![badge-Linux](https://img.shields.io/badge/Linux-AppImage-black) -Flare is an open-source, privacy-first social client that brings Mastodon, Misskey, Bluesky, X, and RSS into one unified timeline. It supports cross-posting, lists, feeds, DMs, RSS management, and AI-powered features such as translation and summaries. Built with Kotlin Multiplatform, Flare shares its core logic across Android, iOS, macOS, Windows, and Linux, turning fragmented social feeds into a personal information hub. +Flare is an open-source, privacy-first social client that brings Mastodon, Misskey, Bluesky, X, Nostr, and RSS into one unified timeline. It supports cross-posting, lists, feeds, DMs, RSS management, and AI-powered features such as translation and summaries. Built with Kotlin Multiplatform, Flare shares its core logic across Android, iOS, macOS, Windows, and Linux, turning fragmented social feeds into a personal information hub. @@ -41,56 +41,25 @@ Here're some features we're planning to implement in the future. - [ ] Quick reply - [ ] Support for Meta Threads - [ ] Support for Discourse forum + - [x] Support for Nostr - [x] Desktop Client - [ ] Web Client(?) -Here're some features we've done before. - - [x] Mixed timeline - - [x] AI powered features - - [x] Translation - - [x] Summary - - [x] Anonymous mode enhancement, option to change data source - - [x] Local history - - [x] RSS feed support - - [x] Support for vvo platform - - [x] Anonymous mode, no need to login - - [x] Customizable tabs - - [x] Local filtering - - [x] Crossposting - - [x] Translation - -### Mastodon - - [x] Support for polls - - [x] Support global/local timelines - - [x] Support for lists - - [x] Support for bookmarks/faovrites timelines - -### Misskey - - [x] Support for polls - - [x] Support for lists - - [x] Support for antennas - - [x] Support for faovrites timeline - -### Bluesky - - [x] Support for lists - - [x] Support for feeds - - [x] Support DM - ## Building ### Android - - Make sure you have JDK(JBR) 25 installed + - Make sure you have JDK 25 installed - Run `./gradlew installDebug` to build and install the debug version of the app - You can open the project in Android Studio or IntelliJ IDEA if you want ### iOS - - Make sure you have JDK(JBR) 25 installed + - Make sure you have JDK 25 installed - Make sure you have a Mac with Xcode 26 installed - open `iosApp/Flare.xcodeproj` in Xcode - Build and run the app ### Server - Flare Server uses Ktor with Kotlin Native, which only works on Linux X64 and MacOS X64/ARM64 - - Make sure you have JDK 25(JBR) installed + - Make sure you have JDK 25 installed - Run `./gradlew :server:runDebugExecutableMacosArm64 -PrunArgs="--config-path=path/to/server/src/commonMain/resources/application.yaml"` to build and run the server, remember to replace `path/to/server/src/commonMain/resources/application.yaml` with the path to your config file - The server will run on `http://localhost:8080` by default #### Docker @@ -107,7 +76,7 @@ If you prefer using Docker, you can use Docker Compose to run prebuild Server Im - Run `docker compose up -d` ### Desktop - - Make sure you have JDK(JBR) 25 installed + - Make sure you have JDK 25 installed - Run `./gradlew run` to build and run the debug version of the desktop app. ## Contributing diff --git a/docs/cover1.png b/docs/cover1.png index 9e504e09e..7f448c9f4 100644 Binary files a/docs/cover1.png and b/docs/cover1.png differ diff --git a/iosApp/Flare.xcodeproj/project.pbxproj b/iosApp/Flare.xcodeproj/project.pbxproj index 6319eb9fd..39b6ea460 100644 --- a/iosApp/Flare.xcodeproj/project.pbxproj +++ b/iosApp/Flare.xcodeproj/project.pbxproj @@ -330,7 +330,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 29; + CURRENT_PROJECT_VERSION = 34; DEVELOPMENT_TEAM = 7LFDZ96332; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -350,7 +350,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.0; + MARKETING_VERSION = 1.4.0; PRODUCT_BUNDLE_IDENTIFIER = dev.dimension.flare; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -370,7 +370,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 29; + CURRENT_PROJECT_VERSION = 34; DEVELOPMENT_TEAM = 7LFDZ96332; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -390,7 +390,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.3.0; + MARKETING_VERSION = 1.4.0; PRODUCT_BUNDLE_IDENTIFIER = dev.dimension.flare; PRODUCT_NAME = "$(TARGET_NAME)"; STRING_CATALOG_GENERATE_SYMBOLS = YES; diff --git a/metadata/en-US/full_description.txt b/metadata/en-US/full_description.txt index fd0094d68..f4fa6c331 100644 --- a/metadata/en-US/full_description.txt +++ b/metadata/en-US/full_description.txt @@ -1,8 +1,18 @@ -Flare is an open-source, privacy-first social client that brings together multiple decentralized and federated networks into one seamless timeline. Whether you follow people on Mastodon, Bluesky, Misskey, or prefer RSS feeds, Flare lets you see everything in one place — no need to switch between apps. +Flare is a free and open source client for the social web. Browse, post, and +interact across Mastodon, Bluesky, X, Misskey, and Nostr from a single app. Features: - - Unified timeline covering Mastodon, Misskey, Bluesky, X, and RSS feeds. - - Crossposting: share your thoughts across multiple platforms simultaneously. - - Full support for features common in federated social networks (polls, lists, favourites/bookmarks, etc.) depending on the platform. - - AI-powered tools: translation, summaries, local history to help you catch up quickly. - - Strong focus on privacy and control: anonymous mode, local filtering, data transparency. \ No newline at end of file + +- Unified timeline: merge feeds from multiple accounts and platforms into one + stream +- Cross-posting: compose once, publish to multiple platforms +- Adaptive layout: multi-column grid and split-view panels on tablets +- Built-in RSS/Atom reader with OPML import +- Customizable tab bar with any timeline, list, or feed as a tab +- Full compose: polls, content warnings, media alt text, visibility controls +- Guest mode: browse Mastodon without an account +- Local keyword filters +- Dynamic theming, custom colors, adjustable fonts +- No ads, no tracking, no telemetry + +Licensed under AGPL-3.0. diff --git a/metadata/en-US/images/featureGraphic.png b/metadata/en-US/images/featureGraphic.png index 932dec205..04841b3d5 100644 Binary files a/metadata/en-US/images/featureGraphic.png and b/metadata/en-US/images/featureGraphic.png differ diff --git a/metadata/en-US/images/phoneScreenshots/1.png b/metadata/en-US/images/phoneScreenshots/1.png index 36554b593..50e3874fe 100644 Binary files a/metadata/en-US/images/phoneScreenshots/1.png and b/metadata/en-US/images/phoneScreenshots/1.png differ diff --git a/metadata/en-US/images/phoneScreenshots/2.png b/metadata/en-US/images/phoneScreenshots/2.png index 24576b4c2..ae1f2e7b2 100644 Binary files a/metadata/en-US/images/phoneScreenshots/2.png and b/metadata/en-US/images/phoneScreenshots/2.png differ diff --git a/metadata/en-US/images/phoneScreenshots/3.png b/metadata/en-US/images/phoneScreenshots/3.png index 8d54db698..419c91878 100644 Binary files a/metadata/en-US/images/phoneScreenshots/3.png and b/metadata/en-US/images/phoneScreenshots/3.png differ diff --git a/metadata/en-US/images/phoneScreenshots/4.png b/metadata/en-US/images/phoneScreenshots/4.png index 664b782a7..2cba52f91 100644 Binary files a/metadata/en-US/images/phoneScreenshots/4.png and b/metadata/en-US/images/phoneScreenshots/4.png differ diff --git a/metadata/en-US/images/phoneScreenshots/5.png b/metadata/en-US/images/phoneScreenshots/5.png index 40e88d8f7..975b85cb6 100644 Binary files a/metadata/en-US/images/phoneScreenshots/5.png and b/metadata/en-US/images/phoneScreenshots/5.png differ diff --git a/metadata/en-US/images/phoneScreenshots/6.png b/metadata/en-US/images/phoneScreenshots/6.png index 6182b030f..1aa83f99e 100644 Binary files a/metadata/en-US/images/phoneScreenshots/6.png and b/metadata/en-US/images/phoneScreenshots/6.png differ diff --git a/metadata/en-US/images/phoneScreenshots/7.png b/metadata/en-US/images/phoneScreenshots/7.png index ddb038a0c..e7b369fe4 100644 Binary files a/metadata/en-US/images/phoneScreenshots/7.png and b/metadata/en-US/images/phoneScreenshots/7.png differ diff --git a/metadata/en-US/images/phoneScreenshots/8.png b/metadata/en-US/images/phoneScreenshots/8.png deleted file mode 100644 index 94494e27b..000000000 Binary files a/metadata/en-US/images/phoneScreenshots/8.png and /dev/null differ diff --git a/metadata/en-US/images/tenInchScreenshots/1.png b/metadata/en-US/images/tenInchScreenshots/1.png new file mode 100644 index 000000000..12a56b554 Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/1.png differ diff --git a/metadata/en-US/images/tenInchScreenshots/2.png b/metadata/en-US/images/tenInchScreenshots/2.png new file mode 100644 index 000000000..3c2645ff1 Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/2.png differ diff --git a/metadata/en-US/images/tenInchScreenshots/3.png b/metadata/en-US/images/tenInchScreenshots/3.png new file mode 100644 index 000000000..590500cb7 Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/3.png differ diff --git a/metadata/en-US/images/tenInchScreenshots/4.png b/metadata/en-US/images/tenInchScreenshots/4.png new file mode 100644 index 000000000..962a5e33c Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/4.png differ diff --git a/metadata/en-US/images/tenInchScreenshots/5.png b/metadata/en-US/images/tenInchScreenshots/5.png new file mode 100644 index 000000000..e931c2980 Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/5.png differ diff --git a/metadata/en-US/images/tenInchScreenshots/6.png b/metadata/en-US/images/tenInchScreenshots/6.png new file mode 100644 index 000000000..5c04c658a Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/6.png differ diff --git a/metadata/en-US/images/tenInchScreenshots/7.png b/metadata/en-US/images/tenInchScreenshots/7.png new file mode 100644 index 000000000..fb91c2031 Binary files /dev/null and b/metadata/en-US/images/tenInchScreenshots/7.png differ diff --git a/metadata/en-US/short_description.txt b/metadata/en-US/short_description.txt index 76471db6b..38f069ea0 100644 --- a/metadata/en-US/short_description.txt +++ b/metadata/en-US/short_description.txt @@ -1 +1 @@ - All your Mastodon, Bluesky, Misskey, X, RSS feeds, in one APP. \ No newline at end of file +Browse Mastodon, Bluesky, X, Misskey, Nostr and RSS all in one app.