forked from zelo72/mastodon-ios
chore: add bug report template and contributing document
This commit is contained in:
parent
82269c0409
commit
6e86a57e6f
|
@ -0,0 +1,62 @@
|
|||
name: 🐞 Bug
|
||||
description: File a bug/issue
|
||||
title: "[BUG] <title>"
|
||||
labels: [Bug, Needs Triage]
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue for this?
|
||||
description: Please search to see if an issue already exists for the bug you encountered.
|
||||
options:
|
||||
- label: I have searched the existing issues
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Current Behavior
|
||||
description: A concise description of what you're experiencing.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: A concise description of what you expected to happen.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps To Reproduce
|
||||
description: Steps to reproduce the behavior.
|
||||
placeholder: |
|
||||
1. In this environment...
|
||||
2. With this config...
|
||||
3. Tap '...'
|
||||
4. See error...
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Environment
|
||||
description: |
|
||||
You can check the version and build number in the bottom of in-app settings.
|
||||
examples:
|
||||
- **Device**: iPhone X
|
||||
- **OS**: iOS 15.3
|
||||
- **Version**: v1.3.0
|
||||
- **Build**: 103
|
||||
value: |
|
||||
- Device:
|
||||
- OS:
|
||||
- Version:
|
||||
- Build:
|
||||
render: markdown
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Anything else?
|
||||
description: |
|
||||
The server domain? Post links? Anything that will give us more context about the issue you are encountering!
|
||||
|
||||
Tip: You can attach images or video or log files by clicking this area to highlight it and then dragging files in.
|
||||
validations:
|
||||
required: false
|
|
@ -1,32 +0,0 @@
|
|||
## Description
|
||||
<!--Brief description for bug-->
|
||||
|
||||
|
||||
## App version
|
||||
> You can check the version and build number in app setting footer.
|
||||
|
||||
<!--Version Code here-->
|
||||
- Version: v0.0.0
|
||||
- Build: 0
|
||||
|
||||
## Detail
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
<!--How to reproduce this bug?-->
|
||||
|
||||
1. Tap …
|
||||
2. …
|
||||
|
||||
### Actual Behavior
|
||||
|
||||
<!--What happened?-->
|
||||
|
||||
The app …
|
||||
|
||||
### Expected behavior
|
||||
|
||||
<!--What is the expected behavior-->
|
||||
|
||||
The app …
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# Contributing
|
||||
|
||||
- File the issue for bug report and feature request
|
||||
- Translate the project in our [Crowdin](https://crowdin.com/project/mastodon-for-ios) project
|
||||
- Make the Pull Request to contribute
|
||||
|
||||
## Bug Report
|
||||
File the issue about the bug. Make sure you are installing the latest version app from TestFlight or App Store.
|
||||
|
||||
## Translation
|
||||
[![Crowdin](https://badges.crowdin.net/mastodon-for-ios/localized.svg)](https://crowdin.com/project/mastodon-for-ios)
|
||||
|
||||
The translation will update regularly. Please request language if not listed via issue.
|
||||
|
||||
## Pull Request
|
||||
|
||||
You can make a pull request directly with small block code changes for bugfix or feature implementations. Before making a pull request with hundred lines of changes to this repository, please first discuss the change you wish to make via issue.
|
||||
|
||||
Also, there are lots of existing feature request issues that could be a good-first-issue discussing place.
|
||||
|
||||
Follow the git-flow pattern to make your pull request.
|
||||
|
||||
1. Ensure you are checkout on the `develop` branch.
|
||||
2. Write your codes and test them on **iPad and iPhone**.
|
||||
3. Merge the `develop` into your branch then make a Pull Request. Please merge the branch and resolve any conflicts when the `develop` updates. **Do not force push your codes.**
|
||||
4. Make sure the permission for your folk is open to the reviewer. Code style fix, conflict resolution, and other changes may be committed by the reviewer directly.
|
||||
5. Request a code review and wait for approval. The PR will be merged when it is approved.
|
||||
|
||||
## Documentation
|
||||
The documents for this app is list under the [Documentation](../Documentation/) folder. We are also welcome contributions for documentation.
|
|
@ -0,0 +1,83 @@
|
|||
# Setup
|
||||
|
||||
## Requirements
|
||||
|
||||
- Xcode 13+
|
||||
- Swift 5.5+
|
||||
- iOS 14.0+
|
||||
|
||||
|
||||
Intell the latest version of Xcode from the App Store or Apple Developer Download website. Also, we assert you have the [Homebrew](https://brew.sh) package manager.
|
||||
|
||||
This guide may not suit your machine and actually setup procedure may change in the future. Please file the issue or Pull Request if there are any problems.
|
||||
|
||||
## CocoaPods
|
||||
The app use [CocoaPods]() and [CocoaPods-Keys](https://github.com/orta/cocoapods-keys). The M1 Mac needs virtual ruby env to workaround compatibility issues.
|
||||
|
||||
#### Intel Mac
|
||||
|
||||
```zsh
|
||||
sudo gem install cocoapods cocoapods-keys
|
||||
```
|
||||
|
||||
#### M1 Mac
|
||||
|
||||
```zsh
|
||||
# install the rbenv
|
||||
brew install rbenv
|
||||
which ruby
|
||||
# > /usr/bin/ruby
|
||||
echo 'eval "$(rbenv init -)"' >> ~/.zprofile
|
||||
source ~/.zprofile
|
||||
which ruby
|
||||
# > /Users/mainasuk/.rbenv/shims/ruby
|
||||
|
||||
# select ruby
|
||||
rbenv install --list
|
||||
# here we use the latest 3.0.x version
|
||||
rbenv install 3.0.3
|
||||
rbenv global 3.0.3
|
||||
ruby --version
|
||||
# > ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [arm64-darwin21]
|
||||
|
||||
sudo gem install cocoapods cocoapods-keys
|
||||
```
|
||||
|
||||
## Bootstrap
|
||||
|
||||
```zsh
|
||||
# make a clean build
|
||||
sudo gem install cocoapods-clean
|
||||
pod clean
|
||||
|
||||
# make install
|
||||
pod install --repo-update
|
||||
|
||||
# open workspace
|
||||
open Mastodon.xcworkspace
|
||||
```
|
||||
|
||||
The CocoaPods-Key plugin will request the push notification endpoint. You can fufill the empty string and set it later. To setup the push notification. Please check section `Push Notification` below.
|
||||
|
||||
The app requires the `App Group` capability. To make sure it works for your developer membership. Please check [AppSecret.swift](../AppShared/AppSecret.swift) file and set another unique `groupID` and update `App Group` settings.
|
||||
|
||||
#### Push Notification (Optional)
|
||||
The app is compatible with [toot-relay](https://github.com/DagAgren/toot-relay) APNs. You can set your push notification endpoint via Cocoapod-Keys. There are two endpoints:
|
||||
- notification_endpoint: for `RELEASE` usage
|
||||
- notification_endpoint_debug: for `DEBUG` usage
|
||||
|
||||
Please check the [Establishing a Certificate-Based Connection to APNs
|
||||
](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_certificate-based_connection_to_apns) document to generate the certificate and exports the p12 file.
|
||||
|
||||
Note:
|
||||
Please check and set the `notification.Topic` to the app BundleID in [toot-relay.go](https://github.com/DagAgren/toot-relay/blob/f9d6894040509881fee845972cd38ec6cd8f5a11/toot-relay.go#L112). The server needs use a reverse proxy to port this relay on 443 port with valid domain and HTTPS certificate.
|
||||
|
||||
## Start
|
||||
1. Open `Mastodon.xcworkspace`
|
||||
2. Wait for the Swift Package Dependencies resolved.
|
||||
2. Check the signing settings make sure to choose a team. [More info…](https://help.apple.com/xcode/mac/current/#/dev23aab79b4)
|
||||
3. Select `Mastodon` scheme and device then run it. (Command + R)
|
||||
|
||||
## What's next
|
||||
|
||||
We welcome contributions! And if you have an interest to contribute codes. Here is a document that describes the app architecture and what's tech stack it uses.
|
|
@ -55,6 +55,15 @@
|
|||
"version": "1.2.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "FLAnimatedImage",
|
||||
"repositoryURL": "https://github.com/Flipboard/FLAnimatedImage.git",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "e7f9fd4681ae41bf6f3056db08af4f401d61da52",
|
||||
"version": "1.0.16"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "FPSIndicator",
|
||||
"repositoryURL": "https://github.com/MainasuK/FPSIndicator.git",
|
||||
|
@ -207,6 +216,15 @@
|
|||
"revision": "d0470491f56e734731bbf77991944c0dfdee3e0e",
|
||||
"version": "2.6.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "UITextView+Placeholder",
|
||||
"repositoryURL": "https://github.com/MainasuK/UITextView-Placeholder.git",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "20f513ded04a040cdf5467f0891849b1763ede3b",
|
||||
"version": "1.4.1"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -42,4 +42,4 @@ SPEC CHECKSUMS:
|
|||
|
||||
PODFILE CHECKSUM: c471d1f9c923dc63bf8684415c79b85adb2ac36b
|
||||
|
||||
COCOAPODS: 1.11.2
|
||||
COCOAPODS: 1.11.3
|
||||
|
|
Loading…
Reference in New Issue