Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
fer0n committed Dec 6, 2023
2 parents a30020e + a0fc0c2 commit 2b0e033
Show file tree
Hide file tree
Showing 366 changed files with 17,100 additions and 6,051 deletions.
8 changes: 7 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
"sourceType": "module",
"ecmaVersion": 2022
},
"settings": {
"react": {
"version": "detect"
}
},
"rules": {
"react/react-in-jsx-scope": "off",
"no-console": ["warn", { "allow": ["warn", "error", "info"] }],
Expand Down Expand Up @@ -60,7 +65,8 @@
{
"files": ["src/**"],
"globals": {
"APP_VERSION": true
"APP_VERSION": true,
"BUILD_FOSS_ONLY": true
}
}
]
Expand Down
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: bug
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**

- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: enhancement
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
30 changes: 22 additions & 8 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
build-type: app-store
certificate: Distribution
destinations: Voyager App Store
filename: iOS-${{ github.ref_name }}-${{ github.run_id }}
upload-artifact: iOS-Build.zip
filename: Voyager-iOS-${{ github.ref_name }}
upload-artifact: Voyager-iOS-${{ github.ref_name }}-Build.zip

build_android:
build_android_play:
runs-on: ubuntu-latest

steps:
Expand All @@ -35,11 +35,25 @@ jobs:
build-type: release
certificate: Voyager Play Store
destinations: Voyager Play Store
filename: Android-${{ github.ref_name }}-${{ github.run_id }}
upload-artifact: Android-Build.zip

build_android:
runs-on: ubuntu-latest

steps:
- name: Build Android on Appflow
uses: ionic-team/appflow-build@v1
with:
token: ${{ secrets.APPFLOW_TOKEN }}
app-id: 9f0851ec
platform: Android
build-type: release
environment: BuildFOSSOnly
certificate: Voyager Play Store
filename: Voyager-Android-${{ github.ref_name }}
upload-artifact: Voyager-Android-${{ github.ref_name }}-Build.zip

create_release:
needs: [build_ios, build_android]
needs: [build_ios, build_android_play, build_android]
runs-on: ubuntu-latest

permissions:
Expand All @@ -49,13 +63,13 @@ jobs:
- name: Download iOS Artifact
uses: actions/download-artifact@v3
with:
name: iOS-Build.zip
name: Voyager-iOS-${{ github.ref_name }}-Build.zip
path: artifacts/ios

- name: Download Android Artifact
uses: actions/download-artifact@v3
with:
name: Android-Build.zip
name: Voyager-Android-${{ github.ref_name }}-Build.zip
path: artifacts/android

- name: Release
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ jobs:
- run: corepack enable
- uses: actions/setup-node@v3
with:
node-version: 18
node-version: 20
cache: pnpm

- name: 📦 Install dependencies
run: pnpm install --frozen-lockfile

# - name: 🧪 Test project
# run: pnpm test
- name: 🧪 Test project
run: pnpm test

- name: 📝 Lint
run: pnpm lint
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,7 @@ yarn-error.log*
# Optional eslint cache
.eslintcache

vite.config.ts.timestamp-*
vite.config.ts.timestamp-*

# fly.io
fly.toml
5 changes: 5 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"tabWidth": 2,
"useTabs": false,
"trailingComma": "all"
}
4 changes: 3 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"editor.formatOnSave": true,
"prettier.enable": true
"prettier.enable": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"typescript.tsdk": "node_modules/typescript/lib"
}
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ WORKDIR /voyager

ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
ENV BUILD_FOSS_ONLY=true

# enable corepack & set network-timeout
RUN corepack enable &&\
Expand Down
23 changes: 16 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,18 @@
A mobile-first Lemmy web client
</p>

<p align="center">
<a href="https://github.com/aeharding/voyager/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=">Report Bug</a> · <a href="https://github.com/aeharding/voyager/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=">Request Feature</a> · <a href="https://github.com/aeharding/voyager/releases">Releases</a>
</p>

<p align="center">
&nbsp;<a href="https://vger.app"><img src="public/badges/pwa.svg" height="45"></a>&nbsp;&#8203;&nbsp;
<a href="https://apps.apple.com/us/app/voyager-for-lemmy/id6451429762"><img src="public/badges/ios.svg" height="45"></a>&nbsp;&nbsp;
<a href="https://play.google.com/store/apps/details?id=app.vger.voyager"><img src="public/badges/play.svg" height="45"></a>&nbsp;
<a href="https://play.google.com/store/apps/details?id=app.vger.voyager"><img src="public/badges/play.svg" height="45"></a>&nbsp;&nbsp;<a href="https://f-droid.org/en/packages/app.vger.voyager/"><img src="public/badges/fdroid.png" height="45"></a>
</p>
<p align="center">
<a href="https://matrix.to/#/#vger.app:matrix.org"><img src="https://img.shields.io/badge/chat-matrix-blue?style=flat&logo=matrix" alt="matrix chat"></a>
<a href="https://matrix.to/#/#vger.app:matrix.org"><img src="https://img.shields.io/badge/chat-matrix-blue?style=flat-square&logo=matrix" alt="matrix chat"></a>
<a href="https://lemmy.world/c/voyagerapp"><img src="https://img.shields.io/lemmy/[email protected]?style=flat-square&logo=lemmy&label=lemmy" alt="lemmy community"></a>
</p>
<br/>

Expand Down Expand Up @@ -54,7 +59,6 @@ Voyager is an [Apollo-like](https://apolloapp.io/) open source web client for [L
- More customization
- Native notifications and badging
- Mod features
- Native apps
- Translations
- ...and more!

Expand Down Expand Up @@ -204,7 +208,11 @@ BUILD=123; npx release-it

Make sure the build number is incremental. This is used for F-droid.

Voyager uses [Ionic App Flow](https://ionic.io/appflow) for Apple App Store and Android Play Store builds. Unfortunately, there's no way to provide public access to build logs and artifacts. Hopefully someday. :-)
Voyager uses [Ionic App Flow](https://ionic.io/appflow) for Apple App Store and Android Play Store builds. Those builds are initiated and monitored by Github Actions, where logs may be inspected.

**Voyager's Android and iOS builds are reproducible**! In fact, [F-droid independently builds Voyager](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/app.vger.voyager.yml) and verifies the same compiled APK is provided in Github Releases.

Note: F-droid and Github Releases binaries are built with `BUILD_FOSS_ONLY=true`. This removes all nonfree dependencies, currently just Google Play in-app purchases.

## 📲 PWA

Expand All @@ -215,7 +223,7 @@ Voyager works best added to the homescreen. There are certain features that only
- [React](https://react.dev/) - The library for web and native user interfaces
- [Vite](https://vitejs.dev/) - Next Generation Frontend Tooling
- [Ionic](https://ionicframework.com/) - The mobile SDK for the Web
- [Virtuoso](https://virtuoso.dev/) - Display large data sets using virtualized rendering
- [Virtua](https://github.com/inokawa/virtua) - A zero-config, fast and small virtual list
- [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) - Prompt for update, Web Push Notifications and Web Share Target API

## 👨‍💻 Contributors
Expand All @@ -228,9 +236,10 @@ Shoutout to [@fer0n](https://github.com/fer0n) for the great logo and splashscre

## 📄 License

### Logo & Splashscreen
### Artwork

CC BY-SA 4.0 &copy; [@fer0n](https://github.com/fer0n)
- **Default Logo & Splashscreen**: CC BY-SA 4.0 &copy; [@fer0n](https://github.com/fer0n)
- **Default Android themed icon**: CC BY-SA 4.0 &copy; [@Donno](https://github.com/Donnnno)

### Code

Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "app.vger.voyager"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 22
versionName "1.11.4"
versionCode 185
versionName "1.29.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
Expand Down
3 changes: 3 additions & 0 deletions android/app/capacitor.build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,17 @@ dependencies {
implementation project(':capacitor-community-app-icon')
implementation project(':capacitor-app')
implementation project(':capacitor-browser')
implementation project(':capacitor-filesystem')
implementation project(':capacitor-haptics')
implementation project(':capacitor-keyboard')
implementation project(':capacitor-share')
implementation project(':capacitor-status-bar')
implementation project(':capacitor-android-nav-mode')
implementation project(':capacitor-application-context')
implementation project(':capacitor-biometric-lock')
implementation project(':capacitor-plugin-safe-area')
implementation project(':capacitor-stash-media')
implementation project(':capacitor-tips')

}

Expand Down
16 changes: 16 additions & 0 deletions android/app/src/main/res/drawable/ic_launcher_monochrome.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<vector android:width="200dp"
android:height="200dp"
android:viewportWidth="384"
android:viewportHeight="384"
xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:scaleX="0.53"
android:scaleY="0.53"
android:pivotX="192"
android:pivotY="192">
<path
android:fillColor="#FF000000"
android:pathData="M349.23,94.88c-23.47,-24.33 -64.97,-19.46 -94.17,33.77 -21.18,-10.59 -40.83,-14.02 -63.06,-14.02s-41.88,3.43 -63.06,14.02c-29.2,-53.23 -70.7,-58.1 -94.17,-33.77 -26.62,27.6 -10.38,77.03 37.16,92.26 2.14,-11.13 7.03,-19.19 11.37,-26.34 5.43,-8.93 10.12,-16.65 10.12,-29.57 0,-12.23 -5.64,-21.92 -14.7,-25.27 -9.74,-3.6 -21.14,0.76 -30.55,11.66 -1.95,2.26 -5.33,2.88 -7.78,1.18a5.75,5.75 0,0 1,-1.12 -8.48c12.7,-14.84 28.94,-20.5 43.43,-15.15 13.7,5.06 22.22,18.88 22.22,36.06 0,16.14 -5.99,26 -11.78,35.54 -4.3,7.08 -8.42,13.78 -10,23.21A95.2,95.2 0,0 0,82 205.65c0,21.86 7.27,43.69 20.4,62.67l-2.92,0.2c-3.58,0.22 -7.06,1.59 -9.64,4.09a14.67,14.67 0,0 0,-4.28 13.22,14.77 14.77,0 0,0 15.41,12.05l27.55,-1.76a140.74,140.74 0,0 0,49.41 25.1,51.9 51.9,0 0,0 28.14,0 140.74,140.74 0,0 0,49.41 -25.1l27.55,1.76h0.08c7.35,0.45 14.06,-4.8 15.33,-12.05 0.87,-4.92 -0.71,-9.77 -4.28,-13.22a15.21,15.21 0,0 0,-9.64 -4.1l-2.91,-0.19c13.12,-18.98 20.4,-40.8 20.4,-62.67 0,-5.96 -0.39,-11.11 -1.15,-15.67 -1.58,-9.43 -5.7,-16.13 -10,-23.2 -5.8,-9.55 -11.78,-19.41 -11.78,-35.55 0,-17.18 8.51,-31 22.22,-36.06 14.5,-5.36 30.73,0.3 43.42,15.15a5.75,5.75 0,0 1,-1.11 8.48c-2.45,1.7 -5.83,1.08 -7.78,-1.18 -9.4,-10.9 -20.8,-15.25 -30.54,-11.66 -9.07,3.35 -14.7,13.04 -14.7,25.27 0,12.92 4.68,20.64 10.1,29.57 4.35,7.15 9.24,15.2 11.38,26.34 47.54,-15.23 63.78,-64.66 37.16,-92.26ZM136.2,287.3l-35.77,2.29 -0.42,0.01a6.4,6.4 0,0 1,-0.4 -12.77l35.78,-2.29a6.4,6.4 0,0 1,0.81 12.76ZM145.18,264.37a6.4,6.4 0,0 1,-8.3 3.6l-21.41,-8.44a6.4,6.4 0,1 1,4.69 -11.9l21.42,8.45a6.4,6.4 0,0 1,3.6 8.3ZM154.18,217.3a10.9,10.9 0,0 0,-9.79 11.89,7.67 7.67,0 1,1 -15.27,1.48 26.25,26.25 0,0 1,23.57 -28.64,26.25 26.25,0 0,1 28.64,23.57 7.67,7.67 0,0 1,-15.27 1.48,10.9 10.9,0 0,0 -11.89,-9.78ZM192,310.71a24.95,24.95 0,1 1,0 -49.9,24.95 24.95,0 0,1 0,49.9ZM229.82,217.31a10.9,10.9 0,0 0,-11.89 9.77,7.67 7.67,0 0,1 -15.27,-1.48 26.25,26.25 0,0 1,28.64 -23.57,26.25 26.25,0 0,1 23.57,28.64 7.67,7.67 0,1 1,-15.27 -1.48,10.9 10.9,0 0,0 -9.78,-11.89ZM238.82,264.37a6.4,6.4 0,0 1,3.6 -8.29l21.41,-8.44a6.4,6.4 0,0 1,4.7 11.9l-21.43,8.43a6.38,6.38 0,0 1,-8.29 -3.6ZM284.38,276.83a6.4,6.4 0,1 1,-0.82 12.76l-35.77,-2.3a6.4,6.4 0,1 1,0.81 -12.75l35.78,2.29Z"
android:strokeWidth="0"/>
</group>
</vector>
5 changes: 0 additions & 5 deletions android/app/src/main/res/mipmap-anydpi-v26/galactic_round.xml

This file was deleted.

1 change: 1 addition & 0 deletions android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

This file was deleted.

5 changes: 0 additions & 5 deletions android/app/src/main/res/mipmap-anydpi-v26/original_round.xml

This file was deleted.

1 change: 1 addition & 0 deletions android/app/src/main/res/mipmap-anydpi-v26/planetary.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/planetary_background"/>
<foreground android:drawable="@mipmap/planetary_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

This file was deleted.

5 changes: 0 additions & 5 deletions android/app/src/main/res/mipmap-anydpi-v26/psych_round.xml

This file was deleted.

5 changes: 0 additions & 5 deletions android/app/src/main/res/mipmap-anydpi-v26/space_round.xml

This file was deleted.

Loading

0 comments on commit 2b0e033

Please sign in to comment.