From 05c33be3f4a337714004c7cd67c864951e4398e0 Mon Sep 17 00:00:00 2001 From: sk Date: Wed, 7 Dec 2022 19:01:58 +0100 Subject: [PATCH] update readme, bump version --- README.md | 50 ++++++++++++++++++++----------- img/f-droid-badge.png | Bin 0 -> 17775 bytes mastodon/build.gradle | 4 +-- metadata/en-US/changelogs/56.txt | 5 ++++ 4 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 img/f-droid-badge.png create mode 100644 metadata/en-US/changelogs/56.txt diff --git a/README.md b/README.md index 51382913f..ac64558ab 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,15 @@ # Megalodon [![Translation status](https://translate.codeberg.org/widgets/megalodon/-/svg-badge.svg)](https://translate.codeberg.org/engage/megalodon/) +  +[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=Download%20APK&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmegalodon%2Freleases%2Flatest&style=flat)](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk) -> A fork of the [official Mastodon Android app](https://github.com/mastodon/mastodon-android) adding important features that are missing in the official app and possibly won’t ever be implemented, such as the federated timeline, unlisted posting, bookmarks and an image description viewer. +Get it on Google Play +  +Get it on F-Droid -**Warning! [A previous version's integrated updater was broken](https://github.com/sk22/megalodon/issues/106) – I already published a fixed version! If you're not updating through Izzy's F-Droid repository (more sources to come, hopefully!), you'll have to download the current release manually. Sorry about that!** +> A fork of the [official Mastodon Android app](https://github.com/mastodon/mastodon-android) adding important features that are missing in the official app and possibly won’t ever be implemented, such as the federated timeline, unlisted posting and an image description viewer. -[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=download%20apk&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmastodon-android-fork%2Freleases%2Flatest&style=for-the-badge)](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk) --- @@ -43,26 +46,32 @@ This is important to **ensure the content you’re sharing is as accessible as p On the Fediverse, it’s quite common for people to pin posts they want others to read before following them. You can pin/unpin posts yourself by clicking the `⋯` button in the top right corner of your posts. -### **Bookmarks** - -**They allow for quickly saving posts and viewing them through the Bookmarks button on the top right of your profile.** - -To bookmark a post, press the button between the Favorite and Share buttons on the bottom of the post. Bookmarks are saved privately, so the post authors won’t know you saved their post – the list of bookmarked posts is only visible to you. - ## Installation -**In short: Press the download button to download the APK. Open the downloaded file on your Android device to install it. Megalodon will automatically notify you about new updates inside the app.** +### From app stores -[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=download%20apk&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmastodon-android-fork%2Freleases%2Flatest&style=for-the-badge)](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk) +* **[Izzy's F-Droid repository](https://apt.izzysoft.de/fdroid/repo)**: [apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk](https://apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk) -To install this app on your Android device, download the [latest release from GitHub](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk) and open it. You might have to accept installing APK files from your browser when trying to install it. You can also take a look at all releases on the [Releases](https://github.com/sk22/megalodon/releases) page. + Note that you'll need to add Izzy's F-Droid repository to your F-Droid app first: + + `https://apt.izzysoft.de/fdroid/repo` + +* **[Google Play Store](https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk)**: [play.google.com/store/apps/details?id=org.joinmastodon.android.sk](https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk) + +* **[F-Droid.org](https://f-droid.org)?** Not yet, sorry! + + If you want, you can help me figure out if something's missing in the [Issue #47: F-Droid.org](https://github.com/sk22/megalodon/issues/47) + +### Directly from GitHub + +Press the download button to download the APK. Open the downloaded file on your Android device to install it. Megalodon will automatically notify you about new updates inside the app. + +[![Download latest release](https://img.shields.io/badge/dynamic/json?color=d92aad&label=Download%20APK&query=%24.tag_name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fsk22%2Fmegalodon%2Freleases%2Flatest&style=flat)](https://github.com/sk22/megalodon/releases/latest/download/megalodon.apk) + +You might have to accept installing APK files from your browser when trying to install it. You can also take a look at all releases on the [Releases](https://github.com/sk22/megalodon/releases) page. Megalodon makes use of [Mastodon for Android](https://github.com/mastodon/mastodon-android)’s automatic update checker. Megalodon will check for new updates available on GitHub and offer to download and install them. You can also manually press “Check for updates” at the bottom of the settings page! -### Other sources - -* **[Izzy's F-Droid repository](https://apt.izzysoft.de/fdroid/repo)**: https://apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk - --- @@ -92,7 +101,7 @@ As with the source code, the translation is sourced from the official project, w There's also a handful of custom strings exclusive to this projects that would need to be translated. You can help translate **Megalodon** on Weblate: https://translate.codeberg.org/projects/megalodon/ -[![Translation status](https://translate.codeberg.org/widgets/megalodon/-/multi-auto.svg)](https://translate.codeberg.org/engage/megalodon/) +[![Translation status](https://translate.codeberg.org/widgets/megalodon/-/horizontal-auto.svg)](https://translate.codeberg.org/engage/megalodon/) --- @@ -122,6 +131,7 @@ There's also a handful of custom strings exclusive to this projects that would n * [Show visibility of original post when replying](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/display-reply-visibility) * [Clickable reply/boost line above posts](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:clickable-boost-reply-line) * [Clickable reply line while replying to open original post](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/clickable-reply-line-compose) +* [Add push notification setting for post notifications](https://github.com/sk22/megalodon/commit/b190480d7739be47f23543d9e7644660f9b4b4ee) ### Behavior @@ -133,6 +143,11 @@ There's also a handful of custom strings exclusive to this projects that would n * [Option to hide interaction numbers](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:settings/hide-interaction-numbers) * [Option to always reveal content warnings](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:feature/cw-above-text) * [Option to disable scrolling title bars](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:settings/disable-marquee) +* [No ellipsis for long poll answers](https://github.com/mastodon/mastodon-android/commit/c9aae828e2518adccdc092e41f8d1f0489636271) +* [Show poll vote button for multiple and single answer polls](https://github.com/mastodon/mastodon-android/commit/e14dfda2fdf32f0fa3043504ac5831683a87559a) +* [Show own vote after voting](https://github.com/mastodon/mastodon-android/commit/4ab9e25fec4fd9c10b7a8ddd1be522b3cc12cf28) ([Closes issue](https://github.com/mastodon/mastodon-android/commit/4ab9e25fec4fd9c10b7a8ddd1be522b3cc12cf28)) +* [Make inline emoji search case-insensitive and don't only search from start of emoji names](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:better-inline-emoji-search) ([Pull request](https://github.com/mastodon/mastodon-android/pull/445)) +* [Include subject line when sharing e.g. a website to Megalodon](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:external-share-include-subject) ### Visual @@ -140,6 +155,7 @@ There's also a handful of custom strings exclusive to this projects that would n * [Custom extended footer redesign](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:compact-extended-footer) * [Improvements to the true black mode](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:true-black-improvements) * [Profile header tweaks](https://github.com/mastodon/mastodon-android/compare/master...sk22:megalodon:ui/profile-header-tweaks) +* [Custom color themes](https://github.com/sk22/megalodon/pull/124) by [@LucasGGamerM](https://github.com/LucasGGamerM) ## Building diff --git a/img/f-droid-badge.png b/img/f-droid-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..ca83f5a3998a45636f86fda911712e3d957ad266 GIT binary patch literal 17775 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 iFT_v7b)5