Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/develop' into feature/anonymou…
Browse files Browse the repository at this point in the history
…s-instances
  • Loading branch information
micahmo committed Sep 18, 2023
2 parents c81eb34 + 6b37595 commit 828798d
Show file tree
Hide file tree
Showing 74 changed files with 1,965 additions and 841 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@
- Added setting to import and export settings
- Added liveness and latency indicators for instances in profile switcher - contribution from @micahmo
- Add option to disabling graying out read posts - contribution from @micahmo
- Show sort type icon - contribution from @micahmo
- Downvote actions will be disabled when instances have downvotes disabled
- Added accessibility settings to reduce animations/motion
- Automatically save drafts for posts and comments - contribution from @micahmo
- Highlight the currently selected page in the navigation drawer - contribution from @micahmo
- Newly created comments get inserted into comment list correctly without losing your scroll position. If comment is top level, the list scrolls to your comment. The comment also gets highlighted - contribution from @ajsosa
- Improved account switching and added anonymous browsing mode for any intance - contribution from @micahmo

### Changed
Expand All @@ -31,8 +36,10 @@
- Star indicator for saved posts now prefixes the post title so that it's consistent with the indicators for locked posts and featured community posts - contribution from @ajsosa
- Improved ability to refresh posts - contribution from @micahmo
- Improve the option selector dialog to show the currently selected item - contribution from @micahmo
- Improve contrast and distinction of special user identifiers - contribution from @micahmo
- Show swatches and live previews for accent color selection - contribution from @micahmo
- Use Android system back button to navigate from Saved to History on profile page - contribution from @micahmo
- Hide community name and show usernames when viewing a community - contribution from @micahmo

### Fixed

Expand All @@ -46,6 +53,8 @@
- Fix issues entering URLs with some keyboards when logging in - contribution from @micahmo
- Fix issue with accessibility in sort picker - contribution from @micahmo
- Fix issue where deleted replies could not be marked read - contribution from @micahmo
- Fix issue where creating new comment refreshes the whole post page - contribution from @ajsosa
- Fix issue where dismiss read FAB action would not work at times

## 0.2.3+16 - 2023-08-15

Expand Down
153 changes: 67 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,50 @@
<h1 align="center">
<br>
<img src="./assets/logo.png" alt="Thunder" width="200">
<br>
Thunder
<br>
</h1>
<p align="center">
<img src="./assets/logo.png" alt="Thunder" width="200">
</p>

<h4 align="center">
An open source, cross-platform Lemmy client built with <a href="https://flutter.dev/" target="_blank">Flutter</a>
</h4>
<h1 align="center">Thunder</h1>

<p align="center">
<a href="https://github.com/hjiangsu/thunder/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/hjiangsu/thunder" alt="License">
</a>
<a href="">
<img src="https://img.shields.io/github/stars/hjiangsu/thunder" alt="Stars">
</a>
<a href="">
<img src="https://img.shields.io/github/forks/hjiangsu/thunder" alt="Forks">
</a>
<a href="">
<img src="https://img.shields.io/badge/platform-ios%20%7C%20android-blueviolet" alt="Platforms">
</a>
An open source, cross-platform Lemmy client built with <a href="https://flutter.dev/" target="_blank">Flutter</a>
</p>

<p align="center">
<a href="https://github.com/hjiangsu/thunder/releases">
<img src="https://img.shields.io/github/v/release/hjiangsu/thunder?label=latest release" alt="Latest Release">
</a>
<div align="center">
<a href="https://apps.apple.com/iq/app/thunder-for-lemmy/id6450518497">
<img src="docs/badges/app_store.svg" height="50"/>
</a>
<a href="https://play.google.com/store/apps/details?id=com.hjiangsu.thunder">
<img src="docs/badges/google_play.svg" height="50"/>
</a>
<a href="https://apt.izzysoft.de/fdroid/index/apk/com.hjiangsu.thunder">
<img src="https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/com.hjiangsu.thunder" alt="IzzyOnDroid">
</a>
</p>
<img src="docs/badges/izzy_on_droid.png" height="50">
</a>
<a href="https://github.com/hjiangsu/thunder/releases/latest">
<img src="docs/badges/github.png" height="50">
</a>
</div>

<br />

<p align="center">
<a href="#features">Features</a> •
<a href="#roadmap">Roadmap</a>
<a href="https://lemmy.world/c/thunder_app">
<img alt="Lemmy" src="https://img.shields.io/lemmy/thunder_app%40lemmy.world?label=lemmy%20community"></a>
<a href="https://matrix.to/#/#thunderapp:matrix.org"><img src="https://img.shields.io/badge/chat-matrix-blue?style=flat&logo=matrix" alt="matrix chat"></a>
</p>

<p align="center">
<a href="#features">Features</a> •
<a href="#roadmap">Roadmap</a> •
<a href="#contributing">Contributing</a> •
<a href="#building-from-source">Building From Source</a> •
<a href="#conventions">Conventions</a>
</p>

<div align="center">
<br>
<img src="./docs/assets/screenshot_2.png" alt="Home Feed" width="150">
<img src="./docs/assets/screenshot_1.png" alt="Spark" width="170">
<img src="./docs/assets/screenshot_3.png" alt="Sidebar" width="150">
<img src="./docs/assets/screenshot_2.png" alt="Comments" width="150">
<img src="./docs/assets/screenshot_1.png" alt="Card View" width="170">
<img src="./docs/assets/screenshot_3.png" alt="Compact View" width="170">
<img src="./docs/assets/screenshot_4.png" alt="Customizability" width="150">
<br>
</div>

Expand All @@ -66,74 +60,56 @@ Your passion, contributions, and ideas would be greatly appreciated! Together, l
</p>
<hr />

## Communities
If you want to join in on further discussions around Thunder, feel free to join the lemmy communities or the Matrix space!
## Releases

Community: https://lemmy.world/c/thunder_app
Nightly Community: https://lemmy.world/c/thunder_nightly
### Android

Matrix Space: https://matrix.to/#/#thunderapp:matrix.org
General releases can be obtained officially through [Google Play Store](https://play.google.com/store/apps/details?id=com.hjiangsu.thunder), [IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.hjiangsu.thunder), or through GitHub releases.

Pre-releases are available in the [Releases](https://github.com/hjiangsu/thunder/releases) section under the corresponding version. You can also use [Obtainium](https://github.com/ImranR98/Obtainium).

## Releases
<div align="center">
<a href="https://play.google.com/store/apps/details?id=com.hjiangsu.thunder">
<img src="https://cdn.rawgit.com/steverichey/google-play-badge-svg/master/img/en_get.svg" height="80"/>
</a>
<a href="https://apt.izzysoft.de/fdroid/index/apk/com.hjiangsu.thunder">
<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" height="80">
</a>
<a href="https://github.com/hjiangsu/thunder/releases/latest">
<img src="https://raw.githubusercontent.com/andOTP/andOTP/master/assets/badges/get-it-on-github.png" height="80">
</a>
</div>
### iOS

### Android
If you are on Android, you can download Thunder from the [Google Play Store](https://play.google.com/store/apps/details?id=com.hjiangsu.thunder). There is also an option to obtain the releases through [IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.hjiangsu.thunder) if you are interested. Finally, all releases (including alpha builds) are available in the [Releases](https://github.com/hjiangsu/thunder/releases) section under the corresponding version.
General releases can be obtained officially through [App Store](https://play.google.com/store/apps/details?id=com.hjiangsu.thunder), or through GitHub releases.

### iOS
If you are on iOS, there is TestFlight available through [this link](https://testflight.apple.com/join/9n8xrqvH). An alternative is to download the corresponding IPA file in the [Releases](https://github.com/hjiangsu/thunder/releases) section and install it through [AltStore](https://altstore.io/).
Pre-releases are available through [TestFlight](https://testflight.apple.com/join/9n8xrqvH). An alternative is to download the corresponding IPA file in the [Releases](https://github.com/hjiangsu/thunder/releases) section and install it through [AltStore](https://altstore.io/).

## Features

Thunder is currently undergoing **active alpha development**, and it is possible that not all features have been fully implemented at this stage. Due to this, significant breaking changes may occur between versions. The next section summarizes the features that are currently implemented.
Thunder is currently undergoing **active alpha development**, and it is possible that not all features have been fully implemented at this stage. Due to this, significant breaking changes may occur between versions.

The next section summarizes the features that are currently implemented. This is not a full list of features

#### **Communities**

- Browsing through general (All/Local/Subscribed) feeds, including specific communities
- Ability to search for communities that are federated with the current instance
- See a list of subscriptions, and access their community posts and general information
- Ability to block a specific community
- Browse through feeds (All/Local/Subscribed) and communities
- Subscribe, unsubscribe, and block specific communities
- Search for communities that are federated with the current instance
- Access subscriptions and blocked communities

#### **Posts & Comments**

- Voting and save actions for posts and comments
- Swipe actions for posts and comments with customizable actions
- Infinite scrolling for posts and comments
- Ability to create a new post, and reply to posts/comments
- Sharing links, media, comments from posts and comments
- Vote, save, share, and create posts and comments
- Customizable swipe actions for posts and comments
- Infinitely scroll through feeds and posts
- Customizable view options for posts (compact, card, full height)
- Customizable defaults for post/comment sorting

#### **Authentication**

- Ability to log into multiple instances, and switch between them
- Login to multiple accounts/instances, and switch between them
- Basic inbox capabilities, view replies, mentions and private messages
- View your own profile, including posts, comments, and saved content

#### **Theme & Customization**
- Light, dark, OLED, and system theme options
- Material You theming (Android)
- Apply a preset theme/accent colour
- Customizable font scaling to different content

#### Feed
- Two-column view for tablets
- Setting default feed/sort types

#### Posts
- Different post views - compact, normal, expanded (full-image)
- Swipe customizations on posts (voting, saving, marking as read, etc.)
- Showing text preview, actions, moving title to the top, etc.

#### Themes
- Follow system theme and Material You theming
- Light, dark, and OLED themes available
- Customizable font size selections
- Customizable FAB actions

#### Extras
- In-app update notifications for new releases on GitHub
Expand All @@ -142,19 +118,19 @@ Thunder is currently undergoing **active alpha development**, and it is possible
## Roadmap

The current focus is to continue to expand on the general functionality of Thunder. This includes but is not limited to:
- Improvements to theming to allow for more theme choices
- Improvements to post/comment creation to reach parity with the web-ui
- Optimizations to make the overall experience even smoother
- Improved searching capabilities

- Improvements to localization and more language support
- Improvements to stability and performance
- Initial support for moderation actions

## Contributing

Contributions are always welcome! To contribute potential features or bug-fixes:

1. Fork this repository
2. Base the feature or fix off the `develop` branch. This is to allow for pre-release versions without affecting the main general releases.
2. Apply any changes and/or additions based off an existing issue (or create a new issue for the feature/fix you are working on)
3. Create a pull request to have your changes reviewed and merged
3. Apply any changes and/or additions based off an existing issue (or create a new issue for the feature/fix you are working on)
4. Create a pull request to have your changes reviewed and merged

## Building From Source

Expand All @@ -165,6 +141,7 @@ Thunder is developed with Flutter, and is built to support both iOS and Android.
To build the app from source, a few steps are required.

1. Set up and install Flutter. For more information, visit https://docs.flutter.dev/get-started/install.
2. Ensure that you are on Flutter's `beta` channel using `flutter channel beta`.
2. Clone this repository and fetch the dependencies using `flutter pub get`
3. Generate an empty `.env` file. The `.env` file holds any credentials. At the time of writing, en empty `.env` file with a comment is all that is required.
4. Run `flutter gen-l10n` to generate the localization files.
Expand All @@ -173,19 +150,23 @@ To build the app from source, a few steps are required.
### Building with Docker

Alternatively, you can skip the prerequisite setup and build the Android application via docker with a single command:
```

```bash
./scripts/docker-build-android.sh
```

#### Developing with Docker

You can also run your local development environment for Android via the Docker container, including connecting to ADB on the host machine.

```
./scripts/docker-dev-android.sh
```

### Environment File

This is an example of the `.env` that can be used for Thunder.

```bash
# Empty Environment File
```
Expand All @@ -194,4 +175,4 @@ This is an example of the `.env` that can be used for Thunder.

While there are no specific conventions that must be followed, do try to follow best practices whenever possible.

Suggestions are always welcome to improve the code quality and architecture of the app!
Suggestions are always welcome to improve the code quality and architecture of the app!
Binary file modified docs/assets/screenshot_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/screenshot_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/screenshot_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/screenshot_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 828798d

Please sign in to comment.