Compare commits
76 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a04fd95ed | ||
|
|
e3a21d2817 | ||
|
|
50714fa603 | ||
|
|
fe3d41af57 | ||
|
|
1304ae327d | ||
|
|
aeb80fcf08 | ||
|
|
a44ec79b3d | ||
|
|
a15d09b455 | ||
|
|
3aa2cc974c | ||
|
|
605002f5bd | ||
|
|
2f94c42da1 | ||
|
|
b65af75075 | ||
|
|
4b149b58d0 | ||
|
|
5ce12795e7 | ||
|
|
0f4ac9a893 | ||
|
|
4e243d6f30 | ||
|
|
568c28cd92 | ||
|
|
3500d83477 | ||
|
|
b515a0d14e | ||
|
|
6a2e7d83f3 | ||
|
|
f1a82c06aa | ||
|
|
c5eace4352 | ||
|
|
781727abba | ||
|
|
7c8e17e59f | ||
|
|
074e8fa756 | ||
|
|
228cc4140f | ||
|
|
3f6d138b8d | ||
|
|
ac560ba655 | ||
|
|
c0403d7333 | ||
|
|
e591f93791 | ||
|
|
96abd83d98 | ||
|
|
28b9037ca5 | ||
|
|
3b2bb794c9 | ||
|
|
596eab4bad | ||
|
|
fa01702362 | ||
|
|
76525b201e | ||
|
|
26314ca5a5 | ||
|
|
2f04edebfb | ||
|
|
c53d83b22f | ||
|
|
aca5d0eb82 | ||
|
|
26a35aadb1 | ||
|
|
8888795f27 | ||
|
|
5cf1a06cec | ||
|
|
47ff2628a2 | ||
|
|
94488e2df8 | ||
|
|
4e3dfbf794 | ||
|
|
6de806316e | ||
|
|
b98a0f8046 | ||
|
|
449df1d104 | ||
|
|
268b5e3693 | ||
|
|
8042c0475e | ||
|
|
6241ee4629 | ||
|
|
d612ae221c | ||
|
|
f1b831a118 | ||
|
|
0b59b7202d | ||
|
|
d86a5a0c72 | ||
|
|
7a6c9772f3 | ||
|
|
b22b87b6d8 | ||
|
|
d4774b0542 | ||
|
|
e6d7e50a45 | ||
|
|
7ba4b2f018 | ||
|
|
4c99ecf927 | ||
|
|
edb645f887 | ||
|
|
d688fe84ef | ||
|
|
c46924c996 | ||
|
|
56f26e701e | ||
|
|
968fe9cbbc | ||
|
|
19f7ecf885 | ||
|
|
3f10675422 | ||
|
|
746bcc5ac9 | ||
|
|
721c1c957e | ||
|
|
0e09821842 | ||
|
|
607ac4391a | ||
|
|
b1d01e02ca | ||
|
|
3858de8d65 | ||
|
|
a390a80ef1 |
@@ -2,7 +2,6 @@
|
||||
.dart_tool/
|
||||
android/
|
||||
build/
|
||||
docs/
|
||||
ios/
|
||||
linux/
|
||||
localization/
|
||||
|
||||
66
.github/actions/prepare_for_build/action.yml
vendored
@@ -1,50 +1,50 @@
|
||||
name: 'Prepare for Build'
|
||||
description: 'Setup all required dependencies and secrets for building the given platform'
|
||||
name: "Prepare for Build"
|
||||
description: "Setup all required dependencies and secrets for building the given platform"
|
||||
|
||||
inputs:
|
||||
platform:
|
||||
description: 'Platform to be Built'
|
||||
description: "Platform to be Built"
|
||||
required: true
|
||||
|
||||
# Config
|
||||
firebase-token:
|
||||
description: 'Firebase Token'
|
||||
description: "Firebase Token"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
skip-core:
|
||||
description: 'Skip Installing Core Files'
|
||||
description: "Skip Installing Core Files"
|
||||
required: false
|
||||
default: 'false'
|
||||
default: "false"
|
||||
|
||||
# Secret Keys
|
||||
android-key-jks:
|
||||
description: 'Android Signing Key'
|
||||
description: "Android Signing Key"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
android-key-properties:
|
||||
description: 'Android Signing Key Properties'
|
||||
description: "Android Signing Key Properties"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
appstore-connect-key:
|
||||
description: 'App Store Connect API Key'
|
||||
description: "App Store Connect API Key"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
code-signing-certificate:
|
||||
description: 'Code Signing Certificate'
|
||||
description: "Code Signing Certificate"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
firebase-service-worker:
|
||||
description: 'Firebase Service Worker'
|
||||
description: "Firebase Service Worker"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
google-play-key:
|
||||
description: 'Google Play Store API Key'
|
||||
description: "Google Play Store API Key"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
match-ssh-private-key:
|
||||
description: 'Fastlane Match SSH Key'
|
||||
description: "Fastlane Match SSH Key"
|
||||
required: false
|
||||
default: ''
|
||||
default: ""
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
@@ -53,7 +53,7 @@ runs:
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
- name: Prepare Core
|
||||
if: ${{ inputs.skip-core == 'false' }}
|
||||
uses: actions/download-artifact@v3
|
||||
@@ -69,14 +69,13 @@ runs:
|
||||
- name: Install Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: '3.3.7'
|
||||
channel: stable
|
||||
cache: true
|
||||
cache-key: ${{ github.sha }}
|
||||
|
||||
- name: Install Java
|
||||
if: ${{ inputs.platform == 'android' }}
|
||||
uses: actions/setup-java@v2
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: zulu
|
||||
java-version: 11
|
||||
@@ -100,11 +99,11 @@ runs:
|
||||
|
||||
- name: Setup Docker
|
||||
if: ${{ inputs.platform == 'web' }}
|
||||
uses: docker/setup-buildx-action@v1
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Setup Match SSH Keys
|
||||
- name: Setup Match SSH Keys
|
||||
if: ${{ inputs.platform == 'ios' || inputs.platform == 'macos' }}
|
||||
uses: webfactory/ssh-agent@v0.5.4
|
||||
uses: webfactory/ssh-agent@v0.6.0
|
||||
with:
|
||||
ssh-private-key: ${{ inputs.match-ssh-private-key }}
|
||||
|
||||
@@ -121,10 +120,11 @@ runs:
|
||||
if: ${{ inputs.firebase-token != '' }}
|
||||
shell: bash
|
||||
run: |
|
||||
npm install -g firebase-tools
|
||||
gem install --user-install xcodeproj
|
||||
dart pub global activate flutterfire_cli
|
||||
npm install -g firebase-tools
|
||||
firebase --version
|
||||
|
||||
dart pub global activate flutterfire_cli 0.3.0-dev.16
|
||||
flutterfire configure \
|
||||
--project=comettools-lunasea \
|
||||
--token=${{ inputs.firebase-token }} \
|
||||
@@ -132,6 +132,9 @@ runs:
|
||||
--android-package-name=app.lunasea.lunasea \
|
||||
--ios-bundle-id=app.lunasea.lunasea \
|
||||
--macos-bundle-id=app.lunasea.lunasea \
|
||||
--web-app-id=1:511093487055:web:37d2f8e4c960708add8eba \
|
||||
--no-debug-symbols-ios \
|
||||
--no-debug-symbols-macos \
|
||||
--out=lib/firebase/options.dart \
|
||||
--yes
|
||||
|
||||
@@ -151,12 +154,15 @@ runs:
|
||||
shell: bash
|
||||
run: |
|
||||
(cd ios && bundle install)
|
||||
|
||||
|
||||
- name: Setup Linux Platform
|
||||
if: ${{ inputs.platform == 'linux' }}
|
||||
shell: bash
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
sudo iptables -P FORWARD ACCEPT
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
|
||||
|
||||
- name: Setup macOS Platform
|
||||
if: ${{ inputs.platform == 'macos' }}
|
||||
|
||||
@@ -52,11 +52,11 @@ runs:
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
if: ${{ inputs.channel == 'docker' }}
|
||||
uses: docker/setup-buildx-action@v1
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Setup GitHub Package Registry
|
||||
if: ${{ inputs.channel == 'docker' }}
|
||||
uses: docker/login-action@v1
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ inputs.ghcr-actor }}
|
||||
|
||||
41
.github/workflows/build.yml
vendored
@@ -1,4 +1,5 @@
|
||||
name: Build
|
||||
run-name: "Build Release: ${{ inputs.flavor || github.sha }}"
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -14,7 +15,6 @@ on:
|
||||
options:
|
||||
- edge
|
||||
- beta
|
||||
- candidate
|
||||
- stable
|
||||
|
||||
jobs:
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
|
||||
build-android:
|
||||
name: Build Android
|
||||
needs: [ prepare ]
|
||||
needs: [prepare]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_android.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
|
||||
build-ios:
|
||||
name: Build iOS
|
||||
needs: [ prepare ]
|
||||
needs: [prepare]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_ios.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -57,12 +57,15 @@ jobs:
|
||||
|
||||
build-linux:
|
||||
name: Build Linux
|
||||
needs: [ prepare ]
|
||||
needs: [prepare]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_linux.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
build-version: ${{ needs.prepare.outputs.build-version }}
|
||||
|
||||
build-macos:
|
||||
name: Build macOS
|
||||
needs: [ prepare ]
|
||||
needs: [prepare]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_macos.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -84,7 +87,7 @@ jobs:
|
||||
|
||||
build-web:
|
||||
name: Build Web
|
||||
needs: [ prepare ]
|
||||
needs: [prepare]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_web.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -95,7 +98,7 @@ jobs:
|
||||
|
||||
build-windows:
|
||||
name: Build Windows
|
||||
needs: [ prepare ]
|
||||
needs: [prepare]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_windows.yml@master
|
||||
secrets:
|
||||
CODE_SIGNING_CERTIFICATE: ${{ secrets.CODE_SIGNING_CERTIFICATE }}
|
||||
@@ -105,7 +108,7 @@ jobs:
|
||||
|
||||
publish-android:
|
||||
name: Publish Android
|
||||
needs: [ prepare, build-android ]
|
||||
needs: [prepare, build-android]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish_android.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -116,7 +119,7 @@ jobs:
|
||||
|
||||
publish-ios:
|
||||
name: Publish iOS
|
||||
needs: [ prepare, build-ios ]
|
||||
needs: [prepare, build-ios]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish_ios.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -131,7 +134,7 @@ jobs:
|
||||
|
||||
publish-linux:
|
||||
name: Publish Linux
|
||||
needs: [ prepare, build-linux ]
|
||||
needs: [prepare, build-linux]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish_linux.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -140,7 +143,7 @@ jobs:
|
||||
|
||||
publish-macos:
|
||||
name: Publish macOS
|
||||
needs: [ prepare, build-macos ]
|
||||
needs: [prepare, build-macos]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish_macos.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -155,7 +158,7 @@ jobs:
|
||||
|
||||
publish-web:
|
||||
name: Publish Web
|
||||
needs: [ prepare, build-web ]
|
||||
needs: [prepare, build-web]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish_web.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -165,7 +168,16 @@ jobs:
|
||||
|
||||
publish-s3:
|
||||
name: Publish S3
|
||||
needs: [ prepare, build-android, build-ios, build-linux, build-macos, build-web, build-windows ]
|
||||
needs:
|
||||
[
|
||||
prepare,
|
||||
build-android,
|
||||
build-ios,
|
||||
build-linux,
|
||||
build-macos,
|
||||
build-web,
|
||||
build-windows,
|
||||
]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish_s3.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -180,7 +192,7 @@ jobs:
|
||||
|
||||
notify:
|
||||
name: Notify
|
||||
needs: [ prepare, publish-s3 ]
|
||||
needs: [prepare, publish-s3]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/notify.yml@master
|
||||
with:
|
||||
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
|
||||
@@ -188,5 +200,4 @@ jobs:
|
||||
secrets:
|
||||
DISCORD_WEBHOOK_EDGE: ${{ secrets.DISCORD_WEBHOOK_EDGE }}
|
||||
DISCORD_WEBHOOK_BETA: ${{ secrets.DISCORD_WEBHOOK_BETA }}
|
||||
DISCORD_WEBHOOK_CANDIDATE: ${{ secrets.DISCORD_WEBHOOK_CANDIDATE }}
|
||||
DISCORD_WEBHOOK_STABLE: ${{ secrets.DISCORD_WEBHOOK_STABLE }}
|
||||
|
||||
6
.github/workflows/build_android.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: 'Build Android'
|
||||
name: "Build Android"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: android
|
||||
android-key-jks: ${{ secrets.KEY_JKS }}
|
||||
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
|
||||
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/android
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: android
|
||||
android-key-jks: ${{ secrets.KEY_JKS }}
|
||||
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
|
||||
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/android
|
||||
|
||||
6
.github/workflows/build_ios.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: 'Build iOS'
|
||||
name: "Build iOS"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: ios
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/ios
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
||||
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
||||
run: bundle exec fastlane build_appstore build_number:${{ inputs.build-number }}
|
||||
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
|
||||
57
.github/workflows/build_linux.yml
vendored
@@ -1,9 +1,58 @@
|
||||
name: 'Build Linux'
|
||||
name: "Build Linux"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
inputs:
|
||||
build-number:
|
||||
required: true
|
||||
type: string
|
||||
build-version:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
build-debian:
|
||||
name: Debian Archive
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
platform: linux
|
||||
|
||||
- name: Build LunaSea
|
||||
run: flutter build linux
|
||||
|
||||
- name: Prepare Artifact
|
||||
run: dart ${{github.workspace }}/scripts/generate_debian.dart "${{ inputs.build-version }}+${{ inputs.build-number }}"
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-debian
|
||||
path: ${{ github.workspace }}/output
|
||||
|
||||
build-tarball:
|
||||
name: Tarball Archive
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
platform: linux
|
||||
|
||||
- name: Build LunaSea
|
||||
run: flutter build linux
|
||||
|
||||
- name: Prepare Artifact
|
||||
run: tar czf output/lunasea-linux-amd64.tar.gz -C build/linux/x64/release/bundle/ .
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: linux-tarball
|
||||
path: ${{ github.workspace }}/output
|
||||
|
||||
build-snapcraft:
|
||||
name: Snapcraft
|
||||
runs-on: ubuntu-latest
|
||||
@@ -12,11 +61,11 @@ jobs:
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
platform: linux
|
||||
|
||||
|
||||
- name: Build LunaSea
|
||||
uses: snapcore/action-build@v1
|
||||
id: build
|
||||
|
||||
|
||||
- name: Prepare Artifact
|
||||
run: mv ${{ steps.build.outputs.snap }} ${{ github.workspace }}/output/lunasea-linux-amd64.snap
|
||||
|
||||
|
||||
6
.github/workflows/build_macos.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: 'Build macOS'
|
||||
name: "Build macOS"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: macos
|
||||
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/macos
|
||||
@@ -82,7 +82,7 @@ jobs:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: macos
|
||||
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/macos
|
||||
|
||||
4
.github/workflows/build_web.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: 'Build Web'
|
||||
name: "Build Web"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@@ -87,7 +87,7 @@ jobs:
|
||||
return tags.map((tag) => `ghcr.io/jagandeepbrar/lunasea:${tag}`).join(',');
|
||||
|
||||
- name: Build LunaSea
|
||||
uses: docker/build-push-action@v2
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
outputs: type=docker,dest=${{ github.workspace}}/output/lunasea-web-docker.tar
|
||||
|
||||
4
.github/workflows/build_windows.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: 'Build Windows'
|
||||
name: "Build Windows"
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
|
||||
- name: Prepare Artifact
|
||||
run: Compress-Archive -path ${{ github.workspace }}\build\windows\runner\Release\* ${{github.workspace}}\output\lunasea-windows-amd64.zip
|
||||
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
|
||||
10
.github/workflows/github_issue_labels.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: 'GitHub Issue Labels'
|
||||
name: "GitHub Issue Labels"
|
||||
|
||||
on:
|
||||
issues:
|
||||
@@ -12,7 +12,7 @@ jobs:
|
||||
uses: dessant/support-requests@v2
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
support-label: 'feature request'
|
||||
support-label: "feature request"
|
||||
issue-comment: >
|
||||
Hi @{issue-author}! We use the issue tracker exclusively
|
||||
for bug reports and issues. However, this issue appears
|
||||
@@ -20,13 +20,13 @@ jobs:
|
||||
to request new features.
|
||||
close-issue: true
|
||||
lock-issue: true
|
||||
issue-lock-reason: 'off-topic'
|
||||
issue-lock-reason: "off-topic"
|
||||
|
||||
- name: Support
|
||||
uses: dessant/support-requests@v2
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
support-label: 'support'
|
||||
support-label: "support"
|
||||
issue-comment: >
|
||||
Hi @{issue-author}! We use the issue tracker exclusively
|
||||
for bug reports and issues. However, this issue appears
|
||||
@@ -39,4 +39,4 @@ jobs:
|
||||
- [Subreddit](https://www.lunasea.app/reddit)
|
||||
close-issue: true
|
||||
lock-issue: true
|
||||
issue-lock-reason: 'off-topic'
|
||||
issue-lock-reason: "off-topic"
|
||||
|
||||
6
.github/workflows/notify.yml
vendored
@@ -15,8 +15,6 @@ on:
|
||||
required: true
|
||||
DISCORD_WEBHOOK_BETA:
|
||||
required: true
|
||||
DISCORD_WEBHOOK_CANDIDATE:
|
||||
required: true
|
||||
DISCORD_WEBHOOK_STABLE:
|
||||
required: true
|
||||
|
||||
@@ -36,7 +34,6 @@ jobs:
|
||||
env:
|
||||
DISCORD_WEBHOOK_EDGE: ${{ secrets.DISCORD_WEBHOOK_EDGE }}
|
||||
DISCORD_WEBHOOK_BETA: ${{ secrets.DISCORD_WEBHOOK_BETA }}
|
||||
DISCORD_WEBHOOK_CANDIDATE: ${{ secrets.DISCORD_WEBHOOK_CANDIDATE }}
|
||||
DISCORD_WEBHOOK_STABLE: ${{ secrets.DISCORD_WEBHOOK_STABLE }}
|
||||
BUILD_FLAVOR: ${{ inputs.build-flavor }}
|
||||
with:
|
||||
@@ -44,7 +41,6 @@ jobs:
|
||||
script: |
|
||||
switch (process.env.BUILD_FLAVOR) {
|
||||
case 'beta': return process.env.DISCORD_WEBHOOK_BETA;
|
||||
case 'candidate': return process.env.DISCORD_WEBHOOK_CANDIDATE;
|
||||
case 'stable': return process.env.DISCORD_WEBHOOK_STABLE;
|
||||
case 'edge':
|
||||
default: return process.env.DISCORD_WEBHOOK_EDGE;
|
||||
@@ -58,7 +54,7 @@ jobs:
|
||||
BUILD_TITLE: ${{ inputs.build-title }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: return require('.github/scripts/notify-embed.js')();
|
||||
script: return require('.github/scripts/notify_discord_embed.js')();
|
||||
|
||||
- name: Send Discord Message
|
||||
uses: Ilshidur/action-discord@0.3.2
|
||||
|
||||
11
.github/workflows/prepare.yml
vendored
@@ -50,8 +50,8 @@ jobs:
|
||||
id: commit-count
|
||||
run: |
|
||||
COUNT=`git rev-list HEAD --count`
|
||||
echo "::set-output name=commit-count::$COUNT"
|
||||
|
||||
echo "commit-count=$COUNT" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build Flavor
|
||||
id: build-flavor
|
||||
uses: actions/github-script@v6
|
||||
@@ -64,7 +64,6 @@ jobs:
|
||||
if (flavor) switch (flavor) {
|
||||
case 'edge':
|
||||
case 'beta':
|
||||
case 'candidate':
|
||||
case 'stable':
|
||||
return flavor;
|
||||
}
|
||||
@@ -93,14 +92,14 @@ jobs:
|
||||
|
||||
- name: Build Version
|
||||
id: build-version
|
||||
uses: martinbeentjes/npm-get-version-action@v1.1.0
|
||||
uses: martinbeentjes/npm-get-version-action@main
|
||||
|
||||
- name: Build Title
|
||||
id: build-title
|
||||
run: |
|
||||
HASH=`git rev-parse --short ${{ github.sha }}`
|
||||
TITLE="v${{ steps.build-version.outputs.current-version }}-${{ steps.build-flavor.outputs.result }}-${{ steps.build-number.outputs.result }}-$HASH"
|
||||
echo "::set-output name=output::$TITLE"
|
||||
echo "output=$TITLE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Log Build Details
|
||||
env:
|
||||
@@ -135,7 +134,7 @@ jobs:
|
||||
export BUILD=${{ needs.build-details.outputs.build-number }}
|
||||
export SENTRY_DSN=${{ secrets.SENTRY_DSN }}
|
||||
flutter packages pub run environment_config:generate
|
||||
|
||||
|
||||
- name: Generate Localization
|
||||
run: dart ${{github.workspace }}/scripts/generate_localization.dart
|
||||
|
||||
|
||||
7
.github/workflows/publish_android.yml
vendored
@@ -44,11 +44,10 @@ jobs:
|
||||
script: |
|
||||
const ref = process.env.FLAVOR || 'edge';
|
||||
switch (ref) {
|
||||
case 'beta': return 'alpha';
|
||||
case 'candidate': return 'beta';
|
||||
case 'beta': return 'beta';
|
||||
case 'stable': return 'production';
|
||||
case 'edge':
|
||||
default: return 'internal';
|
||||
default: return 'alpha';
|
||||
}
|
||||
|
||||
- name: Generate Changelog
|
||||
@@ -58,7 +57,7 @@ jobs:
|
||||
run: |
|
||||
mkdir -p $OUTPUT_PATH
|
||||
echo $MOTD > $OUTPUT_PATH/default.txt
|
||||
|
||||
|
||||
- name: Deploy to Google Play Store
|
||||
working-directory: ${{ github.workspace }}/android
|
||||
env:
|
||||
|
||||
16
.github/workflows/publish_s3.yml
vendored
@@ -47,6 +47,18 @@ jobs:
|
||||
name: ios-appstore-package
|
||||
path: ${{ github.workspace }}/output
|
||||
|
||||
- name: Download Linux Debian
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-debian
|
||||
path: ${{ github.workspace }}/output
|
||||
|
||||
- name: Download Linux Tarball
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: linux-tarball
|
||||
path: ${{ github.workspace }}/output
|
||||
|
||||
- name: Download Linux Snap
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
@@ -97,7 +109,7 @@ jobs:
|
||||
- name: Upload to S3 Bucket (Build Title)
|
||||
uses: jakejarvis/s3-sync-action@v0.5.1
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks
|
||||
args: --acl public-read --follow-symlinks
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
|
||||
@@ -110,7 +122,7 @@ jobs:
|
||||
- name: Upload to S3 Bucket (Latest)
|
||||
uses: jakejarvis/s3-sync-action@v0.5.1
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks
|
||||
args: --acl public-read --follow-symlinks
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
|
||||
|
||||
1
.github/workflows/publish_web.yml
vendored
@@ -64,7 +64,6 @@ jobs:
|
||||
const ref = process.env.FLAVOR || 'edge';
|
||||
switch (ref) {
|
||||
case 'beta': return '11ef2676-fc31-41b5-897b-fd21273d87ed';
|
||||
case 'candidate': return '4636e6a1-17ef-45a2-a2b6-3d1c166fd1df';
|
||||
case 'stable': return '6634f0b1-323c-4a2f-bd0b-8f1f388673a9';
|
||||
case 'edge':
|
||||
default: return '325e197e-55f4-449a-b2bb-6831fe47bf2a';
|
||||
|
||||
5
.gitignore
vendored
@@ -32,7 +32,6 @@
|
||||
*.g.dart
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
# Exceptions to above rules.
|
||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
||||
@@ -83,4 +82,8 @@ output/
|
||||
*.ipa
|
||||
*.dmg
|
||||
*.pkg
|
||||
|
||||
# Linux Artifacts
|
||||
debian/DEBIAN/md5sums
|
||||
debian/usr/share/lunasea
|
||||
*.snap
|
||||
|
||||
62
CHANGELOG.md
@@ -2,6 +2,68 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
### [10.2.4](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.3...v10.2.4) (2023-04-09)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **settings:** add direct link to documentation for service notifications ([0f4ac9a](https://github.com/JagandeepBrar/LunaSea/commit/0f4ac9a893d5b13a732db49e0bfc7b09fe7c05d9))
|
||||
* **settings:** replace all strings with localizable strings ([5ce1279](https://github.com/JagandeepBrar/LunaSea/commit/5ce12795e7223a543bd037151b1a3eaa484f2634))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **images:** utilize new technique to persistently cache images ([f1a82c0](https://github.com/JagandeepBrar/LunaSea/commit/f1a82c06aa58fe493af2b2b0bf9ef8a93011802b))
|
||||
* **routing:** handle pushing route which may return data ([3500d83](https://github.com/JagandeepBrar/LunaSea/commit/3500d83477880b8ee490132bc270e632af4a4bb1))
|
||||
* **uiux:** remove fading edge on horizontal scrollviews ([781727a](https://github.com/JagandeepBrar/LunaSea/commit/781727abbab0dc70d959c723c3d101e66430ac60))
|
||||
|
||||
|
||||
### Tweaks
|
||||
|
||||
* **flavors:** remove candidate flavor and merge with beta ([fe3d41a](https://github.com/JagandeepBrar/LunaSea/commit/fe3d41af57717b994e71370968404fc05f20f72b))
|
||||
* remove cupertino_icons and email_validator packages ([605002f](https://github.com/JagandeepBrar/LunaSea/commit/605002f5bd4b015791d3d1f260e03b4127c5020d))
|
||||
* remove riverpod state management ([2f94c42](https://github.com/JagandeepBrar/LunaSea/commit/2f94c42da1a97847be4a77e79d096eb0212a9657))
|
||||
|
||||
### [10.2.3](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.2...v10.2.3) (2023-03-22)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **flutter:** replace Skia with Impeller rendering engine ([6241ee4](https://github.com/JagandeepBrar/LunaSea/commit/6241ee462989f1f65fa8f1e18378579e2e77197b))
|
||||
* **flutter:** upgrade to Flutter 3.7/b06b8b2710 ([f1b831a](https://github.com/JagandeepBrar/LunaSea/commit/f1b831a118e56c480aae72042ee4eb7013f954b2))
|
||||
* **tautulli:** add ability to open media in Plex ([5cf1a06](https://github.com/JagandeepBrar/LunaSea/commit/5cf1a06cec079aa66c77425c0ed8d4fa7897bbd3))
|
||||
* **tautulli:** display audio language, subtitle language, and video dynamic range for activity ([6de8063](https://github.com/JagandeepBrar/LunaSea/commit/6de806316efaa61c5ddbac1b8f5b214949f0bcf8))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **http:** correctly set content type for POST requests ([aca5d0e](https://github.com/JagandeepBrar/LunaSea/commit/aca5d0eb826b38ebeec33e3495045bf21e8a49c7))
|
||||
* **links:** use platform default method to laucnh URLs ([596eab4](https://github.com/JagandeepBrar/LunaSea/commit/596eab4bad1aa183e3c0dfc8d20a32c15ecdb78d))
|
||||
* **macos:** set minimum platform version to 10.15 ([d612ae2](https://github.com/JagandeepBrar/LunaSea/commit/d612ae221cac741b3a36893d4bc7f05f5055c7b8))
|
||||
* **uiux:** update bottom modal sheet package to support Flutter 3.7 ([8042c04](https://github.com/JagandeepBrar/LunaSea/commit/8042c0475ecff05d9337842eef7cfe4117d05528))
|
||||
|
||||
### [10.2.2](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.1...v10.2.2) (2022-12-22)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **android:** add option to disable back action to open drawer ([d4774b0](https://github.com/JagandeepBrar/LunaSea/commit/d4774b054204546490ef9f78090e28303eefc1fc))
|
||||
* **linux:** include MD5 sums in Debian distributions ([c46924c](https://github.com/JagandeepBrar/LunaSea/commit/c46924c99645a2d9c27e2d3532d30ecf93882e2a))
|
||||
* **linux:** publish Linux builds as Debian archive (.deb) ([b1d01e0](https://github.com/JagandeepBrar/LunaSea/commit/b1d01e02ca4cdb8a2775700930ada2d1d40a1031))
|
||||
* **linux:** publish Linux builds as tarball (.tar.gz) ([a390a80](https://github.com/JagandeepBrar/LunaSea/commit/a390a80ef1897d4c95812045a3472527ff38fd49))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **calendar:** scroll to last past date with content when selected date has no content ([3f10675](https://github.com/JagandeepBrar/LunaSea/commit/3f10675422b9a32c43f4f49c16b6e9723f267f50))
|
||||
* **linux:** install binaries to /usr/share instead of /usr/local/lib ([edb645f](https://github.com/JagandeepBrar/LunaSea/commit/edb645f8871d8f3a59c122191e8d8219e9957924))
|
||||
* **tautulli:** cached or downloaded activity sessions could not be opened ([4c99ecf](https://github.com/JagandeepBrar/LunaSea/commit/4c99ecf927e21538f875bb7ee93fc7aaf20de479))
|
||||
|
||||
|
||||
### Tweaks
|
||||
|
||||
* **uiux:** disable horizontal swiping/scrolling between pages ([968fe9c](https://github.com/JagandeepBrar/LunaSea/commit/968fe9cbbc4aff3ae584682e462defbf09ea5699))
|
||||
|
||||
### [10.2.1](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.0...v10.2.1) (2022-11-06)
|
||||
|
||||
|
||||
|
||||
@@ -52,5 +52,5 @@ Interested in using prerelease build channels of LunaSea? Learn the differences
|
||||
|
||||
Thank you to all tools and services for offering free subscriptions for open-source projects!
|
||||
|
||||
- [docs.page](https://docs.page/): docs.page is used to host LunaSea's documentation
|
||||
- [Gitbook](https://www.gitbook.com): Gitbook is used to host LunaSea's documentation
|
||||
- [Weblate](https://weblate.org): Weblate is used to gather community localization for LunaSea
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.5)
|
||||
CFPropertyList (3.0.6)
|
||||
rexml
|
||||
addressable (2.8.1)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.655.0)
|
||||
aws-sdk-core (3.166.0)
|
||||
aws-partitions (1.731.0)
|
||||
aws-sdk-core (3.170.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.59.0)
|
||||
aws-sdk-kms (1.63.0)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.117.1)
|
||||
aws-sdk-s3 (1.119.1)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
@@ -36,8 +36,8 @@ GEM
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.93.1)
|
||||
faraday (1.10.2)
|
||||
excon (0.99.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@@ -66,7 +66,7 @@ GEM
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.6)
|
||||
fastlane (2.210.1)
|
||||
fastlane (2.212.1)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -106,9 +106,9 @@ GEM
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.30.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-core (0.9.1)
|
||||
google-apis-androidpublisher_v3 (0.37.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
@@ -117,10 +117,10 @@ GEM
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.16.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.12.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
google-apis-core (>= 0.9.0, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
@@ -128,7 +128,7 @@ GEM
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.44.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
@@ -148,11 +148,11 @@ GEM
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.1)
|
||||
json (2.6.2)
|
||||
jwt (2.5.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
jwt (2.7.0)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.11.0)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.2)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.0.0)
|
||||
@@ -160,8 +160,8 @@ GEM
|
||||
naturally (2.2.1)
|
||||
optparse (0.1.1)
|
||||
os (1.1.4)
|
||||
plist (3.6.0)
|
||||
public_suffix (5.0.0)
|
||||
plist (3.7.0)
|
||||
public_suffix (5.0.1)
|
||||
rake (13.0.6)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
@@ -178,7 +178,7 @@ GEM
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.8)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
@@ -194,7 +194,7 @@ GEM
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.7.0)
|
||||
webrick (1.8.1)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.22.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="app.lunasea.lunasea">
|
||||
<application tools:replace="android:label" android:label="LunaSea Dev"></application>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<queries>
|
||||
<package android:name="com.plexapp.android" />
|
||||
</queries>
|
||||
</manifest>
|
||||
|
||||
@@ -40,4 +40,7 @@
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<queries>
|
||||
<package android:name="com.plexapp.android" />
|
||||
</queries>
|
||||
</manifest>
|
||||
|
||||
@@ -8,4 +8,7 @@
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<queries>
|
||||
<package android:name="com.plexapp.android" />
|
||||
</queries>
|
||||
</manifest>
|
||||
|
||||
@@ -8,7 +8,6 @@ platform :android do
|
||||
"build",
|
||||
"appbundle",
|
||||
"--release",
|
||||
"--bundle-sksl-path=shaders/android_sksl.json",
|
||||
"--build-number=#{options[:build_number]}",
|
||||
)
|
||||
|
||||
@@ -23,7 +22,6 @@ platform :android do
|
||||
"build",
|
||||
"apk",
|
||||
"--release",
|
||||
"--bundle-sksl-path=shaders/android_sksl.json",
|
||||
"--build-number=#{options[:build_number]}",
|
||||
)
|
||||
|
||||
@@ -38,6 +36,7 @@ platform :android do
|
||||
skip_upload_metadata: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
timeout: 600,
|
||||
track: options[:track],
|
||||
version_name: options[:version_name],
|
||||
)
|
||||
|
||||
@@ -1,110 +1,46 @@
|
||||
{
|
||||
"motd": "Welcome to LunaSea v10.2.1!\n\nThis release adds some nice quality of life changes including the ability to set your boot module, automatic scrolling to the selected date in the calendar, and support for filesystem actions on web!\n\nThis build also includes some additional Android 13 fixes and other miscellaneous fixes and tweaks!",
|
||||
"motd": "Welcome to LunaSea v10.2.4!\n\nThis update fixes some small underlying issues with network image caching and text rendering. To further improve scrolling performance of large lists of content (especially on lower-end devices), the horizontal fading edge of scrollable text has been removed.\n\nFor testers of pre-release builds, beta and candidate release channels have now been combined for simplicity. For more information on early release channels, check out the page in the documentation (a direct link is available in the Resources section of the settings).",
|
||||
"feat": {
|
||||
"dashboard": [
|
||||
"settings": [
|
||||
{
|
||||
"commit": "3ac2c5d791f94208a4004d161bb046c24b698345",
|
||||
"message": "(calendar) always show previous days in schedule view"
|
||||
"commit": "0f4ac9a893d5b13a732db49e0bfc7b09fe7c05d9",
|
||||
"message": "add direct link to documentation for service notifications"
|
||||
},
|
||||
{
|
||||
"commit": "f1226e563899cfc0950865a9734448d4e00601b9",
|
||||
"message": "(calendar) scroll to selected date when loading the schedule view"
|
||||
}
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
"commit": "3dd087e361619889057a0b037b1eef35157a0988",
|
||||
"message": "ability to set the boot module"
|
||||
}
|
||||
],
|
||||
"-arr": [
|
||||
{
|
||||
"commit": "bccd1a43c42b349901137f8fc605f393b51d541a",
|
||||
"message": "(releases) button to open indexer information page"
|
||||
}
|
||||
],
|
||||
"lidarr": [
|
||||
{
|
||||
"commit": "c76418d26f1a5f52f5cb1e46951f1cf6726508c2",
|
||||
"message": "(links) add MusicBrainz"
|
||||
}
|
||||
],
|
||||
"radarr": [
|
||||
{
|
||||
"commit": "c9bd02b75086579f60ad8987c42ab217c12f6d43",
|
||||
"message": "(edit) support moving files when editing the storage path"
|
||||
}
|
||||
],
|
||||
"web": [
|
||||
{
|
||||
"commit": "7d437d5c3a34a8681c372570fc366e869f0b2090",
|
||||
"message": "(filesystem) support local filesystem read/save actions"
|
||||
}
|
||||
],
|
||||
"system": [
|
||||
{
|
||||
"commit": "c062b3d786e55bc3ba7fe767dd946d73efbef64f",
|
||||
"message": "launch recovery mode on bootstrap failure"
|
||||
},
|
||||
{
|
||||
"commit": "125596498ec9839e584912185ddc5b625602a701",
|
||||
"message": "(locale) translations update from Weblate"
|
||||
"commit": "5ce12795e7223a543bd037151b1a3eaa484f2634",
|
||||
"message": "replace all strings with localizable strings"
|
||||
}
|
||||
]
|
||||
},
|
||||
"fix": {
|
||||
"firebase": [
|
||||
"images": [
|
||||
{
|
||||
"commit": "38f2eb4cb2a8e400ce2ecb0b6f2854469c9626fc",
|
||||
"message": "inject service file for older OS versions"
|
||||
},
|
||||
{
|
||||
"commit": "f3a3f222bd56beb4e961817b18d71f01fb7c5e81",
|
||||
"message": "upgrade to Firebase v10"
|
||||
"commit": "f1a82c06aa58fe493af2b2b0bf9ef8a93011802b",
|
||||
"message": "more efficiently cache persistent network images"
|
||||
}
|
||||
],
|
||||
"flutter": [
|
||||
"uiux": [
|
||||
{
|
||||
"commit": "3d794099a5418385dc1010f204c3f46fdbdd5503",
|
||||
"message": "upgrade packages"
|
||||
},
|
||||
{
|
||||
"commit": "cf5bfca265d03b0fd966dfb069393a4bbb24c672",
|
||||
"message": "upgrade to Flutter 3.3.7/857bd6b74c"
|
||||
}
|
||||
],
|
||||
"android": [
|
||||
{
|
||||
"commit": "25e0d051422b399de8c90e0fc71e57349e3355b7",
|
||||
"message": "support Android 13 filesystem access"
|
||||
},
|
||||
{
|
||||
"commit": "b7ceebcb679dbca935b6a1810c0c67a14002e358",
|
||||
"message": "utilize Kotlin v1.7.20 & Gradle v7.1.2"
|
||||
}
|
||||
],
|
||||
"calendar": [
|
||||
{
|
||||
"commit": "70ed750652ff419e6fed659a0785adc5064654e7",
|
||||
"message": "label unreleased movies as unreleased instead of missing"
|
||||
"commit": "781727abbab0dc70d959c723c3d101e66430ac60",
|
||||
"message": "remove fading edge on horizontal scroll-views"
|
||||
}
|
||||
]
|
||||
},
|
||||
"refactor": {
|
||||
"uiux": [
|
||||
"flavors": [
|
||||
{
|
||||
"commit": "958e6f156862c1092399649baa361cd955299c88",
|
||||
"message": "remove forced-upper case on headers"
|
||||
},
|
||||
{
|
||||
"commit": "d9623e992d2ac2039eaa4f069c739d968c921cc6",
|
||||
"message": "add circular radius to linear progression bars"
|
||||
"commit": "fe3d41af57717b994e71370968404fc05f20f72b",
|
||||
"message": "remove candidate flavor and merge with beta"
|
||||
}
|
||||
],
|
||||
"settings": [
|
||||
"flutter": [
|
||||
{
|
||||
"commit": "ac838f99a9c839ce4e36e5eae80f1100e2787dc5",
|
||||
"message": "consolidate appearance, network, and localization pages"
|
||||
"commit": "605002f5bd4b015791d3d1f260e03b4127c5020d",
|
||||
"message": "remove unused packages"
|
||||
},
|
||||
{
|
||||
"commit": "4b149b58d0eaab53a39917152ff224f7b6e93c0f",
|
||||
"message": "translations update from Weblate"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
assets/icon/icon_linux.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
@@ -18,6 +18,7 @@
|
||||
"radarr.Codec": "Còdec",
|
||||
"radarr.Configure": "Configura",
|
||||
"radarr.Copy": "Copia",
|
||||
"radarr.CopyFiles": "Enllaç fort/Copia fitxers",
|
||||
"radarr.CopyFull": "Enllaç fort/Copia fitxers",
|
||||
"radarr.CutoffUnmet": "Data límit no trobada",
|
||||
"radarr.DateAdded": "Data d'alta",
|
||||
@@ -54,6 +55,8 @@
|
||||
"radarr.MonitoredDescription": "Segueix les noves versions",
|
||||
"radarr.More": "Més",
|
||||
"radarr.Move": "Mou",
|
||||
"radarr.MoveFiles": "Mou fitxers",
|
||||
"radarr.MoveFilesDescription": "Voleu moure els fitxers?",
|
||||
"radarr.MoveFull": "Mou fitxers",
|
||||
"radarr.Movie": "Pel·lícula",
|
||||
"radarr.MovieFileDeleted": "S'ha suprimit el fitxer de la pel·lícula",
|
||||
@@ -114,6 +117,7 @@
|
||||
"radarr.UnmappedFolders": "{} carpetes no assignades",
|
||||
"radarr.UnmonitorMovie": "Deixa de seguir la pel·lícula",
|
||||
"radarr.Unmonitored": "Deixa de seguir",
|
||||
"radarr.Unreleased": "No publicada",
|
||||
"radarr.Upcoming": "Proper",
|
||||
"radarr.UpdateLibrary": "Actualitza la biblioteca",
|
||||
"radarr.UpdateMovie": "Actualitza la pel·lícula",
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
"lunasea.BuyMeACoffee": "Kauf mir einen Kaffee",
|
||||
"lunasea.BuyMeASoda": "Kauf mir eine Limonade",
|
||||
"lunasea.Cancel": "Abbrechen",
|
||||
"lunasea.Candidate": "Kandidat",
|
||||
"lunasea.ChangeProfiles": "Profile wechseln",
|
||||
"lunasea.Changelog": "Änderungsprotokoll",
|
||||
"lunasea.CheckLogsMessage": "Überprüfe die Protokolle für mehr Details",
|
||||
@@ -39,53 +40,95 @@
|
||||
"lunasea.Clear": "Entfernen",
|
||||
"lunasea.Close": "Schließen",
|
||||
"lunasea.ComingSoon": "Bald verfügbar",
|
||||
"lunasea.Copied": "Kopiert",
|
||||
"lunasea.CopiedContentToTheClipboard": "Inhalt in die Zwischenablage kopiert",
|
||||
"lunasea.Critical": "Kritisch",
|
||||
"lunasea.Dashboard": "Übersicht",
|
||||
"lunasea.Days": "{} Tage",
|
||||
"lunasea.DaysAgo": "Vor {} Tagen",
|
||||
"lunasea.Debug": "Fehlersuche",
|
||||
"lunasea.Delete": "Löschen",
|
||||
"lunasea.Descending": "Absteigend",
|
||||
"lunasea.Develop": "Entwicklung",
|
||||
"lunasea.Disable": "Ausschalten",
|
||||
"lunasea.Disabled": "Deaktiviert",
|
||||
"lunasea.Dismiss": "Ausblenden",
|
||||
"lunasea.Docs": "Doku",
|
||||
"lunasea.DownloadClient": "Downloadklient",
|
||||
"lunasea.Edge": "Edge",
|
||||
"lunasea.Error": "Fehler",
|
||||
"lunasea.ExternalModules": "Externe Module",
|
||||
"lunasea.Features": "Funktionen",
|
||||
"lunasea.Fixes": "Behoben",
|
||||
"lunasea.FullChangelog": "Vollständiger Changelog",
|
||||
"lunasea.GoBack": "Zurück",
|
||||
"lunasea.GoToSettings": "Einstellungen öffnen",
|
||||
"lunasea.GridView": "Rasteransicht",
|
||||
"lunasea.Home": "Startseite",
|
||||
"lunasea.Hours": "{} Stunden",
|
||||
"lunasea.HoursAgo": "Vor {} Stunden",
|
||||
"lunasea.IncorrectEncryptionKey": "Ungültige Sicherungsphrase",
|
||||
"lunasea.Internal": "Intern",
|
||||
"lunasea.InvalidFileTypeSelected": "Ungültiger Dateityp ausgewählt",
|
||||
"lunasea.JustNow": "Jetzt gerade",
|
||||
"lunasea.Minutes": "{} Minuten",
|
||||
"lunasea.MinutesAgo": "Vor {} Minuten",
|
||||
"lunasea.Module": "Modul",
|
||||
"lunasea.ModuleIsNotEnabled": "{} ist nicht aktiviert",
|
||||
"lunasea.Months": "{} Monate",
|
||||
"lunasea.MonthsAgo": "Vor {} Monaten",
|
||||
"lunasea.New": "Neu",
|
||||
"lunasea.No": "Nein",
|
||||
"lunasea.NoModulesEnabled": "Keine Module aktiviert",
|
||||
"lunasea.NotSet": "Nicht gesetzt",
|
||||
"lunasea.OneDay": "1 Tag",
|
||||
"lunasea.OneDayAgo": "Vor 1 Tag",
|
||||
"lunasea.OneHour": "1 Stunde",
|
||||
"lunasea.OneHourAgo": "Vor 1 Stunde",
|
||||
"lunasea.OneMinute": "1 Minute",
|
||||
"lunasea.OneMinuteAgo": "Vor 1 Minute",
|
||||
"lunasea.OneMonth": "1 Monat",
|
||||
"lunasea.OneMonthAgo": "Vor 1 Monat",
|
||||
"lunasea.OneSecond": "1 Sekunde",
|
||||
"lunasea.OneSecondAgo": "Vor 1 Sekunde",
|
||||
"lunasea.OneYear": "1 Jahr",
|
||||
"lunasea.OneYearAgo": "Vor 1 Jahr",
|
||||
"lunasea.Options": "Optionen",
|
||||
"lunasea.Other": "Andere",
|
||||
"lunasea.Page": "Seite",
|
||||
"lunasea.PlatformSpecific": "Plattformspezifisch",
|
||||
"lunasea.PleaseTryAgain": "Bitte versuche es erneut",
|
||||
"lunasea.Production": "Produktion",
|
||||
"lunasea.Refresh": "Aktualisieren",
|
||||
"lunasea.Refreshing": "Aktualisieren…",
|
||||
"lunasea.Remove": "Entfernen",
|
||||
"lunasea.Rename": "Umbenennen",
|
||||
"lunasea.Restore": "Wiederherstellen",
|
||||
"lunasea.Retry": "Wiederholung",
|
||||
"lunasea.ReturnToDashboard": "Zurück zur Instrumentenanlage",
|
||||
"lunasea.SearchTextBar": "Suche…",
|
||||
"lunasea.Seconds": "{} Sekunden",
|
||||
"lunasea.SecondsAgo": "Vor {} Sekunden",
|
||||
"lunasea.Set": "Wähle",
|
||||
"lunasea.Settings": "Einstellungen",
|
||||
"lunasea.Stable": "Stabil",
|
||||
"lunasea.StartingView": "Startansicht",
|
||||
"lunasea.Today": "Heute",
|
||||
"lunasea.TransactionFailure": "Transaktion fehlgeschlagen",
|
||||
"lunasea.TryAgain": "Erneut versuchen",
|
||||
"lunasea.Tweaks": "Optimierungen",
|
||||
"lunasea.UnderAMinute": "Unter einer Minute",
|
||||
"lunasea.Unknown": "Unbekannt",
|
||||
"lunasea.UnknownDate": "Unbekanntes Datum",
|
||||
"lunasea.UnknownError": "Unbekannter Fehler",
|
||||
"lunasea.UnknownModule": "Unbekanntes Modul",
|
||||
"lunasea.Update": "Aktualisierung",
|
||||
"lunasea.View": "Ansicht",
|
||||
"lunasea.Warning": "Warnung",
|
||||
"lunasea.Website": "Internetseite",
|
||||
"lunasea.Years": "{} Jahre",
|
||||
"lunasea.YearsAgo": "Vor {} Jahren",
|
||||
"lunasea.Yes": "Ja",
|
||||
"overseerr.Users": "Benutzer",
|
||||
"overseerr.UnknownUser": "Unbekannter Benutzer",
|
||||
"overseerr.NoUsersFound": "Keine Benutzer gefunden",
|
||||
@@ -199,7 +242,7 @@
|
||||
"radarr.Rejected": "Abgelehnt",
|
||||
"radarr.Released": "Veröffentlicht",
|
||||
"radarr.ReleasedToday": "Heute veröffentlicht",
|
||||
"radarr.Releases": "Releases",
|
||||
"radarr.Releases": "Veröffentlichungen",
|
||||
"radarr.RemoveMovie": "Film entfernen",
|
||||
"radarr.Resolution": "Auflösung",
|
||||
"radarr.RootFolder": "Root-Verzeichnis",
|
||||
@@ -230,6 +273,7 @@
|
||||
"radarr.UnmappedFolders": "{} unbekannte Ordner",
|
||||
"radarr.UnmonitorMovie": "Filmüberwachung entfernen",
|
||||
"radarr.Unmonitored": "Nicht überwacht",
|
||||
"radarr.Unreleased": "Unveröffentlicht",
|
||||
"radarr.Upcoming": "Aufkommend",
|
||||
"radarr.UpdateLibrary": "Mediathek aktualisieren",
|
||||
"radarr.UpdateMovie": "Film aktualisieren",
|
||||
@@ -526,7 +570,7 @@
|
||||
"settings.PasswordUpdated": "Passwort aktualisiert",
|
||||
"settings.PleaseSignInAgain": "Bitte erneut anmelden",
|
||||
"settings.RestoreFromDeviceDescription": "Konfigurationsdaten wiederherstellen",
|
||||
"settings.AddedProfile": "Profil hinzugefügt",
|
||||
"settings.AddedProfile": "Hinzugefügtes Profil",
|
||||
"settings.Build": "Build",
|
||||
"settings.ChangedProfile": "Profil geändert",
|
||||
"settings.CurrentPassword": "Aktuelles Passwort",
|
||||
@@ -539,6 +583,19 @@
|
||||
"settings.DownloadUpdate": "Update herunterladen",
|
||||
"settings.EmailUpdated": "E-Mail aktualisiert",
|
||||
"settings.EnableInAppNotifications": "App-Benachrichtigungen Aktivieren",
|
||||
"settings.SentryLoggingDescription": "Fehler und Abstürze hochladen und an Sentry senden",
|
||||
"settings.SentryLogging": "Sentry Protokollierung",
|
||||
"settings.Version": "Version",
|
||||
"settings.OpenDrawerOnBackAction": "Seitenmenü bei Zurück-Aktion öffnen",
|
||||
"settings.OpenDrawerOnBackActionDescription": "Öffne das Seitenmenü anstatt LunaSea zu schließen",
|
||||
"settings.UpdateEmail": "Email aktualisieren",
|
||||
"settings.UpdatePassword": "Passwort aktualisieren",
|
||||
"settings.UpToDate": "Auf dem neuesten Stand",
|
||||
"settings.DiscordDescription": "Schlage neue Funktionen vor & erhalte Unterstützung",
|
||||
"settings.ViewTypeLogs": "{} Protokolle ansehen",
|
||||
"settings.BootModule": "Startmodul",
|
||||
"settings.General": "Allgemein",
|
||||
"settings.GeneralDescription": "LunaSea anpassen",
|
||||
"sonarr.AddSeries": "Serie hinzufügen",
|
||||
"sonarr.AddToExclusionList": "Zur Ignorierliste hinzufügen",
|
||||
"sonarr.AllSeasons": "Alle Staffeln",
|
||||
@@ -696,7 +753,7 @@
|
||||
"sonarr.RunningRSSSync": "RSS-Synchro wird durchgeführt {}",
|
||||
"sonarr.Runtime": "Laufzeit",
|
||||
"sonarr.SearchFor": "Nach {} suchen",
|
||||
"sonarr.Releases": "Releases",
|
||||
"sonarr.Releases": "Veröffentlichungen",
|
||||
"sonarr.RemovedSeriesWithFiles": "Serie entfernt (Mit Dateien)",
|
||||
"sonarr.SearchingForSeason": "Staffel wird gesucht…",
|
||||
"sonarr.SeriesFolderImported": "Folge aus Serien-Ordner importiert",
|
||||
|
||||
118
assets/localization/el.json
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"dashboard.Friday": "Παρασκευή",
|
||||
"dashboard.FutureDays": "Μελλοντικό χρόνο",
|
||||
"dashboard.OneMonth": "Ένας μήνας",
|
||||
"dashboard.Tuesday": "Τρίτη",
|
||||
"dashboard.MinimumOfOneDay": "1 ημέρα το ελάχιστο",
|
||||
"dashboard.Modules": "Ενότητες",
|
||||
"dashboard.Monday": "Δευτέρα",
|
||||
"dashboard.NoNewContent": "Τίποτα νέο",
|
||||
"dashboard.OneWeek": "Μία εβδομάδα",
|
||||
"dashboard.PastDays": "Παλαιότερες ημέρες",
|
||||
"dashboard.Saturday": "Σάββατο",
|
||||
"dashboard.Schedule": "Πρόγραμμα",
|
||||
"dashboard.Sunday": "Κυριακή",
|
||||
"dashboard.Thursday": "Πέμπτη",
|
||||
"dashboard.Calendar": "Ημερολόγιο",
|
||||
"dashboard.PastDaysDescription": "Τοποθετήσει τον αριθμό ημερών στο παρελθόν για εισαγωγή των εγγραφών του ημερολογίου.",
|
||||
"dashboard.TwoWeeks": "Δύο εβδομάδες",
|
||||
"dashboard.Wednesday": "Τετάρτη",
|
||||
"dashboard.FutureDaysDescription": "Τοποθετήσει τον αριθμό ημερών στο μέλλον για εισαγωγή των εγγραφών του ημερολογίου.",
|
||||
"lidarr.StartSearchForMissingAlbums": "Ξεκίνα αναζήτηση για άλμπουμ που λείπουν",
|
||||
"lidarr.StartSearchFor": "Ξεκίνα αναζήτηση…",
|
||||
"lunasea.Add": "Προσέθεσε",
|
||||
"lunasea.Alpha": "Πρώτη",
|
||||
"lunasea.AnErrorHasOccurred": "Κάποιο σφάλμα δημιουργήθηκε",
|
||||
"lunasea.Ascending": "Αύξουσα",
|
||||
"lunasea.BackUp": "Αντίγραφα ασφαλείας",
|
||||
"lunasea.Beta": "Δοκιμαστική",
|
||||
"lunasea.BlockView": "Εμφάνιση σε blocks",
|
||||
"lunasea.BuyMeABeer": "Κέρασε με μια μπύρα",
|
||||
"lunasea.BuyMeABurger": "Κέρασε με ένα burger",
|
||||
"lunasea.BuyMeACoffee": "Κέρασε με ένα καφέ",
|
||||
"lunasea.BuyMeASoda": "Κέρασε με ένα αναψυκτικό",
|
||||
"lunasea.Cancel": "Ακύρωση",
|
||||
"lunasea.Candidate": "Υποψήφιος",
|
||||
"lunasea.ChangeProfiles": "Αλλαγή προφίλ",
|
||||
"lunasea.Changelog": "Αλλαγές",
|
||||
"lunasea.CheckLogsMessage": "Δες τις καταγραφές για περισσότερες λεπτομέρειες",
|
||||
"lunasea.Chores": "Μικρό δουλειές",
|
||||
"lunasea.Clear": "Καθαρισμός",
|
||||
"lunasea.Close": "Κοντά",
|
||||
"lunasea.ComingSoon": "Έρχονται σύντομα",
|
||||
"lunasea.Copied": "Αντιγράφτηκε",
|
||||
"lunasea.Critical": "Κρίσιμο",
|
||||
"lunasea.Dashboard": "Ταμπλό",
|
||||
"lunasea.Days": "{} ημέρες",
|
||||
"lunasea.DaysAgo": "{} παλαιότερες ημέρες",
|
||||
"lunasea.Debug": "Εντοπισμός σφαλμάτων",
|
||||
"lunasea.Delete": "Διαγράφω",
|
||||
"lunasea.Descending": "Φθίνουσα",
|
||||
"lunasea.Develop": "Ανάπτυξη",
|
||||
"lunasea.Disable": "Απενεργοποιώ",
|
||||
"lunasea.Disabled": "Ανενεργός",
|
||||
"lunasea.Dismiss": "Απόρριψη",
|
||||
"lunasea.Docs": "Έγγραφα",
|
||||
"lunasea.DownloadClient": "Πρόγραμμα λήψης",
|
||||
"lunasea.Edge": "Χείλος",
|
||||
"lunasea.Error": "Σφάλμα",
|
||||
"lunasea.ExternalModules": "Εξωτερικές μονάδες",
|
||||
"lunasea.Features": "Χαρακτηριστικά",
|
||||
"lunasea.Fixes": "Επιδιορθώσεις",
|
||||
"lunasea.FullChangelog": "Πλήρες ημερολόγιο αλλαγών",
|
||||
"lunasea.GoBack": "Επιστροφή",
|
||||
"lunasea.GoToSettings": "Πήγαινε στις ρυθμίσεις",
|
||||
"lunasea.GridView": "Προβολή πλέγματος",
|
||||
"lunasea.Home": "Αρχική σελίδα",
|
||||
"lunasea.Hours": "{} ώρες",
|
||||
"lunasea.HoursAgo": "{} ώρες πριν",
|
||||
"lunasea.IncorrectEncryptionKey": "Λανθασμένο κλειδί κρυπτογράφησης",
|
||||
"lunasea.Internal": "Εσωτερικό",
|
||||
"lunasea.InvalidFileTypeSelected": "Επιλέχθηκε μη έγκυρος τύπος αρχείου",
|
||||
"lunasea.JustNow": "Αμέσως",
|
||||
"lunasea.Minutes": "{} Λεπτά",
|
||||
"lunasea.MinutesAgo": "{} λεπτά πριν",
|
||||
"lunasea.Module": "Μονάδα",
|
||||
"overseerr.Audio": "Ήχος",
|
||||
"overseerr.Approved": "Έγκριση",
|
||||
"overseerr.Available": "Διαθέσιμο",
|
||||
"overseerr.Declined": "Απορρίφθηκε",
|
||||
"overseerr.Issues": "Θέματα",
|
||||
"overseerr.NoIssues": "Κανένα Θέμα",
|
||||
"overseerr.NoIssuesFound": "Κανένα θέμα δεν βρέθηκε",
|
||||
"overseerr.NoRequests": "Χωρίς αιτήματα",
|
||||
"overseerr.NoRequestsFound": "Κανένα αίτημα δεν βρέθηκε",
|
||||
"overseerr.OneRequest": "1 Αίτημα",
|
||||
"overseerr.Open": "Ανοιχτό",
|
||||
"radarr.AddMovie": "Προσθήκη ταινίας",
|
||||
"radarr.AddMovieAndSearch": "Προσθήκη + αναζήτηση",
|
||||
"radarr.AddedTag": "Προσθήκη ετικέτας",
|
||||
"radarr.Age": "Ηλικία",
|
||||
"radarr.All": "Όλα",
|
||||
"sabnzbd.All": "Όλα",
|
||||
"sabnzbd.Ascending": "Αύξουσα",
|
||||
"sabnzbd.Age": "Ηλικία",
|
||||
"sabnzbd.CategoryDefault": "Προεπιλογή κατηγορίας",
|
||||
"search.AddIndexer": "Προσθήκη Indexer",
|
||||
"search.Age": "Ηλικία",
|
||||
"search.AllSubcategories": "Όλες οι υποκατηγορίες",
|
||||
"search.Alphabetical": "Αλφαβητικά",
|
||||
"search.Category": "Κατηγορία",
|
||||
"settings.AccountDeleted": "Διαγραφή λογαριασμού",
|
||||
"settings.AccountDescription": "Ο LunaSea λογαριασμός σου",
|
||||
"settings.AccountDeletedMessage": "Διαγραφή λογαριασμού LunaSea",
|
||||
"settings.Account": "Λογαριασμός",
|
||||
"sonarr.AddedSeries": "Προστέθηκε σειρά",
|
||||
"sonarr.AddedTag": "Προσθήκη ετικέτας",
|
||||
"sonarr.AddReleaseToBlocklist": "Προσθήκη έκδοσης στην λίστα αποκλεισμού",
|
||||
"sonarr.AddedOn": "Προστέθηκε στις",
|
||||
"sonarr.AddSeries": "Προσθήκη σειρών",
|
||||
"tautulli.Activity": "Δραστηριότητα",
|
||||
"tautulli.ActivityDetails": "Λεπτομέρειες δραστηριότητας",
|
||||
"tautulli.ActivityRefreshRate": "Ρυθμός ανανέωσης δραστηριότητας",
|
||||
"tautulli.Audio": "Ήχος",
|
||||
"tautulli.BackingUpConfiguration": "Δημιουργία αντιγράφων ασφαλείας διαμόρφωσης…",
|
||||
"wake_on_lan.MagicPacketSent": "Αποστολή Magic Packet",
|
||||
"wake_on_lan.MagicPacketSentMessage": "Το μηχάνημα πρέπει να εκκινεί!",
|
||||
"wake_on_lan.MagicPacketFailedToSend": "Αποτυχία αποστολής Magic Packet"
|
||||
}
|
||||
@@ -57,6 +57,8 @@
|
||||
"lunasea.DownloadClient": "Download Client",
|
||||
"lunasea.Edge": "Edge",
|
||||
"lunasea.Error": "Error",
|
||||
"lunasea.EverySecond": "Every Second",
|
||||
"lunasea.EverySeconds": "Every {} Seconds",
|
||||
"lunasea.ExternalModules": "External Modules",
|
||||
"lunasea.Features": "Features",
|
||||
"lunasea.Fixes": "Fixes",
|
||||
@@ -70,6 +72,7 @@
|
||||
"lunasea.IncorrectEncryptionKey": "Incorrect encryption key",
|
||||
"lunasea.Internal": "Internal",
|
||||
"lunasea.InvalidFileTypeSelected": "Invalid File Type Selected",
|
||||
"lunasea.Items": "{} Items",
|
||||
"lunasea.JustNow": "Just Now",
|
||||
"lunasea.Minutes": "{} Minutes",
|
||||
"lunasea.MinutesAgo": "{} Minutes Ago",
|
||||
@@ -85,6 +88,7 @@
|
||||
"lunasea.OneDayAgo": "1 Day Ago",
|
||||
"lunasea.OneHour": "1 Hour",
|
||||
"lunasea.OneHourAgo": "1 Hour Ago",
|
||||
"lunasea.OneItem": "1 Item",
|
||||
"lunasea.OneMinute": "1 Minute",
|
||||
"lunasea.OneMinuteAgo": "1 Minute Ago",
|
||||
"lunasea.OneMonth": "1 Month",
|
||||
@@ -113,6 +117,8 @@
|
||||
"lunasea.Settings": "Settings",
|
||||
"lunasea.Stable": "Stable",
|
||||
"lunasea.StartingView": "Starting View",
|
||||
"lunasea.ThankYou": "Thank You",
|
||||
"lunasea.ThankYouMessage": "Thank you for supporting the open-source community!",
|
||||
"lunasea.Today": "Today",
|
||||
"lunasea.TransactionFailure": "Transaction Failure",
|
||||
"lunasea.TryAgain": "Try Again",
|
||||
@@ -181,6 +187,8 @@
|
||||
"radarr.DigitalRelease": "Digital Release",
|
||||
"radarr.DirectoryNotFound": "Directory Not Found",
|
||||
"radarr.Discover": "Discover",
|
||||
"radarr.DiscoverSuggestions": "Discover Suggestions",
|
||||
"radarr.DiscoverSuggestionsDescription": "Add Suggested Releases in Discover",
|
||||
"radarr.Disks": "Disks",
|
||||
"radarr.DownloadFailed": "Download Failed",
|
||||
"radarr.DownloadIgnored": "Download Ignored",
|
||||
@@ -215,6 +223,7 @@
|
||||
"radarr.MoveFilesDescription": "Would you like to move the files?",
|
||||
"radarr.MoveFull": "Move Files",
|
||||
"radarr.Movie": "Movie",
|
||||
"radarr.MovieDetails": "Movie Details",
|
||||
"radarr.Movies": "Movies",
|
||||
"radarr.MovieFileDeleted": "Movie File Deleted",
|
||||
"radarr.MovieFileRenamed": "Movie File Renamed",
|
||||
@@ -237,6 +246,7 @@
|
||||
"radarr.QualityProfile": "Quality Profile",
|
||||
"radarr.Queue": "Queue",
|
||||
"radarr.QueueDescription": "View Active & Queued Content",
|
||||
"radarr.QueueSize": "Queue Size",
|
||||
"radarr.Quick": "Quick",
|
||||
"radarr.RefreshMovie": "Refresh Movie",
|
||||
"radarr.Rejected": "Rejected",
|
||||
@@ -306,25 +316,39 @@
|
||||
"sabnzbd.ShutdownSABnzbd": "Shutdown SABnzbd",
|
||||
"sabnzbd.StandbyPC": "Standby PC",
|
||||
"sabnzbd.Stop": "Stop",
|
||||
"search.AddIndexer": "Add Indexer",
|
||||
"search.Age": "Age",
|
||||
"search.AllSubcategories": "All Subcategories",
|
||||
"search.Alphabetical": "Alphabetical",
|
||||
"search.Category": "Category",
|
||||
"search.Categories": "Categories",
|
||||
"search.Comments": "Comments",
|
||||
"search.DeleteIndexer": "Delete Indexer",
|
||||
"search.Download": "Download",
|
||||
"search.Downloading": "Downloading…",
|
||||
"search.DownloadingNZBToDevice": "Downloading NZB to your device",
|
||||
"search.DownloadToDevice": "Download to Device",
|
||||
"search.EditIndexer": "Edit Indexer",
|
||||
"search.FailedToAddIndexer": "Failed to Add indexer",
|
||||
"search.FailedToDownloadNZB": "Failed to Download NZB",
|
||||
"search.FailedToSend": "Failed to Send",
|
||||
"search.HideAdultCategories": "Hide Adult Categories",
|
||||
"search.HideAdultCategoriesDescription": "Hide Adult Content",
|
||||
"search.IndexerAPIHost": "Indexer API Host",
|
||||
"search.IndexerAPIKey": "Indexer API Key",
|
||||
"search.IndexerAdded": "Indexer Added",
|
||||
"search.IndexerDeleted": "Indexer Deleted",
|
||||
"search.IndexerNotFound": "Indexer Not Found",
|
||||
"search.NoCategoriesFound": "No Categories Found",
|
||||
"search.NoIndexersFound": "No Indexers Found",
|
||||
"search.NoResultsFound": "No Results Found",
|
||||
"search.NoSubcategoriesFound": "No Subcategories Found",
|
||||
"search.Results": "Results",
|
||||
"search.Search": "Search",
|
||||
"search.SentNZBData": "Sent NZB Data",
|
||||
"search.SentTo": "Sent to {}",
|
||||
"search.ShowLinks": "Show Links",
|
||||
"search.ShowLinksDescription": "Show Download and Comments Links",
|
||||
"search.Size": "Size",
|
||||
"search.Subcategories": "Subcategories",
|
||||
"settings.Account": "Account",
|
||||
@@ -343,6 +367,8 @@
|
||||
"settings.AddProfileDescription": "Add a New Profile",
|
||||
"settings.AddedProfile": "Added Profile",
|
||||
"settings.AllFieldsAreRequired": "All fields are required",
|
||||
"settings.AllLogs": "All Logs",
|
||||
"settings.AllLogsDescription": "View Logs of All Types",
|
||||
"settings.AmoledTheme": "AMOLED Theme",
|
||||
"settings.AmoledThemeBorders": "AMOLED Theme Borders",
|
||||
"settings.AmoledThemeBordersDescription": "Add Subtle Borders Across the UI",
|
||||
@@ -381,25 +407,35 @@
|
||||
"settings.BuildChannels": "Build Channels",
|
||||
"settings.BuildChannelsDescription": "Learn About Additional Build Channels",
|
||||
"settings.CalendarSettings": "Calendar Settings",
|
||||
"settings.CalendarSettingsDescription": "Customize the Unified Calendar",
|
||||
"settings.ChangedProfile": "Changed Profile",
|
||||
"settings.Channel": "Channel",
|
||||
"settings.Class": "Class",
|
||||
"settings.CleanSlate": "Clean Slate",
|
||||
"settings.Clear": "Clear",
|
||||
"settings.ClearConfiguration": "Clear Configuration",
|
||||
"settings.ClearConfigurationHint1": "Are you sure you want to clear your configuration?",
|
||||
"settings.ClearConfigurationHint2": "You will be starting from a clean slate, please ensure you backup your current configuration first!",
|
||||
"settings.ClearConfigurationHint3": "If you are signed into a LunaSea account, you will be signed out.",
|
||||
"settings.ClearImageCache": "Clear Image Cache",
|
||||
"settings.ClearImageCacheDescription": "Clear Images From Persistent Storage",
|
||||
"settings.ClearImageCacheHint1": "Are you sure you want to clear all images from the cache?",
|
||||
"settings.ClearImageCacheHint2": "Redownloading images for a large library can consume a large amount of data.",
|
||||
"settings.ClearImageCacheHint2": "Re-downloading images for a large library can consume a large amount of data.",
|
||||
"settings.ClearLogs": "Clear Logs",
|
||||
"settings.ClearLogsHint1": "Are you sure you want to clear all recorded logs?\n\nLogs can be useful for bug reports and debugging.",
|
||||
"settings.ConfigureModule": "Configure {}",
|
||||
"settings.Configuration": "Configuration",
|
||||
"settings.ConfigurationCleared": "Configuration Cleared",
|
||||
"settings.ConfigurationClearedDescription": "Your configuration has been cleared",
|
||||
"settings.ConfigurationDescription": "Configure & Setup LunaSea",
|
||||
"settings.ConnectedSuccessfully": "Connected",
|
||||
"settings.ConnectedSuccessfullyMessage": "{} is ready to use with LunaSea!",
|
||||
"settings.ConnectionDetails": "Connection Details",
|
||||
"settings.ConnectionDetailsDescription": "Connection Details for {}",
|
||||
"settings.ConnectionTestFailed": "Connection Test Failed",
|
||||
"settings.CopiedURLFor": "Copied URL for {}",
|
||||
"settings.CopiedDeviceURL": "Copied your device-based URL to the clipboard",
|
||||
"settings.CopiedUserURL": "Copied your user-based URL to the clipboard",
|
||||
"settings.CurrentPassword": "Current Password",
|
||||
"settings.Custom": "Custom…",
|
||||
"settings.CustomHeader": "Custom Header",
|
||||
@@ -440,6 +476,7 @@
|
||||
"settings.DeleteModuleSuccess": "Module Deleted",
|
||||
"settings.DeleteProfile": "Delete Profile",
|
||||
"settings.DeleteProfileDescription": "Delete an Existing Profile",
|
||||
"settings.Device": "Device",
|
||||
"settings.DiscordDescription": "Request Features & Get Support",
|
||||
"settings.DismissBanners": "Dismiss Banners",
|
||||
"settings.DismissBannersHint1": "Are you sure you want to dismiss all tooltip banners?",
|
||||
@@ -463,6 +500,12 @@
|
||||
"settings.EnableModule": "Enable {}",
|
||||
"settings.EnabledProfile": "Enabled Profile",
|
||||
"settings.EncryptionKey": "Encryption Key",
|
||||
"settings.Exception": "Exception",
|
||||
"settings.Export": "Export",
|
||||
"settings.ExportedLogs": "Exported Logs",
|
||||
"settings.ExportedLogsMessage": "Logs have been successfully exported",
|
||||
"settings.FailedToClearImageCache": "Failed to Clear Image Cache",
|
||||
"settings.FailedToClearImageCacheDescription": "The image cache could not be cleared",
|
||||
"settings.FailedToDeleteAccount": "Failed to Delete Account",
|
||||
"settings.FailedToUpdateEmail": "Failed to Update Email",
|
||||
"settings.FailedToUpdatePassword": "Failed to Update Password",
|
||||
@@ -471,6 +514,8 @@
|
||||
"settings.FutureDays": "Future Days",
|
||||
"settings.General": "General",
|
||||
"settings.GeneralDescription": "Customize LunaSea",
|
||||
"settings.GettingStarted": "Getting Started",
|
||||
"settings.GettingStartedDescription": "Information & Setup Instructions",
|
||||
"settings.GitHubDescription": "View the Source Code",
|
||||
"settings.HeaderAdded": "Header Added",
|
||||
"settings.HeaderDeleted": "Header Deleted",
|
||||
@@ -491,6 +536,8 @@
|
||||
"settings.ImageBackgroundOpacity": "Image Background Opacity",
|
||||
"settings.ImageBackgroundOpacityHint1": "Set the opacity of background images.",
|
||||
"settings.ImageBackgroundOpacityHint2": "To completely disable fetching background images, set the value to 0.",
|
||||
"settings.ImageCacheCleared": "Image Cache Cleared",
|
||||
"settings.ImageCacheClearedDescription": "The image cache has been cleared",
|
||||
"settings.InvalidEmail": "Invalid Email Address",
|
||||
"settings.InvalidEmailMessage": "The email address is invalid",
|
||||
"settings.InvalidPassword": "Invalid Password",
|
||||
@@ -498,11 +545,16 @@
|
||||
"settings.Language": "Language",
|
||||
"settings.Localization": "Localization",
|
||||
"settings.LocalizationDescription": "Customize to your Locale",
|
||||
"settings.Logs": "Logs",
|
||||
"settings.LogsCleared": "Logs Cleared",
|
||||
"settings.LogsClearedDescription": "All recorded logs have been cleared",
|
||||
"settings.LogsDescription": "View, Export, and Clear Logs",
|
||||
"settings.Method": "Method",
|
||||
"settings.MACAddress": "MAC Address",
|
||||
"settings.MACAddressHint1": "This is the MAC address of the machine that you want to wake up",
|
||||
"settings.MACAddressHint2": "MAC addresses contain six two-digit hexidecimal nibbles (an octet)",
|
||||
"settings.MACAddressHint3": "Hexidecimal digits range from 0-9 and A-F",
|
||||
"settings.MACAddressHint4": "Each hexidecimal octet should be separated by a colon",
|
||||
"settings.MACAddressHint2": "MAC addresses contain six two-digit hexadecimal nibbles (an octet)",
|
||||
"settings.MACAddressHint3": "Hexadecimal digits range from 0-9 and A-F",
|
||||
"settings.MACAddressHint4": "Each hexadecimal octet should be separated by a colon",
|
||||
"settings.MACAddressValidation": "Invalid MAC Address",
|
||||
"settings.MinimumCharacters": "Minimum of {} characters",
|
||||
"settings.ModuleNotFound": "Module Not Found",
|
||||
@@ -510,13 +562,19 @@
|
||||
"settings.Network": "Network",
|
||||
"settings.NetworkDescription": "Customize Network Features",
|
||||
"settings.NewPassword": "New Password",
|
||||
"settings.NotAuthorized": "Not Authorized",
|
||||
"settings.NotAuthorizedMessage": "LunaSea is not authorized to show notifications. Please go to your device's settings to enable notifications.",
|
||||
"settings.NotAvailable": "Not Available",
|
||||
"settings.Notifications": "Notifications",
|
||||
"settings.NotificationsDescription": "Set up Webhooks for Push Notifications",
|
||||
"settings.NoAdditionalProfilesAdded": "No additional profiles have been added",
|
||||
"settings.NoBackupsFound": "No Backups Found",
|
||||
"settings.NoExternalModulesFound": "No External Modules Found",
|
||||
"settings.NoHeadersAdded": "No Headers Added",
|
||||
"settings.NoLogsFound": "No Logs Found",
|
||||
"settings.NoProfilesFound": "No Profiles Found",
|
||||
"settings.OpenDrawerOnBackAction": "Open Drawer on Back Action",
|
||||
"settings.OpenDrawerOnBackActionDescription": "Open the drawer instead of closing LunaSea",
|
||||
"settings.OpenLinksIn": "Open Links In…",
|
||||
"settings.Password": "Password",
|
||||
"settings.PasswordHint1": "If your password includes special characters, considering adding a basic authentication header with your username and password instead for better support",
|
||||
@@ -584,6 +642,7 @@
|
||||
"settings.UpToDate": "Up To Date",
|
||||
"settings.Use24HourTime": "Use 24 Hour Time",
|
||||
"settings.Use24HourTimeDescription": "Show Timestamps in 24 Hour Style",
|
||||
"settings.User": "User",
|
||||
"settings.Username": "Username",
|
||||
"settings.UsernameValidation": "Username Required",
|
||||
"settings.Version": "Version",
|
||||
@@ -726,6 +785,7 @@
|
||||
"sonarr.Queue": "Queue",
|
||||
"sonarr.Queued": "Queued",
|
||||
"sonarr.QueueDescription": "View Active & Queued Content",
|
||||
"sonarr.QueueSize": "Queue Size",
|
||||
"sonarr.Reason": "Reason",
|
||||
"sonarr.RefreshSeries": "Refresh Series",
|
||||
"sonarr.Rejected": "Rejected",
|
||||
@@ -805,6 +865,7 @@
|
||||
"sonarr.WordScore": "Word Score",
|
||||
"tautulli.Activity": "Activity",
|
||||
"tautulli.ActivityDetails": "Activity Details",
|
||||
"tautulli.ActivityRefreshRate": "Activity Refresh Rate",
|
||||
"tautulli.Audio": "Audio",
|
||||
"tautulli.BackingUpConfiguration": "Backing Up Configuration…",
|
||||
"tautulli.BackingUpConfigurationDescription": "Backing up your configuration in the background",
|
||||
@@ -816,8 +877,10 @@
|
||||
"tautulli.BackupDatabase": "Backup Database",
|
||||
"tautulli.Bandwidth": "Bandwidth",
|
||||
"tautulli.Burn": "Burn",
|
||||
"tautulli.Converting": "Converting",
|
||||
"tautulli.Container": "Container",
|
||||
"tautulli.Copy": "Copy",
|
||||
"tautulli.DefaultTerminationMessage": "Default Termination Message",
|
||||
"tautulli.DeleteCache": "Delete Cache",
|
||||
"tautulli.DeleteImageCache": "Delete Image Cache",
|
||||
"tautulli.DeleteTemporarySessions": "Delete Temporary Sessions",
|
||||
@@ -837,9 +900,12 @@
|
||||
"tautulli.Duration": "Duration",
|
||||
"tautulli.Episode": "Episode {}",
|
||||
"tautulli.ETA": "ETA",
|
||||
"tautulli.Graphs": "Graphs",
|
||||
"tautulli.History": "History",
|
||||
"tautulli.Library": "Library",
|
||||
"tautulli.LibraryDetails": "Library Details",
|
||||
"tautulli.Location": "Location",
|
||||
"tautulli.MediaDetails": "Media Details",
|
||||
"tautulli.Metadata": "Metadata",
|
||||
"tautulli.More": "More",
|
||||
"tautulli.None": "None",
|
||||
@@ -853,6 +919,9 @@
|
||||
"tautulli.Sessions": "Sessions",
|
||||
"tautulli.SessionsOne": "1 Session",
|
||||
"tautulli.SessionsMany": "{} Sessions",
|
||||
"tautulli.Speed": "Speed: {}x",
|
||||
"tautulli.Statistics": "Statistics",
|
||||
"tautulli.StatisticsItemCount": "Statistics Item Count",
|
||||
"tautulli.Stream": "Stream",
|
||||
"tautulli.Subtitle": "Subtitle",
|
||||
"tautulli.Terminate": "Terminate",
|
||||
@@ -868,6 +937,7 @@
|
||||
"tautulli.Transcodes": "Transcodes",
|
||||
"tautulli.User": "User",
|
||||
"tautulli.Users": "Users",
|
||||
"tautulli.UserDetails": "User Details",
|
||||
"tautulli.Video": "Video",
|
||||
"tautulli.ViewWebGUI": "View Web GUI",
|
||||
"tautulli.Year": "Year",
|
||||
|
||||
@@ -680,6 +680,8 @@
|
||||
"sonarr.Streams": "Transmisiones",
|
||||
"sonarr.DownloadID": "ID de descarga",
|
||||
"sonarr.DownloadFailed": "Descarga fracasó",
|
||||
"sonarr.DeleteEpisodeFileHint1": "¿Seguro que quieres eliminar este archivo de episodio?",
|
||||
"sonarr.DeleteReasonManual": "El archivo fue borrado vía UI",
|
||||
"tautulli.Quality": "Calidad",
|
||||
"tautulli.None": "Ninguno",
|
||||
"tautulli.Terminate": "Terminar",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"lunasea.Disabled": "Désactivé",
|
||||
"lunasea.Dismiss": "Rejeter",
|
||||
"lunasea.Docs": "Documents",
|
||||
"lunasea.DownloadClient": "Client de téléchargement",
|
||||
"lunasea.Edge": "Limite",
|
||||
"lunasea.Error": "Erreur",
|
||||
"lunasea.ExternalModules": "Modules externes",
|
||||
@@ -77,6 +78,7 @@
|
||||
"lunasea.Months": "{} Mois",
|
||||
"lunasea.MonthsAgo": "Il y a {} mois",
|
||||
"lunasea.New": "Nouveau",
|
||||
"lunasea.No": "Non",
|
||||
"lunasea.NoModulesEnabled": "Aucun module activé",
|
||||
"lunasea.NotSet": "Non défini",
|
||||
"lunasea.OneDay": "1 Jour",
|
||||
@@ -126,6 +128,7 @@
|
||||
"lunasea.Website": "Site web",
|
||||
"lunasea.Years": "{} années",
|
||||
"lunasea.YearsAgo": "Il y a {} années",
|
||||
"lunasea.Yes": "Oui",
|
||||
"overseerr.Users": "Utilisateurs",
|
||||
"overseerr.UnknownUser": "Utilisateur inconnu",
|
||||
"overseerr.NoUsersFound": "Aucun utilisateur trouvé",
|
||||
@@ -171,6 +174,7 @@
|
||||
"radarr.Codec": "Codec",
|
||||
"radarr.Configure": "Configurer",
|
||||
"radarr.Copy": "Copier",
|
||||
"radarr.CopyFiles": "Copier les fichiers",
|
||||
"radarr.CopyFull": "Lien physique/Copier les fichiers",
|
||||
"radarr.CutoffUnmet": "Prérequis non atteints",
|
||||
"radarr.DateAdded": "Date ajoutée",
|
||||
@@ -207,6 +211,8 @@
|
||||
"radarr.MonitoredDescription": "Surveiller les nouvelles versions",
|
||||
"radarr.More": "Plus",
|
||||
"radarr.Move": "Déplacer",
|
||||
"radarr.MoveFiles": "Déplacer les fichiers",
|
||||
"radarr.MoveFilesDescription": "Voulez-vous déplacer les fichiers ?",
|
||||
"radarr.MoveFull": "Déplacer les fichiers",
|
||||
"radarr.Movie": "Film",
|
||||
"radarr.MovieFileDeleted": "Fichier vidéo supprimé",
|
||||
@@ -267,6 +273,7 @@
|
||||
"radarr.UnmappedFolders": "{} dossiers non cartographiés",
|
||||
"radarr.UnmonitorMovie": "Ne plus surveiller le film",
|
||||
"radarr.Unmonitored": "Non surveillé",
|
||||
"radarr.Unreleased": "Inédits",
|
||||
"radarr.Upcoming": "À venir",
|
||||
"radarr.UpdateLibrary": "Mettre à jour la bibliothèque",
|
||||
"radarr.UpdateMovie": "Mettre à jour le film",
|
||||
@@ -275,6 +282,30 @@
|
||||
"radarr.Wanted": "Recherché",
|
||||
"radarr.Weight": "Poids",
|
||||
"radarr.Year": "Année",
|
||||
"sabnzbd.Failed": "Échoué",
|
||||
"sabnzbd.Low": "Bas",
|
||||
"sabnzbd.Ascending": "Ascendant",
|
||||
"sabnzbd.CategoryDefault": "Catégorie par défaut",
|
||||
"sabnzbd.StandbyPC": "Mettre le PC en veille",
|
||||
"sabnzbd.Stop": "Arrêter",
|
||||
"sabnzbd.Name": "Nom",
|
||||
"sabnzbd.Paused": "En pause",
|
||||
"sabnzbd.RepairUnpack": "Réparer/Deballer",
|
||||
"sabnzbd.High": "Haut",
|
||||
"sabnzbd.None": "Aucun",
|
||||
"sabnzbd.Normal": "Normal",
|
||||
"sabnzbd.RepairUnpackDelete": "Réparer/Deballer/Supprimer",
|
||||
"sabnzbd.Size": "Taille",
|
||||
"sabnzbd.Repair": "Réparer",
|
||||
"sabnzbd.ShutdownPC": "Arrêter le PC",
|
||||
"sabnzbd.ShutdownSABnzbd": "Arrêter SABnzbd",
|
||||
"sabnzbd.Force": "Forcer",
|
||||
"sabnzbd.Completed": "Complétés",
|
||||
"sabnzbd.Descending": "Descendant",
|
||||
"sabnzbd.Duplicate": "Dupliquer",
|
||||
"sabnzbd.HibernatePC": "Mettre le PC en veille",
|
||||
"sabnzbd.All": "Tout",
|
||||
"sabnzbd.Age": "Âge",
|
||||
"search.Subcategories": "Sous-catégories",
|
||||
"search.Size": "Taille",
|
||||
"search.SentTo": "Envoyé à {}",
|
||||
@@ -559,6 +590,12 @@
|
||||
"settings.DatabaseCorruptionDetectedMessageLine1": "Une corruption de la base de données a été détectée et votre configuration a été effacée.",
|
||||
"settings.DatabaseCorruptionDetectedMessageLine2": "Désolé pour ce problème, toutes les sauvegardes devraient pouvoir être restaurés même celles créés avec une base de données corrompue.",
|
||||
"settings.DatabaseCorruptionDetected": "Base de données corrompue détectée",
|
||||
"settings.OpenDrawerOnBackActionDescription": "Ouvrir le tiroir au lieu de fermer LunaSea",
|
||||
"settings.OpenDrawerOnBackAction": "Ouvrir le tiroir au dos",
|
||||
"settings.DiscordDescription": "Demandes d'améliorations et assistance",
|
||||
"settings.BootModule": "Module de démarrage",
|
||||
"settings.General": "Général",
|
||||
"settings.GeneralDescription": "Personnaliser LunsaSea",
|
||||
"sonarr.AddedOn": "Ajouté le",
|
||||
"sonarr.AddedSeries": "Série ajoutée",
|
||||
"sonarr.AddedTag": "Étiquette ajoutée",
|
||||
@@ -776,10 +813,10 @@
|
||||
"tautulli.Video": "Vidéo",
|
||||
"tautulli.Users": "Utilisateurs",
|
||||
"tautulli.User": "Utilisateur",
|
||||
"tautulli.Transcodes": "Transcodes",
|
||||
"tautulli.Transcode": "Transcode",
|
||||
"tautulli.Transcodes": "Conversions",
|
||||
"tautulli.Transcode": "Conversion",
|
||||
"tautulli.Title": "Titre",
|
||||
"tautulli.Throttled": "Throttled",
|
||||
"tautulli.Throttled": "Limité",
|
||||
"tautulli.TerminateSessionFailed": "Échec de la fin de la session",
|
||||
"tautulli.TerminateSession": "Mettre fin à la session",
|
||||
"tautulli.TerminatedSession": "Session terminée",
|
||||
@@ -838,6 +875,8 @@
|
||||
"tautulli.Audio": "Audio",
|
||||
"tautulli.ActivityDetails": "Détails de l'activité",
|
||||
"tautulli.Activity": "Activité",
|
||||
"tautulli.Speed": "Vitesse : x{}",
|
||||
"tautulli.Converting": "Conversion",
|
||||
"wake_on_lan.MagicPacketSent": "Paquet magique envoyé",
|
||||
"wake_on_lan.MagicPacketSentMessage": "Votre machine devrait se réveiller !",
|
||||
"wake_on_lan.MagicPacketFailedToSend": "Échec de l'envoi du paquet magique"
|
||||
|
||||
@@ -34,37 +34,67 @@
|
||||
"lunasea.Cancel": "Mégsem",
|
||||
"lunasea.Candidate": "Jelölt",
|
||||
"lunasea.ChangeProfiles": "Profil váltása",
|
||||
"lunasea.Changelog": "Változási napló",
|
||||
"lunasea.CheckLogsMessage": "További részletekért ellenőrizze a naplót",
|
||||
"lunasea.Chores": "Házimunka",
|
||||
"lunasea.Clear": "Törlés",
|
||||
"lunasea.Close": "Bezárás",
|
||||
"lunasea.ComingSoon": "Hamarosan",
|
||||
"lunasea.Copied": "Másolva",
|
||||
"lunasea.CopiedContentToTheClipboard": "Tartalom a vágólapra másolva",
|
||||
"lunasea.Critical": "Kritikus",
|
||||
"lunasea.Dashboard": "Irányítópult",
|
||||
"lunasea.Days": "{} Nap",
|
||||
"lunasea.DaysAgo": "{} Napja",
|
||||
"lunasea.Debug": "Hibakeresés",
|
||||
"lunasea.Delete": "Törlés",
|
||||
"lunasea.Descending": "Csökkenő",
|
||||
"lunasea.Develop": "Fejlesztés",
|
||||
"lunasea.Disable": "Letiltás",
|
||||
"lunasea.Disabled": "Letiltva",
|
||||
"lunasea.Dismiss": "Elvetés",
|
||||
"lunasea.Docs": "Dokumentumok",
|
||||
"lunasea.DownloadClient": "Letöltő kliens",
|
||||
"lunasea.Edge": "Él",
|
||||
"lunasea.Error": "Hiba",
|
||||
"lunasea.ExternalModules": "Külső modulok",
|
||||
"lunasea.Features": "Jellemzők",
|
||||
"lunasea.Fixes": "Javítások",
|
||||
"lunasea.FullChangelog": "Teljes változásnapló",
|
||||
"lunasea.GoBack": "Vissza",
|
||||
"lunasea.GoToSettings": "Beállítások",
|
||||
"lunasea.GridView": "Rács nézet",
|
||||
"lunasea.Home": "Főképernyő",
|
||||
"lunasea.Hours": "{} Óra",
|
||||
"lunasea.HoursAgo": "{} Órája",
|
||||
"lunasea.IncorrectEncryptionKey": "Helytelen titkosítási kulcs",
|
||||
"lunasea.Internal": "Belső",
|
||||
"lunasea.InvalidFileTypeSelected": "Érvénytelen fájltípus van kiválasztva",
|
||||
"lunasea.JustNow": "Csak most",
|
||||
"lunasea.Minutes": "{} Perc",
|
||||
"lunasea.MinutesAgo": "{} Perccel ezelőtt",
|
||||
"lunasea.Module": "Modul",
|
||||
"lunasea.ModuleIsNotEnabled": "{} nincs engedélyezve",
|
||||
"lunasea.Months": "{} Hónap",
|
||||
"lunasea.MonthsAgo": "{} Hónappal ezelőtt",
|
||||
"lunasea.New": "Új",
|
||||
"lunasea.No": "Nem",
|
||||
"lunasea.NoModulesEnabled": "Nincs engedélyezett modul",
|
||||
"lunasea.NotSet": "Nincs beállítva",
|
||||
"lunasea.OneDay": "1 nap",
|
||||
"lunasea.OneDayAgo": "1 napja",
|
||||
"lunasea.OneHour": "1 óra",
|
||||
"lunasea.OneHourAgo": "1 órája",
|
||||
"lunasea.OneMinute": "1 perc",
|
||||
"lunasea.OneMinuteAgo": "1 perce",
|
||||
"lunasea.OneMonth": "1 hónap",
|
||||
"lunasea.OneMonthAgo": "1 hónapja",
|
||||
"lunasea.OneSecond": "1 másodperc",
|
||||
"lunasea.OneSecondAgo": "1 másodperce",
|
||||
"lunasea.OneYear": "1 év",
|
||||
"lunasea.OneYearAgo": "1 éve",
|
||||
"lunasea.Options": "Opciók",
|
||||
"lunasea.Other": "Egyéb",
|
||||
"lunasea.Page": "Oldal",
|
||||
"lunasea.PlatformSpecific": "Platform-specifikus",
|
||||
"lunasea.PleaseTryAgain": "Kérem próbálja újra",
|
||||
@@ -77,19 +107,28 @@
|
||||
"lunasea.Retry": "Újra",
|
||||
"lunasea.ReturnToDashboard": "Vissza az Irányítópultra",
|
||||
"lunasea.SearchTextBar": "Keresés…",
|
||||
"lunasea.Seconds": "{} másodperc",
|
||||
"lunasea.SecondsAgo": "{} másodperce",
|
||||
"lunasea.Set": "Beállítva",
|
||||
"lunasea.Settings": "Beállítások",
|
||||
"lunasea.Stable": "Stabil",
|
||||
"lunasea.StartingView": "Kezdő nézet",
|
||||
"lunasea.Today": "Ma",
|
||||
"lunasea.TransactionFailure": "Sikertelen tranzakció",
|
||||
"lunasea.TryAgain": "Próbálja újra",
|
||||
"lunasea.Tweaks": "Tweakek",
|
||||
"lunasea.UnderAMinute": "Egy perc alatt",
|
||||
"lunasea.Unknown": "Ismeretlen",
|
||||
"lunasea.UnknownDate": "Ismeretlen dátum",
|
||||
"lunasea.UnknownError": "Ismeretlen hiba",
|
||||
"lunasea.UnknownModule": "Ismeretlen modul",
|
||||
"lunasea.Update": "Frissítés",
|
||||
"lunasea.View": "Nézet",
|
||||
"lunasea.Warning": "Figyelem",
|
||||
"lunasea.Website": "Weboldal",
|
||||
"lunasea.Years": "{} Év",
|
||||
"lunasea.YearsAgo": "{} Éve",
|
||||
"lunasea.Yes": "Igen",
|
||||
"overseerr.NoRequestsFound": "Nem találtam kéréseket",
|
||||
"overseerr.Audio": "Audió",
|
||||
"overseerr.Approved": "Jóváhagyott",
|
||||
@@ -135,6 +174,7 @@
|
||||
"radarr.Codec": "Codec",
|
||||
"radarr.Configure": "Konfigurálás",
|
||||
"radarr.Copy": "Másolás",
|
||||
"radarr.CopyFiles": "Hivatkozás/fájl másolása",
|
||||
"radarr.CopyFull": "Hardlink/Fájlok másolása",
|
||||
"radarr.CutoffUnmet": "Teljesítetlen levágása",
|
||||
"radarr.DateAdded": "Hozzáadás dátuma",
|
||||
@@ -171,6 +211,8 @@
|
||||
"radarr.MonitoredDescription": "Új megjelenések monitorozása",
|
||||
"radarr.More": "Továbbiak",
|
||||
"radarr.Move": "Mozgatás",
|
||||
"radarr.MoveFiles": "Fájlok átnevezése",
|
||||
"radarr.MoveFilesDescription": "Szeretné áthelyezni a fájlokat?",
|
||||
"radarr.MoveFull": "Fájlok mozgatása",
|
||||
"radarr.Movie": "Film",
|
||||
"radarr.MovieFileDeleted": "Film fájl törölve",
|
||||
@@ -231,6 +273,7 @@
|
||||
"radarr.UnmappedFolders": "{} leképezés nélküli mappa",
|
||||
"radarr.UnmonitorMovie": "Film monitorozásának visszavonása",
|
||||
"radarr.Unmonitored": "Nincs monitorozva",
|
||||
"radarr.Unreleased": "Kiadatlan",
|
||||
"radarr.Upcoming": "Hamarosan",
|
||||
"radarr.UpdateLibrary": "Könyvtár frissítése",
|
||||
"radarr.UpdateMovie": "Film frissítése",
|
||||
@@ -239,6 +282,30 @@
|
||||
"radarr.Wanted": "Kívánatos",
|
||||
"radarr.Weight": "Súly",
|
||||
"radarr.Year": "Év",
|
||||
"sabnzbd.Age": "Kor",
|
||||
"sabnzbd.All": "Összes",
|
||||
"sabnzbd.Ascending": "Emelkedő",
|
||||
"sabnzbd.CategoryDefault": "Alapértelmezett kategória",
|
||||
"sabnzbd.Completed": "Befejezve",
|
||||
"sabnzbd.Descending": "Csökkenő",
|
||||
"sabnzbd.Duplicate": "Duplikálás",
|
||||
"sabnzbd.Failed": "Nem sikerült",
|
||||
"sabnzbd.HibernatePC": "PC Hibernálása",
|
||||
"sabnzbd.Low": "Alacsony",
|
||||
"sabnzbd.Force": "Kényszerítés",
|
||||
"sabnzbd.High": "Magas",
|
||||
"sabnzbd.Repair": "Javítás",
|
||||
"sabnzbd.RepairUnpack": "Javítás/kicsomagolás",
|
||||
"sabnzbd.ShutdownSABnzbd": "SABnzbd leállítása",
|
||||
"sabnzbd.Name": "Név",
|
||||
"sabnzbd.RepairUnpackDelete": "Javítás/kicsomagolás/törlés",
|
||||
"sabnzbd.StandbyPC": "PC készenlétbe",
|
||||
"sabnzbd.None": "Egyik sem",
|
||||
"sabnzbd.Size": "Méret",
|
||||
"sabnzbd.Normal": "Normál",
|
||||
"sabnzbd.Paused": "Szüneteltetve",
|
||||
"sabnzbd.ShutdownPC": "PC leállítása",
|
||||
"sabnzbd.Stop": "Megállítás",
|
||||
"search.Subcategories": "Alkategóriák",
|
||||
"search.Size": "Méret",
|
||||
"search.SentTo": "Elküldve {}",
|
||||
@@ -331,7 +398,7 @@
|
||||
"settings.HostHint4": "Ha nem használ fordított proxyt, kérjük, adja meg a portot",
|
||||
"settings.HostHint3": "Ne használjon localhostot vagy 127.0.0.1-t",
|
||||
"settings.HostHint2": "Meg kell adnia a http: // vagy a https: //",
|
||||
"settings.HostHint1": "Ez az az URL, amelyben hozzáfér a szolgáltatás webes felhasználói felületéhez",
|
||||
"settings.HostHint1": "Ez az URL amelyben hozzáfér a szolgáltatás webes felhasználói felületéhez",
|
||||
"settings.Host": "Hoszt",
|
||||
"settings.HeaderValueValidation": "Fejlécérték szükséges",
|
||||
"settings.HeaderValue": "Fejléc értéke",
|
||||
@@ -363,7 +430,7 @@
|
||||
"settings.DeleteIndexer": "Indexer törlése",
|
||||
"settings.DeleteHeaderHint1": "Biztosan törli ezt a fejlécet?",
|
||||
"settings.DeleteHeader": "Fejléc törlése",
|
||||
"settings.DeleteCloudBackupSuccess": "Sikeresen törölve",
|
||||
"settings.DeleteCloudBackupSuccess": "Törölve",
|
||||
"settings.DeleteCloudBackupFailure": "Nem sikerült törölni",
|
||||
"settings.DeleteCloudBackupDescription": "Konfigurációs fájl törlése",
|
||||
"settings.DeleteCloudBackup": "A biztonsági mentés törlése a felhőből",
|
||||
@@ -380,7 +447,7 @@
|
||||
"settings.ConnectionDetailsDescription": "A(z) {} kapcsolatának részletei",
|
||||
"settings.ConnectionDetails": "Kapcsolat részletei",
|
||||
"settings.ConnectedSuccessfullyMessage": "{} készen áll a LunaSea használatára!",
|
||||
"settings.ConnectedSuccessfully": "Csatlakozás sikeres",
|
||||
"settings.ConnectedSuccessfully": "Csatlakozva",
|
||||
"settings.ConfigurationDescription": "Konfigurálja és állítsa be a LunaSea-t",
|
||||
"settings.Configuration": "Konfiguráció",
|
||||
"settings.ConfigureModule": "{} konfigurálása",
|
||||
@@ -501,6 +568,32 @@
|
||||
"settings.DefaultPagesDescription": "Állítsa be az alapértelmezett céloldalakat",
|
||||
"settings.FutureDays": "Napokban",
|
||||
"settings.GitHubDescription": "Tekintse meg a forráskódot",
|
||||
"settings.RenamedProfile": "Profil átnevezése",
|
||||
"settings.ProfileToProfile": "\"{}\"-tól \"{}\"-ig",
|
||||
"settings.SentryLogging": "Sentry naplózás",
|
||||
"settings.SentryLoggingDescription": "Hibák és összeomlások feltöltése a Sentry-be",
|
||||
"settings.EnableInAppNotifications": "Alkalmazáson belüli értesítések engedélyezése",
|
||||
"settings.BootModule": "Indító modul",
|
||||
"settings.DatabaseCorruptionDetectedMessageLine2": "Elnézést kérünk a kellemetlenségért, minden korábban létrehozott biztonsági másolatnak visszaállíthatónak kell lennie, még akkor is, ha korábban sérült adatbázissal exportálták.",
|
||||
"settings.DatabaseCorruptionDetected": "Korrupt adatbázis",
|
||||
"settings.OpenDrawerOnBackActionDescription": "LunaSea bezárásakor nyissa meg a fiókot",
|
||||
"settings.NoProfilesFound": "Nem található profil",
|
||||
"settings.OpenDrawerOnBackAction": "Nyissa ki a fiókot a visszalépéskor",
|
||||
"settings.AddedProfile": "Hozzáadott profil",
|
||||
"settings.DeletedProfile": "Törölt profil",
|
||||
"settings.DiscordDescription": "Kérjen funkciókat és kérjen támogatást",
|
||||
"settings.ViewTypeLogs": "Tekintse meg a {} naplókat",
|
||||
"settings.ChangedProfile": "Megváltoztatott profil",
|
||||
"settings.DatabaseCorruptionDetectedMessageLine1": "Adatbázissérülést észleltünk, és a konfigurációt töröltük.",
|
||||
"settings.General": "Általános",
|
||||
"settings.GeneralDescription": "LunaSea testreszabása",
|
||||
"settings.NoAdditionalProfilesAdded": "További profilok nem lettek hozzáadva",
|
||||
"settings.Build": "Buildszám",
|
||||
"settings.Channel": "Csatorna",
|
||||
"settings.DownloadUpdate": "Frissítés letöltése",
|
||||
"settings.Platform": "Platform adatai",
|
||||
"settings.UpToDate": "Naprakész",
|
||||
"settings.Version": "Verzió",
|
||||
"sonarr.ManySeasons": "{} Évad",
|
||||
"sonarr.AddReleaseToBlocklist": "Adja hozzá a kiadást a tiltólistához",
|
||||
"sonarr.CheckDownloadClient": "További részletekért ellenőrizze a letöltési klienst",
|
||||
@@ -780,6 +873,8 @@
|
||||
"tautulli.Audio": "Hang",
|
||||
"tautulli.ActivityDetails": "Tevékenység részletei",
|
||||
"tautulli.Activity": "Tevékenység",
|
||||
"tautulli.Converting": "Konvertálás",
|
||||
"tautulli.Speed": "Sebesség: {}x",
|
||||
"wake_on_lan.MagicPacketSent": "Magic Packet elküldve",
|
||||
"wake_on_lan.MagicPacketSentMessage": "A gépednek fel kellene ébrednie!",
|
||||
"wake_on_lan.MagicPacketFailedToSend": "Nem sikerült Magic Packet-et küldeni"
|
||||
|
||||
@@ -164,18 +164,18 @@
|
||||
"radarr.Language": "Idioma",
|
||||
"radarr.Languages": "Idiomas",
|
||||
"radarr.ManualImport": "Importação manual",
|
||||
"radarr.ManualImportDescription": "Importar filmes do sistema de arquivos",
|
||||
"radarr.ManualImportDescription": "Importar filmes do sistema de ficheiros",
|
||||
"radarr.MinimumAvailability": "Disponibilidade mínima",
|
||||
"radarr.More": "Mais",
|
||||
"radarr.Movie": "Filme",
|
||||
"radarr.MovieFileDeleted": "Arquivo do filme excluído",
|
||||
"radarr.MovieFileRenamed": "Arquivo do filme renomeado",
|
||||
"radarr.MovieFileDeleted": "Ficheiro do filme apagado",
|
||||
"radarr.MovieFileRenamed": "Ficheiro do filme renomeado",
|
||||
"radarr.MovieImported": "Filme importado ({})",
|
||||
"radarr.MovieNotFound": "Filme não encontrado",
|
||||
"radarr.MoviePath": "Caminho do filme",
|
||||
"radarr.Movies": "Filmes",
|
||||
"radarr.NoDisksFound": "Nenhum disco encontrado",
|
||||
"radarr.NoFilesFound": "Nenhum arquivo encontrado",
|
||||
"radarr.NoFilesFound": "Nenhum ficheiro encontrado",
|
||||
"radarr.NoHistoryFound": "Nenhum histórico encontrado",
|
||||
"radarr.NoMoviesFound": "Nenhum filme encontrado",
|
||||
"radarr.NoResultsFound": "Nenhum resultado encontrado",
|
||||
@@ -479,9 +479,9 @@
|
||||
"settings.UpdatePassword": "Atualizar senha",
|
||||
"sonarr.AddedTag": "Tag Adicionada",
|
||||
"sonarr.AddSeries": "Adicionar Série",
|
||||
"sonarr.DeleteFile": "Deletar Arquivo",
|
||||
"sonarr.EpisodeFileDeleted": "Arquivo do Episódio Deletado",
|
||||
"sonarr.EpisodeFileRenamed": "Arquivo do Episódio Renomeado",
|
||||
"sonarr.DeleteFile": "Apagar Ficheiro",
|
||||
"sonarr.EpisodeFileDeleted": "Ficheiro do Episódio Apagado",
|
||||
"sonarr.EpisodeFileRenamed": "Ficheiro do Episódio Renomeado",
|
||||
"sonarr.EpisodeNumber": "Episódio {}",
|
||||
"sonarr.FailedToAddSeries": "Falhou ao Adicionar Séries",
|
||||
"sonarr.FailedToAddTag": "Falhou ao adicionar Tag",
|
||||
@@ -502,18 +502,18 @@
|
||||
"sonarr.Monitoring": "Monitorando",
|
||||
"sonarr.AllSeasons": "Todas as Temporadas",
|
||||
"sonarr.AutomaticSearch": "Busca Automática",
|
||||
"sonarr.DeleteEpisodeFile": "Deletar Arquivo do Episódio",
|
||||
"sonarr.DeleteEpisodeFile": "Deletar Ficheiro do Episódio",
|
||||
"sonarr.Language": "Língua",
|
||||
"sonarr.Audio": "Áudio",
|
||||
"sonarr.DeleteEpisodeFileHint1": "Tem certeza que deseja apagar o arquivo desse episódio?",
|
||||
"sonarr.DeleteFiles": "Deletar Arquivos",
|
||||
"sonarr.DeleteEpisodeFileHint1": "Tem certeza que deseja apagar o ficheiro desse episódio?",
|
||||
"sonarr.DeleteFiles": "Apagar Ficheiros",
|
||||
"sonarr.Episode": "Episódio",
|
||||
"sonarr.EpisodesAvailable": "Episódios Disponíveis",
|
||||
"sonarr.EpisodeImported": "Episódio Importado ({})",
|
||||
"sonarr.FilterCatalogue": "Filtrar Catálogo",
|
||||
"sonarr.FilterReleases": "Filtrar Lançamentos",
|
||||
"sonarr.Languages": "Línguas",
|
||||
"sonarr.ManualImportDescription": "Importar Conteúdo do Sistema de Arquivos",
|
||||
"sonarr.ManualImportDescription": "Importar Conteúdo do Sistema de Ficheiros",
|
||||
"sonarr.Monitored": "Monitorado",
|
||||
"sonarr.MissingEpisodesHint1": "Tem certeza que deseja procurar por todos os episódios faltantes?",
|
||||
"sonarr.MonitorEpisode": "Monitorar Episódio",
|
||||
@@ -533,12 +533,12 @@
|
||||
"sonarr.Channels": "Canais",
|
||||
"sonarr.Client": "Cliente",
|
||||
"sonarr.Continuing": "Continuando",
|
||||
"sonarr.DeleteReasonUpgrade": "O arquivo foi excluído para importar uma atualização",
|
||||
"sonarr.DeleteReasonUpgrade": "O ficheiro foi apagado para importar uma atualização",
|
||||
"sonarr.DestinationRelative": "Destino relativo",
|
||||
"sonarr.Download": "Baixar",
|
||||
"sonarr.BackupDatabase": "Backup do banco de dados",
|
||||
"sonarr.CheckDownloadClient": "Verifique o cliente de download para obter mais detalhes",
|
||||
"sonarr.DeleteReasonMissingFromDisk": "O Sonarr não conseguiu encontrar o arquivo no disco, então ele foi removido",
|
||||
"sonarr.DeleteReasonMissingFromDisk": "O Sonarr não conseguiu encontrar o ficheiro no disco, então ele foi removido",
|
||||
"sonarr.EditSeries": "Editar séries",
|
||||
"sonarr.DownloadingWithMessage": "Baixando: {}",
|
||||
"sonarr.Downloading": "Baixando",
|
||||
|
||||
132
assets/localization/sk.json
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"dashboard.Calendar": "Kalendár",
|
||||
"dashboard.Friday": "Piatok",
|
||||
"dashboard.MinimumOfOneDay": "Minimálne 1 deň",
|
||||
"dashboard.Modules": "Moduly",
|
||||
"dashboard.Monday": "Pondelok",
|
||||
"dashboard.OneMonth": "Jeden mesiac",
|
||||
"dashboard.OneWeek": "Jeden týždeň",
|
||||
"dashboard.PastDays": "Uplynulé dni",
|
||||
"dashboard.PastDaysDescription": "Vyberte počet dní v minulosti, pre ktoré sa majú načítať záznamy z kalendára.",
|
||||
"dashboard.Saturday": "Sobota",
|
||||
"dashboard.Schedule": "Prehľad",
|
||||
"dashboard.Sunday": "Nedeľa",
|
||||
"dashboard.FutureDaysDescription": "Vyberte počet dní v budúcnosti, pre ktoré sa majú načítať záznamy z kalendára.",
|
||||
"dashboard.TwoWeeks": "Dva týždne",
|
||||
"dashboard.Wednesday": "Streda",
|
||||
"dashboard.FutureDays": "Budúce dni",
|
||||
"dashboard.Tuesday": "Utorok",
|
||||
"dashboard.NoNewContent": "Žiadny nový obsah",
|
||||
"dashboard.Thursday": "Štvrtok",
|
||||
"lidarr.StartSearchFor": "Začnite hľadať…",
|
||||
"lidarr.StartSearchForMissingAlbums": "Začnite hľadať chýbajúce albumy",
|
||||
"overseerr.Approved": "Schválené",
|
||||
"overseerr.Issues": "Problémy",
|
||||
"overseerr.NoIssues": "Žiadne problémy",
|
||||
"overseerr.NoIssuesFound": "Nenašli sa žiadne problémy",
|
||||
"overseerr.NoRequests": "Žiadne požiadavky",
|
||||
"overseerr.NoRequestsFound": "Nenašli sa žiadne požiadavky",
|
||||
"overseerr.OneRequest": "1 požiadavka",
|
||||
"overseerr.Open": "Otvorené",
|
||||
"overseerr.Other": "Iné",
|
||||
"overseerr.PartiallyAvailable": "Čiastočne dostupné",
|
||||
"overseerr.Pending": "Čakajúce",
|
||||
"overseerr.SomeRequests": "Požiadavky",
|
||||
"overseerr.Resolved": "Vyriešené",
|
||||
"overseerr.RequestedBy": "Vyžiadané {}",
|
||||
"overseerr.Requests": "Požiadavky",
|
||||
"overseerr.Subtitle": "Titulky",
|
||||
"overseerr.Users": "Používatelia",
|
||||
"overseerr.Video": "Video",
|
||||
"overseerr.Requested": "Vyžiadané",
|
||||
"overseerr.Declined": "Zamietnuté",
|
||||
"overseerr.OpenedBy": "Otvorené",
|
||||
"overseerr.Audio": "Audio",
|
||||
"overseerr.Processing": "Spracovávané",
|
||||
"overseerr.Available": "Dostupné",
|
||||
"overseerr.NoUsersFound": "Žiadni nájdení používatelia",
|
||||
"overseerr.UnknownUser": "Neznámy používateľ",
|
||||
"sabnzbd.All": "Všetky",
|
||||
"sabnzbd.Ascending": "Vzostupne",
|
||||
"sabnzbd.CategoryDefault": "Predvolená kategória",
|
||||
"sabnzbd.Completed": "Dokončené",
|
||||
"sabnzbd.Descending": "Zostupne",
|
||||
"sabnzbd.Duplicate": "Duplikát",
|
||||
"sabnzbd.Force": "Vynútiť",
|
||||
"sabnzbd.High": "Vysoká",
|
||||
"sabnzbd.Name": "Názov",
|
||||
"sabnzbd.Normal": "Normálna",
|
||||
"sabnzbd.Repair": "Opraviť",
|
||||
"sabnzbd.RepairUnpackDelete": "Opraviť/rozbaliť/vymazať",
|
||||
"sabnzbd.Size": "Veľkosť",
|
||||
"sabnzbd.StandbyPC": "Pohotovostný režim PC",
|
||||
"sabnzbd.Stop": "Stop",
|
||||
"sabnzbd.RepairUnpack": "Opraviť/rozbaliť",
|
||||
"sabnzbd.Low": "Nízka",
|
||||
"sabnzbd.None": "Žiadne",
|
||||
"sabnzbd.Age": "Vek",
|
||||
"sabnzbd.Failed": "Neúspešné",
|
||||
"sabnzbd.HibernatePC": "Hibernovať PC",
|
||||
"sabnzbd.Paused": "Pozastavené",
|
||||
"sabnzbd.ShutdownPC": "Vypnúť PC",
|
||||
"sabnzbd.ShutdownSABnzbd": "Vypnúť SABnzbd",
|
||||
"search.AllSubcategories": "Všetky podkategórie",
|
||||
"search.Category": "Kategória",
|
||||
"search.Download": "Stiahnuť",
|
||||
"search.Downloading": "Sťahovanie…",
|
||||
"search.DownloadingNZBToDevice": "Sťahuje sa NZB do zariadenia",
|
||||
"search.DownloadToDevice": "Stiahnuť do zariadenia",
|
||||
"search.FailedToDownloadNZB": "Nepodarilo sa stiahnuť NZB",
|
||||
"search.FailedToSend": "Nepodarilo sa odoslať",
|
||||
"search.NoSubcategoriesFound": "Nenašli sa žiadne podkategórie",
|
||||
"search.Results": "Výsledky",
|
||||
"search.Search": "Vyhľadávanie",
|
||||
"search.SentTo": "Odoslané {}",
|
||||
"search.Size": "Veľkosť",
|
||||
"search.Subcategories": "Podkategórie",
|
||||
"search.Age": "Vek",
|
||||
"search.Alphabetical": "Abecedné",
|
||||
"search.Categories": "Kategórie",
|
||||
"search.Comments": "Komentáre",
|
||||
"search.NoCategoriesFound": "Nenašli sa žiadne kategórie",
|
||||
"search.NoResultsFound": "Nenašli sa žiadne výsledky",
|
||||
"search.SentNZBData": "Odoslané NZB údaje",
|
||||
"settings.Account": "Účet",
|
||||
"settings.AccountDeleted": "Účet zmazaný",
|
||||
"settings.AccountDescription": "Váš účet LunaSea",
|
||||
"settings.AccountHelp": "Účet LunaSea",
|
||||
"settings.AccountSettings": "Nastavenia účtu",
|
||||
"settings.Add": "Pridať",
|
||||
"settings.AddHeader": "Pridať hlavičku",
|
||||
"settings.AddProfile": "Pridať profil",
|
||||
"settings.AddProfileDescription": "Pridať nový profil",
|
||||
"settings.AmoledTheme": "AMOLED téma",
|
||||
"settings.AmoledThemeBorders": "AMOLED Okraje témy",
|
||||
"settings.AmoledThemeBordersDescription": "Pridanie jemných hraníc v celom UI",
|
||||
"settings.ApiKey": "API kľúč",
|
||||
"settings.ApiKeyRequiredMessage": "API kľúč je potrebný na pripojenie k {}",
|
||||
"settings.AccountDeletedMessage": "Odstránený účet LunaSea",
|
||||
"settings.AccountHelpHint1": "LunaSea ponúka bezplatný účet na zálohovanie vašej konfigurácie do cloudu, pričom v budúcnosti pribudnú ďalšie funkcie!",
|
||||
"settings.AddModule": "Pridať modul",
|
||||
"settings.AddModuleFailed": "Nepodarilo sa pridať modul",
|
||||
"settings.AddModuleSuccess": "Modul pridaný",
|
||||
"settings.AddedProfile": "Pridaný profil",
|
||||
"settings.AllFieldsAreRequired": "Všetky polia sú povinné",
|
||||
"settings.AmoledThemeDescription": "Čisto čierna tmavá téma",
|
||||
"settings.ApiKeyRequired": "API kľúč požadovaný",
|
||||
"settings.AppearanceDescription": "Prispôsobenie vzhľadu a funkcií",
|
||||
"settings.Appearance": "Vzhľad",
|
||||
"tautulli.ActivityDetails": "Podrobnosti o aktivite",
|
||||
"tautulli.BackingUpConfiguration": "Zálohovanie konfigurácie…",
|
||||
"tautulli.BackingUpConfigurationDescription": "Zálohovanie konfigurácie na pozadí",
|
||||
"tautulli.BackingUpConfigurationFailed": "Zlyhalo zálohovanie konfigurácie",
|
||||
"tautulli.BackingUpDatabaseFailed": "Zlyhalo zálohovanie databázy",
|
||||
"tautulli.BackupConfiguration": "Konfigurácia zálohovania",
|
||||
"tautulli.Activity": "Aktivita",
|
||||
"tautulli.Audio": "Audio",
|
||||
"tautulli.BackingUpDatabase": "Zálohovanie databázy…",
|
||||
"tautulli.BackingUpDatabaseDescription": "Zálohovanie databázy na pozadí",
|
||||
"wake_on_lan.MagicPacketSent": "Odoslaný magický balík",
|
||||
"wake_on_lan.MagicPacketFailedToSend": "Nepodarilo sa odoslať magický balík",
|
||||
"wake_on_lan.MagicPacketSentMessage": "Váš počítač by sa mal prebúdzať!"
|
||||
}
|
||||
@@ -57,6 +57,8 @@
|
||||
"lunasea.DownloadClient": "İstemciyi İndir",
|
||||
"lunasea.Edge": "Kenar",
|
||||
"lunasea.Error": "Hata",
|
||||
"lunasea.EverySecond": "Her Saniye",
|
||||
"lunasea.EverySeconds": "Her {} Saniyede Bir",
|
||||
"lunasea.ExternalModules": "Harici Modüller",
|
||||
"lunasea.Features": "Özellikler",
|
||||
"lunasea.Fixes": "Düzeltmeler",
|
||||
@@ -70,6 +72,7 @@
|
||||
"lunasea.IncorrectEncryptionKey": "Yanlış şifreleme anahtarı",
|
||||
"lunasea.Internal": "Dahili",
|
||||
"lunasea.InvalidFileTypeSelected": "Geçersiz Dosya Türü Seçildi",
|
||||
"lunasea.Items": "{} Öge",
|
||||
"lunasea.JustNow": "Az Önce",
|
||||
"lunasea.Minutes": "{} Dakika",
|
||||
"lunasea.MinutesAgo": "{} Dakika Önce",
|
||||
@@ -85,6 +88,7 @@
|
||||
"lunasea.OneDayAgo": "1 Gün Önce",
|
||||
"lunasea.OneHour": "1 Saat",
|
||||
"lunasea.OneHourAgo": "1 Saat Önce",
|
||||
"lunasea.OneItem": "1 Öge",
|
||||
"lunasea.OneMinute": "1 Dakika",
|
||||
"lunasea.OneMinuteAgo": "1 Dakika Önce",
|
||||
"lunasea.OneMonth": "1 Ay",
|
||||
@@ -113,6 +117,8 @@
|
||||
"lunasea.Settings": "Ayarlar",
|
||||
"lunasea.Stable": "Kararlı",
|
||||
"lunasea.StartingView": "Başlangıç Görünümü",
|
||||
"lunasea.ThankYou": "Teşekkürler",
|
||||
"lunasea.ThankYouMessage": "Açık kaynak topluluğunu desteklediğiniz için teşekkür ederiz!",
|
||||
"lunasea.Today": "Bugün",
|
||||
"lunasea.TransactionFailure": "İşlem Hatası",
|
||||
"lunasea.TryAgain": "Tekrar Deneyin",
|
||||
@@ -282,6 +288,30 @@
|
||||
"radarr.Wanted": "İstenen",
|
||||
"radarr.Weight": "Ağırlık",
|
||||
"radarr.Year": "Yıl",
|
||||
"sabnzbd.Age": "Yaş",
|
||||
"sabnzbd.Duplicate": "Yinelenen",
|
||||
"sabnzbd.Failed": "Başarısız",
|
||||
"sabnzbd.Force": "Zorla",
|
||||
"sabnzbd.Repair": "Onar",
|
||||
"sabnzbd.RepairUnpack": "Onar/Ayıkla",
|
||||
"sabnzbd.RepairUnpackDelete": "Onar/Ayıkla/Sil",
|
||||
"sabnzbd.Size": "Boyut",
|
||||
"sabnzbd.ShutdownPC": "Bilgisayarı Kapat",
|
||||
"sabnzbd.ShutdownSABnzbd": "SABnzbd'yi Kapat",
|
||||
"sabnzbd.StandbyPC": "Bilgisayarı Beklemeye Al",
|
||||
"sabnzbd.Stop": "Durdur",
|
||||
"sabnzbd.CategoryDefault": "Kategori Öntanımlı Değeri",
|
||||
"sabnzbd.Completed": "Tamamlandı",
|
||||
"sabnzbd.Descending": "Azalan",
|
||||
"sabnzbd.High": "Yüksek",
|
||||
"sabnzbd.Low": "Düşük",
|
||||
"sabnzbd.Paused": "Duraklatıldı",
|
||||
"sabnzbd.All": "Tümü",
|
||||
"sabnzbd.Ascending": "Artan",
|
||||
"sabnzbd.HibernatePC": "Bilgisayarı Hazırda Beklet",
|
||||
"sabnzbd.None": "Yok",
|
||||
"sabnzbd.Name": "Ad",
|
||||
"sabnzbd.Normal": "Normal",
|
||||
"search.Subcategories": "Alt Kategoriler",
|
||||
"search.Size": "Boyut",
|
||||
"search.SentTo": "{}'e gönderildi",
|
||||
@@ -568,6 +598,8 @@
|
||||
"settings.BootModule": "Önyükleme Modülü",
|
||||
"settings.GeneralDescription": "LunaSea'yi Özelleştirin",
|
||||
"settings.General": "Genel",
|
||||
"settings.OpenDrawerOnBackAction": "Geri Eyleminde Çekmeceyi Aç",
|
||||
"settings.OpenDrawerOnBackActionDescription": "LunaSea'yi kapatmak yerine çekmeceyi açın",
|
||||
"sonarr.AddedSeries": "Eklenen Diziler",
|
||||
"sonarr.Age": "Yıl",
|
||||
"sonarr.All": "Her Şey",
|
||||
@@ -602,7 +634,7 @@
|
||||
"sonarr.Monitor": "Takip Et",
|
||||
"sonarr.MonitorEpisode": "Bölümü Takip Et",
|
||||
"sonarr.MonitorSeries": "Diziyi Takip Et",
|
||||
"sonarr.Name": "İsim",
|
||||
"sonarr.Name": "Ad",
|
||||
"sonarr.NoEpisodesFound": "Bölüm Bulunamadı",
|
||||
"sonarr.NoSeasonsFound": "Sezonlar Bulunamadı",
|
||||
"sonarr.NoSeriesFound": "Diziler Bulunamadı",
|
||||
@@ -847,6 +879,8 @@
|
||||
"tautulli.BackingUpConfiguration": "Yapılandırma Yedekleniyor…",
|
||||
"tautulli.Audio": "Ses",
|
||||
"tautulli.ActivityDetails": "Etkinlik Ayrıntıları",
|
||||
"tautulli.Converting": "Dönüştürülüyor",
|
||||
"tautulli.Speed": "Hız: {}x",
|
||||
"wake_on_lan.MagicPacketSent": "Sihirli Paket Gönderildi",
|
||||
"wake_on_lan.MagicPacketSentMessage": "Makineniz uyanıyor olmalı!",
|
||||
"wake_on_lan.MagicPacketFailedToSend": "Sihirli Paket Gönderilemedi"
|
||||
|
||||
@@ -593,8 +593,11 @@
|
||||
"settings.DiscordDescription": "请求功能获得支持",
|
||||
"settings.General": "通用",
|
||||
"settings.GeneralDescription": "自定义LunaSea",
|
||||
"settings.BootModule": "启动模块",
|
||||
"settings.OpenDrawerOnBackAction": "从背面打开抽屉",
|
||||
"settings.OpenDrawerOnBackActionDescription": "打开抽屉而不关闭LunaSea",
|
||||
"sonarr.AddSeries": "添加系列",
|
||||
"sonarr.AddedOn": "添加于",
|
||||
"sonarr.AddedOn": "添加到",
|
||||
"sonarr.Age": "年龄",
|
||||
"sonarr.All": "全部",
|
||||
"sonarr.AllSeasons": "所有季",
|
||||
@@ -770,7 +773,7 @@
|
||||
"sonarr.UpdatedSeries": "更新系列",
|
||||
"sonarr.Languages": "语言文字",
|
||||
"sonarr.NoReleasesFound": "未找到任何新版本",
|
||||
"sonarr.AddedSeries": "添加系列",
|
||||
"sonarr.AddedSeries": "新增系列",
|
||||
"sonarr.AddedTag": "添加标签",
|
||||
"sonarr.AddReleaseToBlocklist": "添加发布到阻止列表",
|
||||
"sonarr.DownloadWarning": "下载警告",
|
||||
@@ -872,6 +875,8 @@
|
||||
"tautulli.NoActiveStreams": "没有活动流",
|
||||
"tautulli.Season": "季 {}",
|
||||
"tautulli.TerminateSessionFailed": "终止会话失败",
|
||||
"tautulli.Converting": "转换",
|
||||
"tautulli.Speed": "倍速:{}x",
|
||||
"wake_on_lan.MagicPacketSent": "已发送幻包",
|
||||
"wake_on_lan.MagicPacketSentMessage": "您的机器正在唤醒!",
|
||||
"wake_on_lan.MagicPacketFailedToSend": "幻包发送失败"
|
||||
|
||||
6
debian/DEBIAN/control
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
Package:LunaSea
|
||||
Architecture:amd64
|
||||
Essential:no
|
||||
Priority:optional
|
||||
Maintainer:LunaSea Support <hello@lunasea.app>
|
||||
Description:Self-hosted software controller built using Flutter
|
||||
3
debian/DEBIAN/postinst
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
ln -sf '/usr/share/lunasea/lunasea' '/usr/bin/lunasea'
|
||||
3
debian/DEBIAN/postrm
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm -f '/usr/bin/lunasea'
|
||||
9
debian/usr/share/applications/lunasea.desktop
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=LunaSea
|
||||
Comment=Self-hosted software controller built using Flutter
|
||||
Icon=/usr/share/icons/lunasea.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Utilities;Entertainment;
|
||||
Exec=/usr/bin/lunasea
|
||||
TryExec=/usr/bin/lunasea
|
||||
BIN
debian/usr/share/icons/lunasea.png
vendored
Normal file
|
After Width: | Height: | Size: 58 KiB |
163
docs.json
@@ -1,163 +0,0 @@
|
||||
{
|
||||
"name": "LunaSea",
|
||||
"favicon": "/assets/logo.png",
|
||||
"logo": "/assets/logo.png",
|
||||
"logoDark": "/assets/logo.png",
|
||||
"theme": "#4ECCA3",
|
||||
"docsearch": {
|
||||
"apiKey": "58e5f38cec4d05c99cc2e20f557c5463",
|
||||
"indexName": "lunasea",
|
||||
"appId": "W0TEIU1RA4"
|
||||
},
|
||||
"sidebar": [
|
||||
[
|
||||
"Overview",
|
||||
"/"
|
||||
],
|
||||
[
|
||||
"Getting Started",
|
||||
[
|
||||
[
|
||||
"Build Channels",
|
||||
"/getting-started/build-channels"
|
||||
],
|
||||
[
|
||||
"Donations",
|
||||
"/getting-started/donations"
|
||||
],
|
||||
[
|
||||
"Frequently Asked Questions",
|
||||
"/getting-started/frequently-asked-questions"
|
||||
],
|
||||
[
|
||||
"Platform Restrictions",
|
||||
"/getting-started/platform-restrictions"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
"LunaSea",
|
||||
[
|
||||
[
|
||||
"Account",
|
||||
"/lunasea/account"
|
||||
],
|
||||
[
|
||||
"Local Backup & Restore",
|
||||
"/lunasea/local-backup-restore"
|
||||
],
|
||||
[
|
||||
"Logs",
|
||||
"/lunasea/logs"
|
||||
],
|
||||
[
|
||||
"Notifications",
|
||||
"/lunasea/notifications"
|
||||
],
|
||||
[
|
||||
"Profiles",
|
||||
"/lunasea/profiles"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
"Modules",
|
||||
[
|
||||
[
|
||||
"Lidarr",
|
||||
"/modules/lidarr"
|
||||
],
|
||||
[
|
||||
"Newznab Search",
|
||||
"/modules/newznab-search"
|
||||
],
|
||||
[
|
||||
"NZBGet",
|
||||
"/modules/nzbget"
|
||||
],
|
||||
[
|
||||
"Overseerr",
|
||||
"/modules/overseerr"
|
||||
],
|
||||
[
|
||||
"Radarr",
|
||||
"/modules/radarr"
|
||||
],
|
||||
[
|
||||
"SABnzbd",
|
||||
"/modules/sabnzbd"
|
||||
],
|
||||
[
|
||||
"Sonarr",
|
||||
"/modules/sonarr"
|
||||
],
|
||||
[
|
||||
"Tautulli",
|
||||
"/modules/tautulli"
|
||||
],
|
||||
[
|
||||
"Wake on LAN",
|
||||
"/modules/wake-on-lan"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
"Notifications",
|
||||
[
|
||||
[
|
||||
"Custom",
|
||||
"/notifications/custom"
|
||||
],
|
||||
[
|
||||
"Lidarr",
|
||||
"/notifications/lidarr"
|
||||
],
|
||||
[
|
||||
"Overseerr",
|
||||
"/notifications/overseerr"
|
||||
],
|
||||
[
|
||||
"Radarr",
|
||||
"/notifications/radarr"
|
||||
],
|
||||
[
|
||||
"Sonarr",
|
||||
"/notifications/sonarr"
|
||||
],
|
||||
[
|
||||
"Tautulli",
|
||||
"/notifications/tautulli"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
"Releases",
|
||||
[
|
||||
[
|
||||
"Android",
|
||||
"/releases/android"
|
||||
],
|
||||
[
|
||||
"iOS",
|
||||
"/releases/ios"
|
||||
],
|
||||
[
|
||||
"Linux",
|
||||
"/releases/linux"
|
||||
],
|
||||
[
|
||||
"macOS",
|
||||
"/releases/macos"
|
||||
],
|
||||
[
|
||||
"Web",
|
||||
"/releases/web"
|
||||
],
|
||||
[
|
||||
"Windows",
|
||||
"/releases/windows"
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 259 KiB |
|
Before Width: | Height: | Size: 282 KiB |
|
Before Width: | Height: | Size: 253 KiB |
|
Before Width: | Height: | Size: 265 KiB |
@@ -1,37 +0,0 @@
|
||||
---
|
||||
title: Build Channels
|
||||
description: How to use different builds of LunaSea
|
||||
---
|
||||
|
||||
# Build Channels
|
||||
|
||||
LunaSea offers four different build channels, each of which supply signed and notarized copies of LunaSea.
|
||||
|
||||
All releases for every build channel can be downloaded from the [build bucket](https://builds.lunasea.app), and all stable releases for all platforms are also available on [GitHub](https://github.com/JagandeepBrar/LunaSea/releases).
|
||||
|
||||
- [Android](/releases/android)
|
||||
- [iOS](/releases/ios)
|
||||
- [Linux](/releases/linux)
|
||||
- [macOS](/releases/macos)
|
||||
- [Web](/releases/web)
|
||||
- [Windows](/releases/windows/)
|
||||
|
||||
## Stable
|
||||
|
||||
This is the store version and will remain the most stable version. No in-progress features will be deployed to this channel.
|
||||
|
||||
## Candidate
|
||||
|
||||
This channel is focused around _final release candidate testing of completed new features_ leading up to the release to stable. This channel is intended to help catch any remaining bugs from beta builds and overall should remain relatively stable.
|
||||
|
||||
## Beta
|
||||
|
||||
This channel is focused around _early previews and testing of work-in-progress features_. This channel is intended to allow users to give feedback to the developer on features that are actively being worked on.
|
||||
|
||||
## Edge
|
||||
|
||||
This channel's purpose is to _ensure that every commit made to master is building across all platforms_ and allows for easier access to a build for each commit. This is not intended to be used by the average user, but is for community developers or users who need to test a recently added fix that has not yet reached the beta channel.
|
||||
|
||||
There are no restrictions on features in these builds (barring a very specific subset used for debugging/testing) so it gives full access to everything that is work in progress.
|
||||
|
||||
**Do not expect a fully stable experience if you use these builds**, as it is entirely possible that a single build could cause problems including but not limited to database corruption. If you are running these builds, please ensure you have either a cloud or offline backup available for easy restoration.
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Donations
|
||||
description: How to donate to the developer of LunaSea
|
||||
---
|
||||
|
||||
# Donations
|
||||
|
||||
Thanks for considering donating to LunaSea! Donations are what keep the project alive and completely free for everyone to use. There are a few options available:
|
||||
|
||||
## In-App Purchases
|
||||
|
||||
If you have downloaded LunaSea through the Play Store or App Store, you can directly donate using in-app purchases! Simply head to the Settings and tap the "Donations" tile. There are four options available (all scaled to USD): $0.99, $2.99, $4.99, and $9.99.
|
||||
|
||||
> If you are using TestFlight builds on iOS devices, you will need to switch to the App Store version to donate. Any in-app purchases executed on a TestFlight build do not actually get processed.
|
||||
|
||||
## Ko-Fi
|
||||
|
||||
I have setup a Ko-Fi account for LunaSea, available here: https://ko-fi.com/JagandeepBrar.
|
||||
|
||||
Ko-Fi allows you to make a one-time donation in $1 increments using PayPal.
|
||||
|
||||
## GitHub Sponsors
|
||||
|
||||
I also have setup a GitHub Sponsors account, which is available here: https://github.com/sponsors/JagandeepBrar.
|
||||
|
||||
GitHub Sponsors allow you to setup a recurring donation in the amount of $1 to $5.
|
||||
@@ -1,113 +0,0 @@
|
||||
---
|
||||
title: Frequently Asked Questions
|
||||
description: Frequently asked questions regarding LunaSea
|
||||
---
|
||||
|
||||
# Frequently Asked Questions
|
||||
|
||||
## Modules
|
||||
|
||||
#### How Do I Install a "Module"?
|
||||
|
||||
The software, or as used in LunaSea, _Modules_, are all pieces of software that must be installed on a home computer or server. None of the currently supported software has been developed by me, so the amount of support offered for each module is limited. LunaSea itself does not have the functionality of that software, it acts as a remote.
|
||||
|
||||
#### Can You Support "X" Feature/Module?
|
||||
|
||||
I take all requests into consideration! If you would like to request a feature there are a few ways I recommend:
|
||||
|
||||
- [Discord](https://www.lunasea.app/discord)
|
||||
- [Email](mailto:hello@lunasea.app)
|
||||
- [Reddit](https://www.lunasea.app/reddit)
|
||||
|
||||
> I may not have the ability to respond to all requests directly, but please be ensured I do read everything!
|
||||
|
||||
#### Why Isn't Feature/Module "X" Supported Yet?
|
||||
|
||||
LunaSea is only developed by one person and while I try to put as much time into LunaSea as I can, I still do have a family, career, and I want to enjoy my personal time.
|
||||
|
||||
I also want to point out that I don't want to make LunaSea a wide ranging but no depth application. I want every application to have as full of an implementation as possible, which can mean that new modules will take time to get implemented between one another.
|
||||
|
||||
#### Torrent Client Support: Is It Coming?
|
||||
|
||||
Support for torrent clients is easily the most requested new module, and I definitely see the demand. However, torrent support currently is not possible in LunaSea because of the restrictions Apple has put forward. Apple does not allow integration of P2P/torrent clients in any capacity for applications that are hosted on the App Store. This includes a P2P client that runs directly on the device and linking to a P2P client that is running on an external machine.
|
||||
|
||||
Torrent support is not completely off the table and may come in the future! But at the moment, over 90% of the active user base is using iOS-based devices and it is hard to justify building a module (that takes a lot of time) that the mass majority of the user base would not be able to use.
|
||||
|
||||
> I am actively thinking of methods to get around this limitation, if you have any ideas consider commenting on the torrent client support [Discord Forum post](https://discord.com/channels/673591529834807358/1020181897973874748).
|
||||
|
||||
## Development
|
||||
|
||||
#### Who Makes LunaSea?
|
||||
|
||||
Only one person, me! Hi, my name is Jagandeep, and I am a software engineer from Canada. I am currently the main and only developer on LunaSea but I encourage anyone who is interested and wants to contribute to the project to make a pull request on GitHub!
|
||||
|
||||
#### What is LunaSea Developed In?
|
||||
|
||||
LunaSea is developed using Google's hybrid framework, [Flutter](https://flutter.dev/), which uses [Dart](https://dart.dev/) as its core language. Using Flutter allows an indie developer like myself to build cross-platform applications more easily, as it is one single codebase that allows me to build across many platforms!
|
||||
|
||||
#### How is LunaSea Free?
|
||||
|
||||
LunaSea started off as (and still is) a passion project fueled by my love for data hoarding. It was open-sourced soon after it's initial launch to allow LunaSea to get into the hands of as many users as possible and to give back to the community where there is a lack of open-source, high quality mobile applications.
|
||||
|
||||
#### Are You Ever Going To Charge Money/Insert Ads?
|
||||
|
||||
The only possible reason that LunaSea will ever have any kind of payment model is if features are introduced that cost me recurring charges that are too large to bear. Any and all features that do not incur me a charge will be free, and even any features that would cost me money will become open-source, which offers everyone the ability to have a completely free experience in LunaSea.
|
||||
|
||||
## Bugs & Feedback
|
||||
|
||||
#### I Found a Bug! How Do I Let You Know?
|
||||
|
||||
I tried to make it as stable as possible, but bugs obviously will always be there. If you do run into a bug (especially a fatal/crashing bug), please also attach the logs from the application into the report - logs can be exported from the settings.
|
||||
|
||||
- [GitHub Issues](https://www.lunasea.app/github): The best place to alert me of new issues is directly on the GitHub page. Please try to follow the template for bug reports, but again I am not overly strict and a good explanation of the issue will suffice (this may change in the future if it gets increasingly hard to manage).
|
||||
- [Discord](https://www.lunasea.app/discord)
|
||||
- [Email](mailto:hello@lunasea.app)
|
||||
- [Reddit](https://www.lunasea.app/reddit)
|
||||
|
||||
#### How Can I Request a New Feature?
|
||||
|
||||
I consider all feedback and actively try to integrate new features that are requested by the community, big or small! You have a few ways to request new features for LunaSea:
|
||||
|
||||
- [Discord](https://www.lunasea.app/discord)
|
||||
- [Email](mailto:hello@lunasea.app)
|
||||
- [Reddit](https://www.lunasea.app/reddit)
|
||||
|
||||
## Support
|
||||
|
||||
#### Why Don't The Settings Explain Much?
|
||||
|
||||
I understand that the settings section could definitely use better documentation and linking, but this ambiguity and sparse documentation directly within LunaSea is by design.
|
||||
|
||||
LunaSea took quite a runaround to initially get on the App Store because of its relationship with how you acquire Linux ISOs. After successfully getting it on the App Store, I want to avoid adding anything to LunaSea that would potentially get it revoked.
|
||||
|
||||
#### "X" Won't Connect, Help!
|
||||
|
||||
The initial setup can either be incredibly easy or make you want to pull your hair out, I get that and that's what the community is here for! Please feel free to send a message to any of the listed methods to get support where either I or an awesome user in the community will surely come to help you out:
|
||||
|
||||
- [Discord](https://www.lunasea.app/discord)
|
||||
- [Email](mailto:hello@lunasea.app)
|
||||
- [Reddit](https://www.lunasea.app/reddit)
|
||||
|
||||
A few quick tips on common problems:
|
||||
|
||||
- `localhost` and `0.0.0.0` are internal hostnames that means "this computer". They cannot and should not be used as the host, but is commonly used because users mainly access the service from the computer running it. In order for LunaSea to connect, you must find the local IP of your computer (most common home networking configurations have it start with `192.168.0.x` or `192.168.1.x`)
|
||||
- Ensure you match the right API key to the right service. I know this seems like an obvious thing, but you'd be surprised how easy it is to mix up 3-4 API keys when you're going back and forth copying and pasting!
|
||||
- For the -arr services, ensure the binding address in the advanced general settings is not set to `127.0.0.1` or `localhost`, but instead set to either `0.0.0.0`, `*`, or the local IP for the computer/server.
|
||||
- Similarly for the clients, ensure that the host is set to `0.0.0.0`, or the local IP.
|
||||
- As noted in the host prompt, you must add either `http://` or `https://` before the IP or domain. LunaSea does not make any assumptions on the protocol to use (http or https).
|
||||
- Do not use `3xx` redirecting webpages. This is not supported for POST and PUT requests (sending data back to the module) and can cause many headaches, so ideally you should be pointing directly to the module on your network.
|
||||
- _(Windows Only)_: For a lot of software to correctly bind to your network, you need to ensure that you run the software as administrator. This is specifically very important for the -arrs, which will only bind to your host machine if you do not run it as administrator.
|
||||
|
||||
#### How Can I Access My Services Remotely?
|
||||
|
||||
While this is outside of the scope of this project, I can try to point you in the right direction!
|
||||
|
||||
- **Reverse Proxy**: A reverse proxy allows you to open 1 or 2 ports on your network (typically 443 for SSL/https connections and 80 for http connections). Using a reverse proxy also allows you to attach a domain name to your IP and generate a free SSL certificate for https (hint, [LetsEncrypt](https://letsencrypt.org/)). Some common options for reverse proxies are [NGINX Proxy Manager](https://nginxproxymanager.com/), [Traefik](https://traefik.io/), [NGINX](https://nginx.org/), and [Apache](https://www.apache.org/).
|
||||
- **VPN Tunnelling**: Another option is to create a VPN tunnel back to your home network, which would allow you to access your services as if you are on your home network. Tools like [WireGuard](https://www.wireguard.com/) and [OpenVPN](https://openvpn.net/) are perfect for this use case. This is technically the most secure method, but a bit less convenient than using a reverse proxy.
|
||||
- **Direct Port Forwarding**: This method is _not recommended_, but another option is directly forward the ports of the services on your router and access the services via `<External IP>:<Port>`. The reason this is not recommended is because all of the traffic is sent unencrypted (you can use self-signed certificates, but this causes more headaches related to certificate authorities), and the more ports that are open on your network the less secure it is.
|
||||
|
||||
#### I Want to Complain! Where Can I Complain?
|
||||
|
||||
Sorry that LunaSea is not meeting your expectations, feel free to post criticisms or complaints to any of the social platforms or directly [email me](mailto:hello@lunasea.app). I hope that I can remedy your complaints, all I ask is that you do not be abusive or disrespectful to myself or others in the community.
|
||||
|
||||
I also kindly request that before you submit a 1-star App Store/Play Store review that you consider contacting me directly with your complaints. 1-star reviews can really hurt a smaller application's rating since we do not typically get lots of reviews.
|
||||
@@ -1,40 +0,0 @@
|
||||
---
|
||||
title: Platform Restrictions
|
||||
description: Breaking down what is and isn't supported on different platforms
|
||||
---
|
||||
|
||||
# Platform Restrictions
|
||||
|
||||
The tables below showcases which modules or features may not be supported on each platform. If a module or feature is not listed, you can assume that every platform has full support for said module or feature!
|
||||
|
||||
> Work will continuously be done to try to achieve 100% feature parity between all platforms when possible!
|
||||
|
||||
## Module Support
|
||||
|
||||
| Module | Android | iOS | Linux | macOS | Windows | Web (Hosted) | Web (Self-Hosted) |
|
||||
| :---------: | :-----: | :-: | :---: | :---: | :-----: | :----------: | :---------------: |
|
||||
| NZBGet | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||
| Overseerr | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||
| Tautulli | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||
| Wake on LAN | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||
|
||||
## Feature Support
|
||||
|
||||
| Feature | Android | iOS | Linux | macOS | Windows | Web (Hosted) | Web (Self-Hosted) |
|
||||
| :--------------: | :-----: | :-: | :---: | :---: | :-----: | :----------: | :---------------: |
|
||||
| LunaSea Accounts | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
|
||||
| Notifications | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
|
||||
|
||||
## Web-Specific Restrictions
|
||||
|
||||
#### HTTPS Requirement
|
||||
|
||||
LunaSea's web instances are hosted on [Netlify](https://www.netlify.com) and use [LetsEncrypt](https://letsencrypt.org/) TLS certificates to ensure that an encrypted connection is utilized when loading the LunaSea web application package.
|
||||
|
||||
One limitation this incurs is that most modern web browsers no longer support [mixed content](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content), so it is required when using these browsers to utilize a reverse proxy (or something similar) to expose a secure (`HTTPS`) connection to your instances even when hosted on the same machine.
|
||||
|
||||
**All network communication occurs directly between your web browser and host machine**, but this is a limitation put forward by the web browsers.
|
||||
|
||||
#### Wake on LAN Support
|
||||
|
||||
Wake on LAN support will **never** be supported when using LunaSea on the web, because the Wake on LAN protocol relies on the [User Datagram Protocol (UDP)](https://en.wikipedia.org/wiki/User_Datagram_Protocol). UDP connections are not supported in the web browser because of underlying security constraints, and so it will not be possible to utilize wake on LAN now or at any point in the future when using LunaSea on the web.
|
||||
@@ -1,46 +0,0 @@
|
||||
---
|
||||
title: LunaSea
|
||||
description: Self-hosted software controller built using Flutter
|
||||
---
|
||||
|
||||
<Image
|
||||
src="https://raw.githubusercontent.com/JagandeepBrar/LunaSea/master/assets/images/branding_logo.png"
|
||||
width="250px"
|
||||
alt="LunaSea"
|
||||
zoom={false}
|
||||
caption="Self-hosted software controller built using Flutter"
|
||||
/>
|
||||
|
||||
LunaSea is a fully featured, open source self-hosted controller focused on giving you a seamless experience between all of your self-hosted media software remotely on your devices.
|
||||
|
||||
## Modules
|
||||
|
||||
- [Lidarr](/modules/lidarr)
|
||||
- [Newznab Search + NZBHydra2](/modules/newznab-search)
|
||||
- [NZBGet](/modules/nzbget)
|
||||
- [Radarr](/modules/radarr)
|
||||
- [SABnzbd](/modules/sabnzbd)
|
||||
- [Sonarr](/modules/sonarr)
|
||||
- [Tautulli](/modules/tautulli)
|
||||
- [Wake on LAN](/modules/wake-on-lan)
|
||||
|
||||
LunaSea even comes with support for webhook-based push notifications, multiple instances of applications using profiles, backup and restore functionality for your configuration, an AMOLED black theme, and more!
|
||||
|
||||
> LunaSea is purely a remote control application, it does not offer any functionality without software installed on a server/computer.
|
||||
|
||||
## Releases
|
||||
|
||||
All releases for every build channel can be downloaded from the [build bucket](https://builds.lunasea.app), and all stable releases for all platforms are also available on [GitHub](https://github.com/JagandeepBrar/LunaSea/releases).
|
||||
|
||||
- [Android](/releases/android)
|
||||
- [iOS](/releases/ios)
|
||||
- [Linux](/releases/linux)
|
||||
- [macOS](/releases/macos)
|
||||
- [Web](/releases/web)
|
||||
- [Windows](/releases/windows/)
|
||||
|
||||
Interested in using prerelease build channels of LunaSea? Learn the differences between all the build channels and how to join one [here](https://www.lunasea.app/build-channels)!
|
||||
|
||||
## License
|
||||
|
||||
See [LICENSE.md](https://github.com/JagandeepBrar/LunaSea/blob/master/LICENSE.md) for more information.
|
||||
@@ -1,18 +0,0 @@
|
||||
---
|
||||
title: Account
|
||||
description: Accounts to extend LunaSea's functionality
|
||||
---
|
||||
|
||||
# Account
|
||||
|
||||
LunaSea currently offers a _free_ cloud account that can be used for extending the functionality of LunaSea. The only details required to register for an account are an email address and password. At no point will LunaSea or the developers send you any emails, unless you explicitly request a password reset email.
|
||||
|
||||
If you want to protect your privacy, you are free to use a fake email when registering for an account, as there is no required account verification. Be warned that you will be unable to reset your password if you decide to use a fake email, as these functions are handled through Firebase Authentication via email.
|
||||
|
||||
## Encrypted Cloud Configuration Storage
|
||||
|
||||
The three options related to backing up your encrypted backups should be self-explanatory. All configurations are encrypted on-device before being sent off the device. When restoring an encrypted backup, the encrypted backup is downloaded to the device and you will be prompted to decrypt the backup on-device.
|
||||
|
||||
Deleting a backup is a permanent action, **there is no way to restore that backup**.
|
||||
|
||||
> Because all encryption and decryption occurs on-device, it is fully end-to-end encrypted. Forgetting the encryption password will result in there being no way to retrieve the configuration.
|
||||
@@ -1,22 +0,0 @@
|
||||
---
|
||||
title: Local Backup & Restore
|
||||
description: How to backup and restore your LunaSea configuration locally to your device
|
||||
---
|
||||
|
||||
# Local Backup & Restore
|
||||
|
||||
Alongside cloud-based backups, LunaSea offers the ability to create local backups of your configuration which you can manually transfer between devices and restore from. This gives you the freedom to have complete control of your data, and never have your configuration saved in a cloud server. Local backups are fully encrypted on-device, there are currently no plans to offer unencrypted backups.
|
||||
|
||||
> Because all encryption and decryption occurs on-device, it is fully end-to-end encrypted. Forgetting the encryption password will result in there being no way to retrieve the configuration.
|
||||
|
||||
## Creating a Backup
|
||||
|
||||
Creating a backup in LunaSea is simple and painless! Simply go to Settings -> System -> "Backup to Device" to start the backup process.
|
||||
|
||||
The backup will use the system-level share menu or dialog prompt to allow you to save the backup (a `.lunasea` file). Please ensure to keep the `.lunasea` extension when saving the file, as backups without a `.lunasea` extension will not be selectable when attempting to restore your configuration.
|
||||
|
||||
## Restoring a Backup
|
||||
|
||||
Restoring a backup in LunaSea is as simple as creating the backup! Simply go to Settings -> System -> "Restore from Device" to start the restore process.
|
||||
|
||||
The restoration process will request the password used to encrypt the original backup.
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
title: Logs
|
||||
description: Breaking down LunaSea's built-in on-device logger
|
||||
---
|
||||
|
||||
# Logs
|
||||
|
||||
LunaSea includes an on-device logging system that helps debug crashes, issues, and support requests. LunaSea stores 4 different levels of logs: **Debug**, **Warning**, **Error**, and **Critical**.
|
||||
|
||||
<Tabs
|
||||
defaultValue="debug"
|
||||
values={[
|
||||
{ label: "Debug", value: "debug" },
|
||||
{ label: "Warning", value: "warning" },
|
||||
{ label: "Error", value: "error" },
|
||||
{ label: "Critical", value: "critical" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="debug">
|
||||
_Debug logs are visible/available on prerelease builds only_
|
||||
|
||||
Debug logs are informational logs and messages that are intended to help debug processes.
|
||||
</TabItem>
|
||||
<TabItem value="warning">
|
||||
Warning logs are non-crashing and non-critical errors that have occurred on the device. Warning logs would occur when failing to load an image, passing an incorrect encryption key when trying to restore a backup, etc.
|
||||
</TabItem>
|
||||
<TabItem value="error">
|
||||
Error logs are non-crashing but critical errors that have occurred on the device. Error logs would occur on network errors, connection issues, errors returned from the module, etc.
|
||||
</TabItem>
|
||||
<TabItem value="critical">
|
||||
Fatal logs are crashing errors or unhandled errors that have occurred on the device. Fatal logs would occur when LunaSea fails to complete the boot process, fails to render the UI, etc.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Viewing Log History
|
||||
|
||||
When a _handled_ error occurs, a toast notification will appear that allows you to directly view the error that just occurred.
|
||||
|
||||
LunaSea also stores a list of the **last 100 logs** that have occurred on the device. To access the history of logs, go to Settings -> System -> Logs. The log database size is checked on startup, so all logs that have occurred in the active session will remain in the log history until LunaSea is closed and reopened.
|
||||
|
||||
## Exporting Logs
|
||||
|
||||
LunaSea offers the ability to export your logs into a JSON file, which can be easily sent to the developer to help debug the problems. The exported logs also include additional information, including the code-execution stack trace to see exactly where in the code the error occurred.
|
||||
|
||||
To export your logs, go to Settings -> System -> Logs -> "Export" to trigger an export of your logs. A system-level share menu or dialog prompt will appear with the ability to share or save the exported logs to your device.
|
||||
|
||||
> Because the exported logs contain code-execution stack traces, **the logs may unintentionally contain private information**.
|
||||
>
|
||||
> Please ensure you do not publicly share your exported logs (or before sharing, manually scrub the exported logs). Only share the logs to trusted parties through private channels such as email or direct messages.
|
||||
|
||||
## Clearing Logs
|
||||
|
||||
LunaSea offers the ability to clear all recorded logs from your device. While an available option, it is not recommended to clear your logs often as LunaSea will internally ensure the log database does not grow to an obscenely large size.
|
||||
|
||||
To clear your logs, go to Settings -> System -> Logs -> "Clear" to trigger a clean of the logs database.
|
||||
@@ -1,62 +0,0 @@
|
||||
---
|
||||
title: Notifications
|
||||
description: How to setup webhook-based push notifications with LunaSea
|
||||
---
|
||||
|
||||
# Notifications
|
||||
|
||||
Many of the supported modules have support for webhooks, which we can utilize with the hosted notification relay to get rich, instant notifications with deep-linking support sent as push notifications directly to your devices running LunaSea!
|
||||
|
||||
## Platform Support
|
||||
|
||||
Notifications are only supported on a limited set of platforms at this time. Plans are to support all platforms in the future as support from the underlying notification service is added!
|
||||
|
||||
| Platform | Supported? |
|
||||
| :------: | :--------: |
|
||||
| Android | ✅ |
|
||||
| iOS | ✅ |
|
||||
| Linux | ❌ |
|
||||
| macOS | ✅ |
|
||||
| Windows | ❌ |
|
||||
| Web | ❌ |
|
||||
|
||||
## Module Support
|
||||
|
||||
Not all modules are currently supported, below is a list of all supported modules and if they supported deep linking to the relevant content. Additional support and deeper integration will arrive in future updates!
|
||||
|
||||
| Module | Supported? | Deep Linking? |
|
||||
| :-----------------------------------: | :--------: | :-----------: |
|
||||
| [Lidarr](/notifications/lidarr) | ✅ | ❌ |
|
||||
| NZBGet | ❌ | ❌ |
|
||||
| [Overseerr](/notifications/overseerr) | ✅ | ❌ |
|
||||
| [Radarr](/notifications/radarr) | ✅ | ✅ |
|
||||
| SABnzbd | ❌ | ❌ |
|
||||
| [Sonarr](/notifications/sonarr) | ✅ | ✅ |
|
||||
| [Tautulli](/notifications/tautulli) | ✅ | ✅ |
|
||||
|
||||
## Notification Types
|
||||
|
||||
LunaSea supports two different types of notifications: **User-Based** and **Device-Based**.
|
||||
|
||||
<Tabs
|
||||
defaultValue="user"
|
||||
values={[
|
||||
{ label: "User-Based", value: "user" },
|
||||
{ label: "Device-Based", value: "device" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="user">
|
||||
User-based notifications send notifications to all devices that are linked to your LunaSea account. Your device is automatically linked when you register or sign in to your account. This means that any current and future devices that are signed-in to your account will receive notifications automatically.
|
||||
</TabItem>
|
||||
<TabItem value="device">
|
||||
Device-based notifications send notifications to a single, specific device. Device-based notifications do not require a LunaSea account, but require you to register every device as a new webhook in the module.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Getting Your Webhook URLs
|
||||
|
||||
To get the correct webhook URL for each module simply head to the Settings within LunaSea, then into the "Notifications" page! The buttons on each module card will copy the full, constructed webhook URL to receive user-based or device-based notifications for that specific module. Please ensure to copy and use the correct webhook URL for each module, as mixing them up can lead to unexpected results.
|
||||
|
||||
> **Do not publicly share your user-based or device-based URL!**
|
||||
>
|
||||
> Anyone with access to your user or device webhook URLs can send notifications to your account or device.
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
redirect: /notifications/custom
|
||||
---
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
redirect: /notifications/lidarr
|
||||
---
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
redirect: /notifications/overseerr
|
||||
---
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
redirect: /notifications/radarr
|
||||
---
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
redirect: /notifications/sonarr
|
||||
---
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
redirect: /notifications/tautulli
|
||||
---
|
||||
@@ -1,39 +0,0 @@
|
||||
---
|
||||
title: Profiles
|
||||
description: Use multiple instances of modules with LunaSea
|
||||
---
|
||||
|
||||
# Profiles
|
||||
|
||||
Do you have multiple instances of modules you want to add to LunaSea? Profiles are the way to do this! LunaSea allows you to have an infinite amount of profiles, each of which can contain a whole new set of configurations for modules.
|
||||
|
||||
## Adding, Deleting, and Renaming Profiles
|
||||
|
||||
To add, delete, or rename a profile, head to Settings -> Profiles. There are a small collection of simple options on this page, each of which should be self-explanatory.
|
||||
|
||||
## Changing Profiles
|
||||
|
||||
There are many ways to switch profiles within LunaSea, but let it be noted that switching profiles clears all state-stored data from memory, and all fetched data will be fully refreshed.
|
||||
|
||||
<Tabs
|
||||
defaultValue="drawer"
|
||||
values={[
|
||||
{ label: "Drawer", value: "drawer" },
|
||||
{ label: "AppBar", value: "appbar" },
|
||||
{ label: "Settings", value: "settings" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="drawer">
|
||||
When you have more than a single profile enabled, the top header of the drawer will show the currently active profile and can be tapped to trigger a dropdown allowing you to select any profile to switch to.
|
||||
|
||||
When in a module and you switch to a profile that does not have the module enabled, the only option available on that page will be to return to the dashboard.
|
||||
</TabItem>
|
||||
<TabItem value="appbar">
|
||||
When on the home/base route of a module that has another instance enabled in another profile, a dropdown arrow will be displayed beside the module title in the AppBar. Simply tap the module name to get a dropdown list of profiles that have that module enabled.
|
||||
|
||||
Any additional profiles that do not have the module enabled will not be shown within the dropdown. If you have additional profiles but no profile has that specific module enabled, the dropdown will not be accessible.
|
||||
</TabItem>
|
||||
<TabItem value="settings">
|
||||
You can change your profile within the Settings, either by entering the "Profiles" page and selecting the enabled profile or by entering the "Configuration" page and hitting the profile icon in the AppBar.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
@@ -1,64 +0,0 @@
|
||||
---
|
||||
title: Lidarr
|
||||
description: How to configure and add Lidarr to LunaSea
|
||||
---
|
||||
|
||||
# Lidarr
|
||||
|
||||
Adding your Lidarr instance to LunaSea only requires a few steps to get going!
|
||||
|
||||
> This documentation only covers adding Lidarr to LunaSea via local area network (LAN) connections, and does not cover exposing Lidarr externally and connecting remotely.
|
||||
|
||||
## Preparation
|
||||
|
||||
#### Find Your Local Area Network IP Address
|
||||
|
||||
Finding your local area network IP address of the machine running Lidarr is the first step to get setup. To find your local IP address, please look at the following guides:
|
||||
|
||||
- [Linux](https://ubuntuhandbook.org/index.php/2020/07/find-ip-address-ubuntu-20-04/)
|
||||
- [macOS](https://osxdaily.com/2010/11/21/find-ip-address-mac/)
|
||||
- [Windows](https://support.microsoft.com/en-us/windows/find-your-ip-address-in-windows-f21a9bbc-c582-55cd-35e0-73431160a1b9)
|
||||
|
||||
If you are running a different operating system, you can use any search engine to look up "Find local IP address on \<your operating system\>" to typically find tons of guides for any platform.
|
||||
|
||||
> It is recommended to set your host machine's IP address to be statically assigned instead of dynamic/DHCP. This ensures that the IP address will not change through machine or network reboots.
|
||||
|
||||
#### Check What Port is Being Used
|
||||
|
||||
If using the default installation, Lidarr runs on port **8686**. In most cases, this port is not changed and does not need to be changed.
|
||||
|
||||
The simplest way to check is to go to Lidarr's web GUI, go to Settings -> General and note the value entered into "Port Number".
|
||||
|
||||
#### Ensure Lidarr is Accessible Across Your Network
|
||||
|
||||
To ensure that Lidarr is accessible across your local network, check the following:
|
||||
|
||||
- In Lidarr's web GUI, go to Settings -> General and enable advanced settings, then ensure that the "Bind Address" is set to `*`
|
||||
- Check any enabled firewalls to confirm that the port running Lidarr is not being blocked
|
||||
- _(Windows Only)_: Ensure that Lidarr has been run as administrator at least once
|
||||
|
||||
#### Check If You Are Using a URL Base
|
||||
|
||||
In Lidarr's web GUI, go to Settings -> General and check the value of "URL Base". If you have nothing set, you can move on. If you do have a value set, please remember the set value as it will be necessary when setting the host within LunaSea.
|
||||
|
||||
## Connecting in LunaSea
|
||||
|
||||
#### Host
|
||||
|
||||
The host is a combination of multiple values found above:
|
||||
|
||||
- The local IP address
|
||||
- The port
|
||||
- If being used, the URL base
|
||||
|
||||
Combine all the values into the following format: `<IP address>:<port>/<URL base>`
|
||||
|
||||
For example, if Lidarr is running on port `8686` on a machine that has the IP address `192.168.100.100` with a URL base set to `/lidarr`, the host is: `http://192.168.100.100:8686/lidarr`. If it had no URL base set, it would be `http://192.168.100.100:8686`.
|
||||
|
||||
#### API Key
|
||||
|
||||
The API key is copied from Lidarr's web GUI, by going to Settings -> General and finding the API key value.
|
||||
|
||||
#### Custom Headers
|
||||
|
||||
Custom headers allows users to attach custom request headers to each API call that is made. This is typically an advanced feature, and is not necessary in most network configurations.
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
title: Newznab Search
|
||||
description: How to configure and add Newznab Search to LunaSea
|
||||
---
|
||||
|
||||
# Newznab Search
|
||||
|
||||
LunaSea supports any indexer that supports the [Newznab API specification](https://newznab.readthedocs.io/en/latest/). Most modern indexers (including NZBHydra2) are fully compliant with this specification, and compatible with LunaSea.
|
||||
|
||||
> LunaSea supports infinite scrolling of search and category results, which can result in multiple API hits. It is only recommended to add indexers with high API limits to prevent quickly reaching your API limit.
|
||||
|
||||
## Adding an Indexer
|
||||
|
||||
#### Display Name
|
||||
|
||||
Your personal display name for the indexer. The display name can be anything, but indexers are displayed in _alphabetical order_ and the display name you choose will determine where it lands in your list of indexers.
|
||||
|
||||
#### Indexer API Host
|
||||
|
||||
This is the _API host_ from the indexer. Do not confused this with the homepage for the indexer! Some indexers use the same URL, but many indexers will use a separate URL (commonly https://api.indexer.tld).
|
||||
|
||||
If your indexer can and has been added to Lidarr, Radarr, or Sonarr, you can simply copy the URL from the indexer configuration page within their settings.
|
||||
|
||||
#### Indexer API Key
|
||||
|
||||
Your API key that is typically available in the dashboard of the indexer or received by email when originally signing up for the indexer.
|
||||
|
||||
If you are unable to find your API key, consider contacting the administrators of the indexer to get help! The LunaSea developer and community users can try to help, but we cannot guarantee support if nobody has access to said indexer.
|
||||
|
||||
#### Custom Headers
|
||||
|
||||
Custom headers allows users to attach custom request headers to each API call that is made. This is typically an advanced feature, and is not necessary for most public indexers.
|
||||
|
||||
## Indexer API Hosts
|
||||
|
||||
| Indexer | API Host |
|
||||
| :------------: | :----------------------------: |
|
||||
| DOGnzb | https://api.dognzb.cr/ |
|
||||
| DrunkenSlug | https://api.drunkenslug.com/ |
|
||||
| NZB.su | https://api.nzb.su/ |
|
||||
| NZBCat | https://nzb.cat |
|
||||
| NZBFinder | https://nzbfinder.ws |
|
||||
| NZBGeek | https://api.nzbgeek.info |
|
||||
| NZBPlanet | https://api.nzbplanet.net |
|
||||
| omgwtfnzbs | https://api.omgwtfnzbs.me |
|
||||
| OZnzb | https://api.oznzb.com |
|
||||
| SimplyNZBs | https://simplynzbs.com |
|
||||
| Usenet Crawler | https://www.usenet-crawler.com |
|
||||
|
||||
Want to add something to list? Make a pull request on [GitHub](https://www.lunasea.app/github)!
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: NZBGet
|
||||
description: How to configure and add NZBGet to LunaSea
|
||||
---
|
||||
|
||||
# NZBGet
|
||||
|
||||
> Coming soon!
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: Overseerr
|
||||
description: How to configure and add Overseerr to LunaSea
|
||||
---
|
||||
|
||||
# Overseerr
|
||||
|
||||
> Coming soon!
|
||||
@@ -1,64 +0,0 @@
|
||||
---
|
||||
title: Radarr
|
||||
description: How to configure and add Radarr to LunaSea
|
||||
---
|
||||
|
||||
# Radarr
|
||||
|
||||
Adding your Radarr instance to LunaSea only requires a few steps to get going!
|
||||
|
||||
> This documentation only covers adding Radarr to LunaSea via local area network (LAN) connections, and does not cover exposing Radarr externally and connecting remotely.
|
||||
|
||||
## Preparation
|
||||
|
||||
#### Find Your Local Area Network IP Address
|
||||
|
||||
Finding your local area network IP address of the machine running Radarr is the first step to get setup. To find your local IP address, please look at the following guides:
|
||||
|
||||
- [Linux](https://ubuntuhandbook.org/index.php/2020/07/find-ip-address-ubuntu-20-04/)
|
||||
- [macOS](https://osxdaily.com/2010/11/21/find-ip-address-mac/)
|
||||
- [Windows](https://support.microsoft.com/en-us/windows/find-your-ip-address-in-windows-f21a9bbc-c582-55cd-35e0-73431160a1b9)
|
||||
|
||||
If you are running a different operating system, you can use any search engine to look up "Find local IP address on \<your operating system\>" to typically find tons of guides for any platform.
|
||||
|
||||
> It is recommended to set your host machine's IP address to be statically assigned instead of dynamic/DHCP. This ensures that the IP address will not change through machine or network reboots.
|
||||
|
||||
#### Check What Port is Being Used
|
||||
|
||||
If using the default installation, Radarr runs on port **7878**. In most cases, this port is not changed and does not need to be changed.
|
||||
|
||||
The simplest way to check is to go to Radarr's web GUI, go to Settings -> General and note the value entered into "Port Number".
|
||||
|
||||
#### Ensure Radarr is Accessible Across Your Network
|
||||
|
||||
To ensure that Radarr is accessible across your local network, check the following:
|
||||
|
||||
- In Radarr's web GUI, go to Settings -> General and enable advanced settings, then ensure that the "Bind Address" is set to `*`
|
||||
- Check any enabled firewalls to confirm that the port running Radarr is not being blocked
|
||||
- _(Windows Only)_: Ensure that Radarr has been run as administrator at least once
|
||||
|
||||
#### Check If You Are Using a URL Base
|
||||
|
||||
In Radarr's web GUI, go to Settings -> General and check the value of "URL Base". If you have nothing set, you can move on. If you do have a value set, please remember the set value as it will be necessary when setting the host within LunaSea.
|
||||
|
||||
## Connecting in LunaSea
|
||||
|
||||
#### Host
|
||||
|
||||
The host is a combination of multiple values found above:
|
||||
|
||||
- The local IP address
|
||||
- The port
|
||||
- If being used, the URL base
|
||||
|
||||
Combine all the values into the following format: `<IP address>:<port>/<URL base>`
|
||||
|
||||
For example, if Radarr is running on port `7878` on a machine that has the IP address `192.168.100.100` with a URL base set to `/radarr`, the host is: `http://192.168.100.100:7878/radarr`. If it had no URL base set, it would be `http://192.168.100.100:7878`.
|
||||
|
||||
#### API Key
|
||||
|
||||
The API key is copied from Radarr's web GUI, by going to Settings -> General and finding the API key value.
|
||||
|
||||
#### Custom Headers
|
||||
|
||||
Custom headers allows users to attach custom request headers to each API call that is made. This is typically an advanced feature, and is not necessary in most network configurations.
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: SABnzbd
|
||||
description: How to configure and add SABnzbd to LunaSea
|
||||
---
|
||||
|
||||
# SABnzbd
|
||||
|
||||
> Coming soon!
|
||||
@@ -1,64 +0,0 @@
|
||||
---
|
||||
title: Sonarr
|
||||
description: How to configure and add Sonarr to LunaSea
|
||||
---
|
||||
|
||||
# Sonarr
|
||||
|
||||
Adding your Sonarr instance to LunaSea only requires a few steps to get going!
|
||||
|
||||
> This documentation only covers adding Sonarr to LunaSea via local area network (LAN) connections, and does not cover exposing Sonarr externally and connecting remotely.
|
||||
|
||||
## Preparation
|
||||
|
||||
#### Find Your Local Area Network IP Address
|
||||
|
||||
Finding your local area network IP address of the machine running Sonarr is the first step to get setup. To find your local IP address, please look at the following guides:
|
||||
|
||||
- [Linux](https://ubuntuhandbook.org/index.php/2020/07/find-ip-address-ubuntu-20-04/)
|
||||
- [macOS](https://osxdaily.com/2010/11/21/find-ip-address-mac/)
|
||||
- [Windows](https://support.microsoft.com/en-us/windows/find-your-ip-address-in-windows-f21a9bbc-c582-55cd-35e0-73431160a1b9)
|
||||
|
||||
If you are running a different operating system, you can use any search engine to look up "Find local IP address on \<your operating system\>" to typically find tons of guides for any platform.
|
||||
|
||||
> It is recommended to set your host machine's IP address to be statically assigned instead of dynamic/DHCP. This ensures that the IP address will not change through machine or network reboots.
|
||||
|
||||
#### Check What Port is Being Used
|
||||
|
||||
If using the default installation, Sonarr runs on port **8989**. In most cases, this port is not changed and does not need to be changed.
|
||||
|
||||
The simplest way to check is to go to Sonarr's web GUI, go to Settings -> General and note the value entered into "Port Number".
|
||||
|
||||
#### Ensure Sonarr is Accessible Across Your Network
|
||||
|
||||
To ensure that Sonarr is accessible across your local network, check the following:
|
||||
|
||||
- In Sonarr's web GUI, go to Settings -> General and enable advanced settings, then ensure that the "Bind Address" is set to `*`
|
||||
- Check any enabled firewalls to confirm that the port running Sonarr is not being blocked
|
||||
- _(Windows Only)_: Ensure that Sonarr has been run as administrator at least once
|
||||
|
||||
#### Check If You Are Using a URL Base
|
||||
|
||||
In Sonarr's web GUI, go to Settings -> General and check the value of "URL Base". If you have nothing set, you can move on. If you do have a value set, please remember the set value as it will be necessary when setting the host within LunaSea.
|
||||
|
||||
## Connecting in LunaSea
|
||||
|
||||
#### Host
|
||||
|
||||
The host is a combination of multiple values found above:
|
||||
|
||||
- The local IP address
|
||||
- The port
|
||||
- If being used, the URL base
|
||||
|
||||
Combine all the values into the following format: `<IP address>:<port>/<URL base>`
|
||||
|
||||
For example, if Sonarr is running on port `8989` on a machine that has the IP address `192.168.100.100` with a URL base set to `/sonarr`, the host is: `http://192.168.100.100:8989/sonarr`. If it had no URL base set, it would be `http://192.168.100.100:8989`.
|
||||
|
||||
#### API Key
|
||||
|
||||
The API key is copied from Sonarr's web GUI, by going to Settings -> General and finding the API key value.
|
||||
|
||||
#### Custom Headers
|
||||
|
||||
Custom headers allows users to attach custom request headers to each API call that is made. This is typically an advanced feature, and is not necessary in most network configurations.
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: Tautulli
|
||||
description: How to configure and add Tautulli to LunaSea
|
||||
---
|
||||
|
||||
# Tautulli
|
||||
|
||||
> Coming soon!
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
title: Wake on LAN
|
||||
description: How to configure and add Wake on LAN to LunaSea
|
||||
---
|
||||
|
||||
# Wake on LAN
|
||||
|
||||
> Coming soon!
|
||||
@@ -1,125 +0,0 @@
|
||||
---
|
||||
title: Custom Notifications
|
||||
description: Setting up custom webhook-based push notifications
|
||||
---
|
||||
|
||||
# Custom Notifications
|
||||
|
||||
## Preparation
|
||||
|
||||
> Custom notifications are considered an advanced feature, and requires basic knowledge of JSON syntax and creating your own scripts/tools to handle sending the payloads.
|
||||
|
||||
1. Read through the main [Notifications](/lunasea/notifications) page
|
||||
2. Copy your device-based or user-based webhook URL from LunaSea
|
||||
|
||||
You will need to slightly modify the webhook URL you have copied from any of the modules. Simply replace the name of the module within the webhook URL to custom and you're good to go!
|
||||
|
||||
Alternatively, you can copy the content of the URL after the last slash (after `device/` or `user/`) to obtain your Firebase device or user identifier.
|
||||
|
||||
## Device-Based
|
||||
|
||||
Send a custom notification using a device token to a single device running LunaSea.
|
||||
|
||||
<Tabs
|
||||
defaultValue="endpoint"
|
||||
values={[
|
||||
{ label: "Endpoint", value: "endpoint" },
|
||||
{ label: "JSON Body Schema", value: "json_body_schema" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="endpoint">
|
||||
```bash
|
||||
POST https://notify.lunasea.app/v1/custom/device/:device_id
|
||||
```
|
||||
|
||||
`device_id`: Firebase device identifier
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="json_body_schema">
|
||||
```json
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Device-Based Custom Notification",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "The notification title"
|
||||
},
|
||||
"body": {
|
||||
"type": "string",
|
||||
"description": "The notification body content"
|
||||
},
|
||||
"image": {
|
||||
"type": "string",
|
||||
"description": "A publicly accessible image to be attached to the notification"
|
||||
}
|
||||
},
|
||||
"required": ["title", "body"]
|
||||
}
|
||||
```
|
||||
|
||||
If `title` or `body` are missing in the request, a notification will still be sent but with a default title or body respectively.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## User-Based
|
||||
|
||||
<Tabs
|
||||
defaultValue="endpoint"
|
||||
values={[
|
||||
{ label: "Endpoint", value: "endpoint" },
|
||||
{ label: "JSON Body Schema", value: "json_body_schema" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="endpoint">
|
||||
```bash
|
||||
POST https://notify.lunasea.app/v1/custom/user/:user_id
|
||||
```
|
||||
|
||||
`user_id`: Firebase user identifier
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="json_body_schema">
|
||||
```json
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "User-Based Custom Notification",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "The notification title"
|
||||
},
|
||||
"body": {
|
||||
"type": "string",
|
||||
"description": "The notification body content"
|
||||
},
|
||||
"image": {
|
||||
"type": "string",
|
||||
"description": "A publicly accessible image to be attached to the notification"
|
||||
}
|
||||
},
|
||||
"required": ["title", "body"]
|
||||
}
|
||||
```
|
||||
|
||||
If `title` or `body` are missing in the request, a notification will still be sent but with a default title or body respectively.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- Ensure that the required `title` parameter is a string type
|
||||
- If the type is not a string, the notification will fail
|
||||
- Sending no value or a null value will result in the title "Unknown Title" being used
|
||||
- Ensure that the required `body` parameter is a string type
|
||||
- If the type is not a string, the notification will fail
|
||||
- Sending no value or a null value will result in the body "Unknown Content" being used
|
||||
- If sending an image, ensure that the content is a valid URL
|
||||
- If the content is not a valid URL, the notification will fail
|
||||
- The URL must contain the protocol, `http://` or `https://`
|
||||
- The URL must be a direct link to the image and does not redirect
|
||||
- The URL must be publicly accessible, not requiring any authentication to access
|
||||
- If sending an image, the image must be a supported image type
|
||||
- Supported types include JPGs, PNGs, and animated GIFs
|
||||
@@ -1,92 +0,0 @@
|
||||
---
|
||||
title: Lidarr Notifications
|
||||
description: Setting up Lidarr for webhook-based push notifications
|
||||
---
|
||||
|
||||
# Lidarr Notifications
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Read through the main [Notifications](/lunasea/notifications) page
|
||||
2. Copy your device-based or user-based webhook URL from LunaSea
|
||||
|
||||
## Setup the Webhook
|
||||
|
||||
In Lidarr's web GUI, head to Settings -> Connect, hit the "+" button to add a new connection and select "Webhook". Please follow each section below to setup the webhook:
|
||||
|
||||
<Tabs
|
||||
defaultValue="name"
|
||||
values={[
|
||||
{ label: "Name", value: "name" },
|
||||
{ label: "Triggers", value: "triggers" },
|
||||
{ label: "Tags", value: "tags" },
|
||||
{ label: "URL", value: "url" },
|
||||
{ label: "Method", value: "method" },
|
||||
{ label: "Username", value: "username" },
|
||||
{ label: "Password", value: "password" },
|
||||
]}
|
||||
>
|
||||
|
||||
<TabItem value="name">
|
||||
Select any name, for example "LunaSea".
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="triggers">
|
||||
Select which events should trigger a push notification. The following triggers are supported:
|
||||
|
||||
| Trigger | Supported? |
|
||||
| :---------------------: | :--------: |
|
||||
| On Grab | ✅ |
|
||||
| On Release Import | ✅ |
|
||||
| On Upgrade | ✅ |
|
||||
| On Download Failure | ❌ |
|
||||
| On Import Failure | ❌ |
|
||||
| On Rename | ✅ |
|
||||
| On Track Retag | ✅ |
|
||||
| On Application Update | ❌ |
|
||||
| On Health Issue | ❌ |
|
||||
| Include Health Warnings | ❌ |
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="tags">
|
||||
You can _optionally_ select a tag that must be attached to an artist for the webhook to get triggered.
|
||||
|
||||
This can be useful when working with a large media collection to only receive notifications for content you are actively monitoring.
|
||||
|
||||
If you want to receive notifications for all artists, leave the tags area empty.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="url">
|
||||
Paste the full device-based or user-based URL that was copied from LunaSea.
|
||||
|
||||
Each webhook can support a single user-based or device-based webhook URL. Attaching multiple device-based or user-based webhooks to a single Lidarr instance requires setting up multiple webhooks.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="method">
|
||||
Keep the method on `POST`. Changing the method to `PUT` will cause the webhooks to fail.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="username">
|
||||
The username field should be an _exact match_ to the profile that this module instance was added to within LunaSea. Capitalization and punctuation does matter.
|
||||
|
||||
> This step is only required if you are not using the default LunaSea profile (`default`). LunaSea will assume the default profile when none is supplied.
|
||||
>
|
||||
> Correctly setting up this field is critically important to get full deep-linking support.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="password">
|
||||
Leave the password field empty. Setting this field will currently have no effect.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Once setup, close LunaSea and run the webhook test in Lidarr. You should receive a new notification letting you know that LunaSea is ready to receive Lidarr notifications!
|
||||
|
||||
## Example
|
||||
|
||||
An example Lidarr webhook can be seen below:
|
||||
|
||||
- No tags are set for this webhook, meaning all artists will trigger a notification
|
||||
- This is a user-based notification webhook, meaning it will be sent to all devices that are linked to the user ID `1234567890`
|
||||
- The webhook is associated with the profile named `My Profile`
|
||||
|
||||

|
||||
@@ -1,67 +0,0 @@
|
||||
---
|
||||
title: Overseerr Notifications
|
||||
description: Setting up Overseerr for webhook-based push notifications
|
||||
---
|
||||
|
||||
# Overseerr Notifications
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Read through the main [Notifications](/lunasea/notifications) page
|
||||
2. Copy your device-based or user-based webhook URL from LunaSea
|
||||
|
||||
## Setup the Webhook
|
||||
|
||||
In Overseerr's web GUI, head to Settings -> Notifications -> LunaSea. Ensure that the agent is enabled, then follow each section below to setup the webhook:
|
||||
|
||||
<Tabs
|
||||
defaultValue="webhook_url"
|
||||
values={[
|
||||
{ label: "Webhook URL", value: "webhook_url" },
|
||||
{ label: "Profile Name", value: "profile_name" },
|
||||
{ label: "Notification Types", value: "notification_types" },
|
||||
]}
|
||||
>
|
||||
|
||||
<TabItem value="webhook_url">
|
||||
Paste the full device-based or user-based URL that was copied from LunaSea.
|
||||
|
||||
Overseerr currently only supports 1 LunaSea notification agent, which means you can only setup a single user-based or device-based notification.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="profile_name">
|
||||
The profile name field should be an _exact match_ to the profile that this module instance was added to within LunaSea. Capitalization and punctuation does matter.
|
||||
|
||||
> This step is only required if you are not using the default LunaSea profile (`default`). LunaSea will assume the default profile when none is supplied.
|
||||
>
|
||||
> Correctly setting up this field is critically important to get full deep-linking support.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="notification_types">
|
||||
Select which events should trigger a push notification. The following triggers are supported:
|
||||
|
||||
| Trigger | Supported? |
|
||||
| :----------------------------: | :--------: |
|
||||
| Request Pending Approval | ✅ |
|
||||
| Request Automatically Approved | ✅ |
|
||||
| Request Approved | ✅ |
|
||||
| Request Declined | ✅ |
|
||||
| Request Available | ✅ |
|
||||
| Request Processing Failed | ✅ |
|
||||
| Issue Reported | ✅ |
|
||||
| Issue Comment | ✅ |
|
||||
| Issue Resolved | ✅ |
|
||||
| Issue Reopened | ✅ |
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Once setup, close LunaSea and run the webhook test in Overseerr. You should receive a new notification letting you know that LunaSea is ready to receive Overseerr notifications!
|
||||
|
||||
## Example
|
||||
|
||||
An example Overseerr webhook can be seen below:
|
||||
|
||||
- This is a user-based notification webhook, meaning it will be sent to all devices that are linked to the user ID `1234567890`
|
||||
- The webhook is associated with the profile named `My Profile`
|
||||
|
||||

|
||||
@@ -1,92 +0,0 @@
|
||||
---
|
||||
title: Radarr Notifications
|
||||
description: Setting up Radarr for webhook-based push notifications
|
||||
---
|
||||
|
||||
# Radarr Notifications
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Read through the main [Notifications](/lunasea/notifications) page
|
||||
2. Copy your device-based or user-based webhook URL from LunaSea
|
||||
|
||||
## Setup the Webhook
|
||||
|
||||
In Radarr's web GUI, head to Settings -> Connect, hit the "+" button to add a new connection and select "Webhook". Please follow each section below to setup the webhook:
|
||||
|
||||
<Tabs
|
||||
defaultValue="name"
|
||||
values={[
|
||||
{ label: "Name", value: "name" },
|
||||
{ label: "Triggers", value: "triggers" },
|
||||
{ label: "Tags", value: "tags" },
|
||||
{ label: "URL", value: "url" },
|
||||
{ label: "Method", value: "method" },
|
||||
{ label: "Username", value: "username" },
|
||||
{ label: "Password", value: "password" },
|
||||
]}
|
||||
>
|
||||
|
||||
<TabItem value="name">
|
||||
Select any name, for example "LunaSea".
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="triggers">
|
||||
Select which events should trigger a push notification. The following triggers are supported:
|
||||
|
||||
| Trigger | Supported? |
|
||||
| :------------------------------: | :--------: |
|
||||
| On Grab | ✅ |
|
||||
| On Import | ✅ |
|
||||
| On Upgrade | ✅ |
|
||||
| On Rename | ✅ |
|
||||
| On Movie Delete | ❌ |
|
||||
| On Movie File Delete | ❌ |
|
||||
| On Movie File Delete For Upgrade | ❌ |
|
||||
| On Health Issue | ✅ |
|
||||
| Include Health Warnings | ✅ |
|
||||
| On Application Update | ❌ |
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="tags">
|
||||
You can _optionally_ select a tag that must be attached to a movie for the webhook to get triggered.
|
||||
|
||||
This can be useful when working with a large media collection to only receive notifications for content you are actively monitoring.
|
||||
|
||||
If you want to receive notifications for all movies, leave the tags area empty.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="url">
|
||||
Paste the full device-based or user-based URL that was copied from LunaSea.
|
||||
|
||||
Each webhook can support a single user-based or device-based webhook URL. Attaching multiple device-based or user-based webhooks to a single Radarr instance requires setting up multiple webhooks.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="method">
|
||||
Keep the method on `POST`. Changing the method to `PUT` will cause the webhooks to fail.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="username">
|
||||
The username field should be an _exact match_ to the profile that this module instance was added to within LunaSea. Capitalization and punctuation does matter.
|
||||
|
||||
> This step is only required if you are not using the default LunaSea profile (`default`). LunaSea will assume the default profile when none is supplied.
|
||||
>
|
||||
> Correctly setting up this field is critically important to get full deep-linking support.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="password">
|
||||
Leave the password field empty. Setting this field will currently have no effect.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Once setup, close LunaSea and run the webhook test in Radarr. You should receive a new notification letting you know that LunaSea is ready to receive Radarr notifications!
|
||||
|
||||
## Example
|
||||
|
||||
An example Radarr webhook can be seen below:
|
||||
|
||||
- No tags are set for this webhook, meaning all movies will trigger a notification
|
||||
- This is a user-based notification webhook, meaning it will be sent to all devices that are linked to the user ID `1234567890`
|
||||
- The webhook is associated with the profile named `My Profile`
|
||||
|
||||

|
||||
@@ -1,92 +0,0 @@
|
||||
---
|
||||
title: Sonarr Notifications
|
||||
description: Setting up Sonarr for webhook-based push notifications
|
||||
---
|
||||
|
||||
# Sonarr Notifications
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Read through the main [Notifications](/lunasea/notifications) page
|
||||
2. Copy your device-based or user-based webhook URL from LunaSea
|
||||
|
||||
## Setup the Webhook
|
||||
|
||||
In Sonarr's web GUI, head to Settings -> Connect, hit the "+" button to add a new connection and select "Webhook". Please follow each section below to setup the webhook:
|
||||
|
||||
<Tabs
|
||||
defaultValue="name"
|
||||
values={[
|
||||
{ label: "Name", value: "name" },
|
||||
{ label: "Triggers", value: "triggers" },
|
||||
{ label: "Tags", value: "tags" },
|
||||
{ label: "URL", value: "url" },
|
||||
{ label: "Method", value: "method" },
|
||||
{ label: "Username", value: "username" },
|
||||
{ label: "Password", value: "password" },
|
||||
]}
|
||||
>
|
||||
|
||||
<TabItem value="name">
|
||||
Select any name, for example "LunaSea".
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="triggers">
|
||||
Select which events should trigger a push notification. The following triggers are supported:
|
||||
|
||||
| Trigger | Supported? |
|
||||
| :--------------------------------: | :--------: |
|
||||
| On Grab | ✅ |
|
||||
| On Import | ✅ |
|
||||
| On Upgrade | ✅ |
|
||||
| On Rename | ✅ |
|
||||
| On Series Delete | ❌ |
|
||||
| On Episode File Delete | ❌ |
|
||||
| On Episode File Delete For Upgrade | ❌ |
|
||||
| On Health Issue | ✅ |
|
||||
| Include Health Warnings | ✅ |
|
||||
| On Application Update | ❌ |
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="tags">
|
||||
You can _optionally_ select a tag that must be attached to a series for the webhook to get triggered.
|
||||
|
||||
This can be useful when working with a large media collection to only receive notifications for content you are actively monitoring.
|
||||
|
||||
If you want to receive notifications for all series, leave the tags area empty.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="url">
|
||||
Paste the full device-based or user-based URL that was copied from LunaSea.
|
||||
|
||||
Each webhook can support a single user-based or device-based webhook URL. Attaching multiple device-based or user-based webhooks to a single Sonarr instance requires setting up multiple webhooks.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="method">
|
||||
Keep the method on `POST`. Changing the method to `PUT` will cause the webhooks to fail.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="username">
|
||||
The username field should be an _exact match_ to the profile that this module instance was added to within LunaSea. Capitalization and punctuation does matter.
|
||||
|
||||
> This step is only required if you are not using the default LunaSea profile (`default`). LunaSea will assume the default profile when none is supplied.
|
||||
>
|
||||
> Correctly setting up this field is critically important to get full deep-linking support.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="password">
|
||||
Leave the password field empty. Setting this field will currently have no effect.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Once setup, close LunaSea and run the webhook test in Sonarr. You should receive a new notification letting you know that LunaSea is ready to receive Sonarr notifications!
|
||||
|
||||
## Example
|
||||
|
||||
An example Sonarr webhook can be seen below:
|
||||
|
||||
- No tags are set for this webhook, meaning all series will trigger a notification
|
||||
- This is a user-based notification webhook, meaning it will be sent to all devices that are linked to the user ID `1234567890`
|
||||
- The webhook is associated with the profile named `My Profile`
|
||||
|
||||

|
||||
@@ -1,89 +0,0 @@
|
||||
---
|
||||
title: Tautulli Notifications
|
||||
description: Setting up Tautulli for webhook-based push notifications
|
||||
---
|
||||
|
||||
# Tautulli Notifications
|
||||
|
||||
## Preparation
|
||||
|
||||
1. Read through the main [Notifications](/lunasea/notifications) page
|
||||
2. Copy your device-based or user-based webhook URL from LunaSea
|
||||
|
||||
## Setup the Webhook
|
||||
|
||||
In Tautulli's web GUI, head to Settings -> Notification Agents, hit the "Add a new notification agent" button and select "LunaSea". Please follow each section below to setup the webhook:
|
||||
|
||||
<Tabs
|
||||
defaultValue="configuration"
|
||||
values={[
|
||||
{ label: "Configuration", value: "configuration" },
|
||||
{ label: "Triggers", value: "triggers" },
|
||||
{ label: "Conditions", value: "conditions" },
|
||||
{ label: "Text", value: "text" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="configuration">
|
||||
**LunaSea Webhook URL**
|
||||
|
||||
Paste the full device-based or user-based URL that was copied from LunaSea.
|
||||
|
||||
**LunaSea Profile**
|
||||
|
||||
Enter in the name of the profile which should be an _exact match_ to the profile that this module instance was added to within LunaSea. Capitalization and punctuation does matter.
|
||||
|
||||
> This step is only required if you are not using the default LunaSea profile (`default`). LunaSea will assume the default profile when none is supplied.
|
||||
>
|
||||
> Correctly setting up this field is critically important to get full deep-linking support.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="triggers">
|
||||
Select which events should trigger a push notification. The following triggers are supported:
|
||||
|
||||
| Trigger | Supported? |
|
||||
| :--------------------------: | :--------: |
|
||||
| Playback Start | ✅ |
|
||||
| Playback Stop | ✅ |
|
||||
| Playback Pause | ✅ |
|
||||
| Playback Resume | ✅ |
|
||||
| Playback Error | ✅ |
|
||||
| Transcode Decision Change | ✅ |
|
||||
| Watched | ✅ |
|
||||
| Buffer Warning | ✅ |
|
||||
| User Concurrent Streams | ✅ |
|
||||
| User New Device | ✅ |
|
||||
| Recently Added | ✅ |
|
||||
| Plex Server Down | ✅ |
|
||||
| Plex Server Back Up | ✅ |
|
||||
| Plex Remote Access Down | ✅ |
|
||||
| Plex Remote Access Back Up | ✅ |
|
||||
| Plex Update Available | ✅ |
|
||||
| Tautulli Update Available | ✅ |
|
||||
| Tautulli Database Corruption | ✅ |
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="conditions">
|
||||
You can _optionally_ add conditions that must be met for the webhook notifications to trigger.
|
||||
|
||||
You can set as many conditions as you like, and can combine different conditions for different triggers by adding separate webhooks to Tautulli.
|
||||
</TabItem>
|
||||
|
||||
<TabItem value="text">
|
||||
A default message is set for all trigger types, but on this page you can alter the exact text that would appear in the message.
|
||||
|
||||
Please read the top of this tab in Tautulli about how to utilize the different modifiers.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Once setup, close LunaSea and run the webhook test in Tautulli. You should receive a new notification letting you know that LunaSea is ready to receive Tautulli notifications!
|
||||
|
||||
## Attach Images to Notifications
|
||||
|
||||
This step is **optional** but recommended. Unlike other modules, in order to receive the actual images (posters, etc.) instead of a generic poster along with the notification, you will need to setup an image host within Tautulli.
|
||||
|
||||
1. Go to Tautulli's web GUI
|
||||
2. Open the Settings, enter "3rd Party APIs"
|
||||
3. Select any of the available image providers
|
||||
- If selecting `Self-hosted on public domain`, ensure that the image path (`/tautulli/image`) is publicly accessible from the internet
|
||||
4. Follow the [3rd Party APIs Guide](https://github.com/Tautulli/Tautulli/wiki/3rd-Party-APIs-Guide) to acquire the required details for the chosen image provider
|
||||
5. Enter and save the acquired API/Client ID information
|
||||
@@ -1,62 +0,0 @@
|
||||
---
|
||||
title: Android Releases
|
||||
description: Where to download Android releases of LunaSea
|
||||
---
|
||||
|
||||
# Android Releases
|
||||
|
||||
> If you want a stable experience, stick with stable releases. Want to test new builds of LunaSea? Read about the [build channels](/getting-started/build-channels) to make the right choice!
|
||||
|
||||
LunaSea is available on Android 7.0+.
|
||||
|
||||
Note that Google Play Services are not required for core functionality, however LunaSea account features and push notifications are not supported at this time.
|
||||
|
||||
## Google Play Store
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
|
||||
|
||||
The easiest way for most users with Android devices would be to download releases of LunaSea directly from the [Google Play Store](https://www.lunasea.app/playstore)!
|
||||
|
||||
<Tabs
|
||||
defaultValue="stable"
|
||||
values={[
|
||||
{ label: "Stable", value: "stable" },
|
||||
{ label: "Candidate", value: "candidate" },
|
||||
{ label: "Beta", value: "beta" },
|
||||
{ label: "Edge", value: "edge" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="stable">
|
||||
Head to the [Google Play Store](https://www.lunasea.app/playstore)!
|
||||
</TabItem>
|
||||
<TabItem value="candidate">
|
||||
1. Head to the [Google Play Store](https://www.lunasea.app/playstore)
|
||||
2. Register for the test directly on the store listing
|
||||
3. Download LunaSea via the Google Play Store
|
||||
</TabItem>
|
||||
<TabItem value="beta">
|
||||
1. Join the [LunaSea: Beta Testing](https://groups.google.com/g/lunasea-beta-test) Google Group
|
||||
2. Head to the [Google Play Store](https://www.lunasea.app/playstore)
|
||||
3. Register for the test directly on the store listing
|
||||
4. Download LunaSea via the Google Play Store
|
||||
</TabItem>
|
||||
<TabItem value="edge">
|
||||
Because of the limitations on internal testing set by the Google Play Store, develop builds on Android are only available upon request to a very limited amount of users.
|
||||
|
||||
Reach out via [email](mailto:hello@lunasea.app) for more information.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Build Bucket
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
_Format(s): `.apk`_
|
||||
|
||||
All Android releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
|
||||
|
||||
## GitHub Releases
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
_Format(s): `.apk`_
|
||||
|
||||
All stable releases are available on GitHub via the [Releases](https://github.com/JagandeepBrar/LunaSea/releases) page!
|
||||
@@ -1,69 +0,0 @@
|
||||
---
|
||||
title: iOS Releases
|
||||
description: Where to download iOS releases of LunaSea
|
||||
---
|
||||
|
||||
# iOS Releases
|
||||
|
||||
> If you want a stable experience, stick with stable releases. Want to test new builds of LunaSea? Read about the [build channels](/getting-started/build-channels) to make the right choice!
|
||||
|
||||
LunaSea is available on iOS 11.0+.
|
||||
|
||||
Note that installation of iOS app package (`.ipa`) files is a relatively advanced task and instructions are outside the scope of LunaSea's documentation and no support will be provided.
|
||||
|
||||
## App Store
|
||||
|
||||
_Channel(s): `Stable`_
|
||||
|
||||
The easiest way for most users with iOS devices who want stable releases would be to download releases of LunaSea directly from the [App Store](https://www.lunasea.app/appstore)!
|
||||
|
||||
## TestFlight
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
|
||||
|
||||
The easiest way for most users with iOS devices to use test channels is using the [TestFlight](https://apps.apple.com/app/testflight/id899247664) platform!
|
||||
|
||||
<Tabs
|
||||
defaultValue="stable"
|
||||
values={[
|
||||
{ label: "Stable", value: "stable" },
|
||||
{ label: "Candidate", value: "candidate" },
|
||||
{ label: "Beta", value: "beta" },
|
||||
{ label: "Edge", value: "edge" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="stable">
|
||||
1. [Download TestFlight for iOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight stable channel](https://www.lunasea.app/testflight/stable)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
<TabItem value="candidate">
|
||||
1. [Download TestFlight for iOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight candidate channel](https://www.lunasea.app/testflight/candidate)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
<TabItem value="beta">
|
||||
1. [Download TestFlight for iOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight beta channel](https://www.lunasea.app/testflight/beta)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
<TabItem value="edge">
|
||||
1. [Download TestFlight for iOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight edge channel](https://www.lunasea.app/testflight/edge)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Build Bucket
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
_Format(s): `.ipa`_
|
||||
|
||||
All iOS releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
|
||||
|
||||
## GitHub Releases
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
_Format(s): `.ipa`_
|
||||
|
||||
All stable releases are available on GitHub via the [Releases](https://github.com/JagandeepBrar/LunaSea/releases) page!
|
||||
@@ -1,62 +0,0 @@
|
||||
---
|
||||
title: Linux Releases
|
||||
description: Where to download Linux releases of LunaSea
|
||||
---
|
||||
|
||||
# Linux Releases
|
||||
|
||||
> If you want a stable experience, stick with stable releases. Want to test new builds of LunaSea? Read about the [build channels](/getting-started/build-channels) to make the right choice!
|
||||
|
||||
LunaSea is available on all graphical Linux distributions that have `snap` installed and configured.
|
||||
|
||||
## Snapcraft
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
|
||||
|
||||
The easiest way for most users on graphic Linux distributions would be to download releases of LunaSea directly from [Snapcraft](https://www.lunasea.app/snapcraft)!
|
||||
|
||||
<Tabs
|
||||
groupId="channel"
|
||||
defaultValue="stable"
|
||||
values={[
|
||||
{ label: "Stable", value: "stable" },
|
||||
{ label: "Candidate", value: "candidate" },
|
||||
{ label: "Beta", value: "beta" },
|
||||
{ label: "Edge", value: "edge" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="stable">
|
||||
```bash
|
||||
sudo snap install lunasea
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="candidate">
|
||||
```bash
|
||||
sudo snap install lunasea --candidate
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="beta">
|
||||
```bash
|
||||
sudo snap install lunasea --beta
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="edge">
|
||||
```bash
|
||||
sudo snap install lunasea --edge
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Build Bucket
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
_Format(s): `.snap`_
|
||||
|
||||
All Linux releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
|
||||
|
||||
## GitHub Releases
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
_Format(s): `.snap`_
|
||||
|
||||
All stable releases are available on GitHub via the [Releases](https://github.com/JagandeepBrar/LunaSea/releases) page!
|
||||
@@ -1,67 +0,0 @@
|
||||
---
|
||||
title: macOS Releases
|
||||
description: Where to download macOS releases of LunaSea
|
||||
---
|
||||
|
||||
# macOS Releases
|
||||
|
||||
> If you want a stable experience, stick with stable releases. Want to test new builds of LunaSea? Read about the [build channels](/getting-started/build-channels) to make the right choice!
|
||||
|
||||
LunaSea is available on macOS 10.14+.
|
||||
|
||||
## TestFlight
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
|
||||
|
||||
The easiest way for most users with macOS devices would be to download releases of LunaSea using the [TestFlight](https://apps.apple.com/app/testflight/id899247664) platform!
|
||||
|
||||
<Tabs
|
||||
defaultValue="stable"
|
||||
values={[
|
||||
{ label: "Stable", value: "stable" },
|
||||
{ label: "Candidate", value: "candidate" },
|
||||
{ label: "Beta", value: "beta" },
|
||||
{ label: "Edge", value: "edge" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="stable">
|
||||
1. [Download TestFlight for macOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight stable channel](https://www.lunasea.app/testflight/stable)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
<TabItem value="candidate">
|
||||
1. [Download TestFlight for macOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight candidate channel](https://www.lunasea.app/testflight/candidate)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
<TabItem value="beta">
|
||||
1. [Download TestFlight for macOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight beta channel](https://www.lunasea.app/testflight/beta)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
<TabItem value="edge">
|
||||
1. [Download TestFlight for macOS](https://apps.apple.com/app/testflight/id899247664)
|
||||
2. Join the [TestFlight edge channel](https://www.lunasea.app/testflight/edge)
|
||||
3. Download LunaSea via the TestFlight application
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Build Bucket
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
_Format(s): `.dmg`, `.zip`_
|
||||
|
||||
All macOS releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
|
||||
|
||||
## Homebrew Cask
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
|
||||
All stable releases are available via [Homebrew Cask](https://formulae.brew.sh/cask/lunasea)!
|
||||
|
||||
## GitHub Releases
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
_Format(s): `.dmg`, `.zip`_
|
||||
|
||||
All stable releases are available on GitHub via the [Releases](https://github.com/JagandeepBrar/LunaSea/releases) page!
|
||||
@@ -1,88 +0,0 @@
|
||||
---
|
||||
title: Web Releases
|
||||
description: Where to download Web releases of LunaSea
|
||||
---
|
||||
|
||||
# Web Releases
|
||||
|
||||
> If you want a stable experience, stick with stable releases. Want to test new builds of LunaSea? Read about the [build channels](/getting-started/build-channels) to make the right choice!
|
||||
|
||||
## Hosted Builds
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
|
||||
All web releases of LunaSea are available on hosted instances by the LunaSea team! All communication and data stored is client-side, but there are some limitations of the platform which can be [viewed here](/getting-started/platform-restrictions).
|
||||
|
||||
<Tabs
|
||||
defaultValue="stable"
|
||||
values={[
|
||||
{ label: "Stable", value: "stable" },
|
||||
{ label: "Candidate", value: "candidate" },
|
||||
{ label: "Beta", value: "beta" },
|
||||
{ label: "Edge", value: "edge" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="stable">
|
||||
Access the stable release [here](https://web.lunasea.app)!
|
||||
</TabItem>
|
||||
<TabItem value="candidate">
|
||||
Access the candidate release [here](https://candidate.web.lunasea.app)!
|
||||
</TabItem>
|
||||
<TabItem value="beta">
|
||||
Access the beta release [here](https://beta.web.lunasea.app)!
|
||||
</TabItem>
|
||||
<TabItem value="edge">
|
||||
Access the edge release [here](https://edge.web.lunasea.app)!
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Docker
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
|
||||
All web releases of LunaSea are also available in officially hosted Docker images! There is currently only one value that needs to be configured which is the port mapping. LunaSea functions as a frontend application with all data being stored client-side.
|
||||
|
||||
<Tabs
|
||||
defaultValue="stable"
|
||||
values={[
|
||||
{ label: "Stable", value: "stable" },
|
||||
{ label: "Candidate", value: "candidate" },
|
||||
{ label: "Beta", value: "beta" },
|
||||
{ label: "Edge", value: "edge" },
|
||||
]}
|
||||
>
|
||||
<TabItem value="stable">
|
||||
```bash
|
||||
docker run -p 80:80 ghcr.io/jagandeepbrar/lunasea:stable
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="candidate">
|
||||
```bash
|
||||
docker run -p 80:80 ghcr.io/jagandeepbrar/lunasea:candidate
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="beta">
|
||||
```bash
|
||||
docker run -p 80:80 ghcr.io/jagandeepbrar/lunasea:beta
|
||||
```
|
||||
</TabItem>
|
||||
<TabItem value="edge">
|
||||
```bash
|
||||
docker run -p 80:80 ghcr.io/jagandeepbrar/lunasea:edge
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Build Bucket
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
_Format(s): `.zip`_
|
||||
|
||||
All web releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
|
||||
|
||||
## GitHub Releases
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
_Format(s): `.zip`_
|
||||
|
||||
All stable releases are available on GitHub via the [Releases](https://github.com/JagandeepBrar/LunaSea/releases) page!
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
title: Windows Releases
|
||||
description: Where to download Windows releases of LunaSea
|
||||
---
|
||||
|
||||
# Windows Releases
|
||||
|
||||
> If you want a stable experience, stick with stable releases. Want to test new builds of LunaSea? Read about the [build channels](/getting-started/build-channels) to make the right choice!
|
||||
|
||||
LunaSea is available on Windows 10+.
|
||||
|
||||
## Build Bucket
|
||||
|
||||
_Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
|
||||
_Format(s): `.msix`, `.zip`_
|
||||
|
||||
All Windows releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
|
||||
|
||||
## GitHub Releases
|
||||
|
||||
_Channel(s): `Stable`_<br/>
|
||||
_Format(s): `.msix`, `.zip`_
|
||||
|
||||
All stable releases are available on GitHub via the [Releases](https://github.com/JagandeepBrar/LunaSea/releases) page!
|
||||
@@ -1,14 +1,13 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.5)
|
||||
CFPropertyList (3.0.6)
|
||||
rexml
|
||||
activesupport (6.1.7)
|
||||
activesupport (7.0.4.3)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
tzinfo (~> 2.0)
|
||||
zeitwerk (~> 2.3)
|
||||
addressable (2.8.1)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
algoliasearch (1.27.5)
|
||||
@@ -17,16 +16,16 @@ GEM
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.655.0)
|
||||
aws-sdk-core (3.166.0)
|
||||
aws-partitions (1.731.0)
|
||||
aws-sdk-core (3.170.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.59.0)
|
||||
aws-sdk-kms (1.63.0)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.117.1)
|
||||
aws-sdk-s3 (1.119.1)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
@@ -34,15 +33,15 @@ GEM
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.11.3)
|
||||
cocoapods (1.12.0)
|
||||
addressable (~> 2.8)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.11.3)
|
||||
cocoapods-core (= 1.12.0)
|
||||
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||
cocoapods-downloader (>= 1.4.0, < 2.0)
|
||||
cocoapods-downloader (>= 1.6.0, < 2.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
cocoapods-search (>= 1.0.0, < 2.0)
|
||||
cocoapods-trunk (>= 1.4.0, < 2.0)
|
||||
cocoapods-trunk (>= 1.6.0, < 2.0)
|
||||
cocoapods-try (>= 1.1.0, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
escape (~> 0.0.4)
|
||||
@@ -50,10 +49,10 @@ GEM
|
||||
gh_inspector (~> 1.0)
|
||||
molinillo (~> 0.8.0)
|
||||
nap (~> 1.0)
|
||||
ruby-macho (>= 1.0, < 3.0)
|
||||
ruby-macho (>= 2.3.0, < 3.0)
|
||||
xcodeproj (>= 1.21.0, < 2.0)
|
||||
cocoapods-core (1.11.3)
|
||||
activesupport (>= 5.0, < 7)
|
||||
cocoapods-core (1.12.0)
|
||||
activesupport (>= 5.0, < 8)
|
||||
addressable (~> 2.8)
|
||||
algoliasearch (~> 1.0)
|
||||
concurrent-ruby (~> 1.1)
|
||||
@@ -75,7 +74,7 @@ GEM
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
concurrent-ruby (1.1.10)
|
||||
concurrent-ruby (1.2.2)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.4)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
@@ -84,10 +83,10 @@ GEM
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
escape (0.0.4)
|
||||
ethon (0.15.0)
|
||||
ethon (0.16.0)
|
||||
ffi (>= 1.15.0)
|
||||
excon (0.93.1)
|
||||
faraday (1.10.2)
|
||||
excon (0.99.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@@ -116,7 +115,7 @@ GEM
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.6)
|
||||
fastlane (2.210.1)
|
||||
fastlane (2.212.1)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -159,9 +158,9 @@ GEM
|
||||
fourflusher (2.3.1)
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.30.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-core (0.9.1)
|
||||
google-apis-androidpublisher_v3 (0.37.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
@@ -170,10 +169,10 @@ GEM
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.16.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.12.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
google-apis-core (>= 0.9.0, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
@@ -181,7 +180,7 @@ GEM
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.44.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
@@ -203,13 +202,13 @@ GEM
|
||||
httpclient (2.8.3)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jmespath (1.6.1)
|
||||
json (2.6.2)
|
||||
jwt (2.5.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
jwt (2.7.0)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.11.0)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.2)
|
||||
minitest (5.16.3)
|
||||
minitest (5.18.0)
|
||||
molinillo (0.8.0)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.0.0)
|
||||
@@ -219,7 +218,7 @@ GEM
|
||||
netrc (0.11.0)
|
||||
optparse (0.1.1)
|
||||
os (1.1.4)
|
||||
plist (3.6.0)
|
||||
plist (3.7.0)
|
||||
public_suffix (4.0.7)
|
||||
rake (13.0.6)
|
||||
representable (3.2.0)
|
||||
@@ -238,7 +237,7 @@ GEM
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.8)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
@@ -251,14 +250,14 @@ GEM
|
||||
tty-cursor (~> 0.7)
|
||||
typhoeus (1.4.0)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (2.0.5)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.7.0)
|
||||
webrick (1.8.1)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.22.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
@@ -271,7 +270,6 @@ GEM
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
zeitwerk (2.6.4)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
platform :ios, '11.0'
|
||||
$FirebaseSDKVersion = '10.0.0'
|
||||
$FirebaseSDKVersion = '10.7.0'
|
||||
|
||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
||||
|
||||
199
ios/Podfile.lock
@@ -1,6 +1,6 @@
|
||||
PODS:
|
||||
- cloud_firestore (4.0.4):
|
||||
- Firebase/Firestore (= 10.0.0)
|
||||
- cloud_firestore (4.5.0):
|
||||
- Firebase/Firestore (= 10.7.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- nanopb (< 2.30910.0, >= 2.30908.0)
|
||||
@@ -38,64 +38,64 @@ PODS:
|
||||
- file_picker (0.0.1):
|
||||
- DKImagePickerController/PhotoGallery
|
||||
- Flutter
|
||||
- Firebase/Auth (10.0.0):
|
||||
- Firebase/Auth (10.7.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseAuth (~> 10.0.0)
|
||||
- Firebase/CoreOnly (10.0.0):
|
||||
- FirebaseCore (= 10.0.0)
|
||||
- Firebase/Firestore (10.0.0):
|
||||
- FirebaseAuth (~> 10.7.0)
|
||||
- Firebase/CoreOnly (10.7.0):
|
||||
- FirebaseCore (= 10.7.0)
|
||||
- Firebase/Firestore (10.7.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseFirestore (~> 10.0.0)
|
||||
- Firebase/Messaging (10.0.0):
|
||||
- FirebaseFirestore (~> 10.7.0)
|
||||
- Firebase/Messaging (10.7.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseMessaging (~> 10.0.0)
|
||||
- Firebase/Storage (10.0.0):
|
||||
- FirebaseMessaging (~> 10.7.0)
|
||||
- Firebase/Storage (10.7.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseStorage (~> 10.0.0)
|
||||
- firebase_auth (4.1.1):
|
||||
- Firebase/Auth (= 10.0.0)
|
||||
- FirebaseStorage (~> 10.7.0)
|
||||
- firebase_auth (4.4.0):
|
||||
- Firebase/Auth (= 10.7.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- firebase_core (2.1.1):
|
||||
- Firebase/CoreOnly (= 10.0.0)
|
||||
- firebase_core (2.9.0):
|
||||
- Firebase/CoreOnly (= 10.7.0)
|
||||
- Flutter
|
||||
- firebase_messaging (14.0.4):
|
||||
- Firebase/Messaging (= 10.0.0)
|
||||
- firebase_messaging (14.4.0):
|
||||
- Firebase/Messaging (= 10.7.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- firebase_storage (11.0.4):
|
||||
- Firebase/Storage (= 10.0.0)
|
||||
- firebase_storage (11.1.0):
|
||||
- Firebase/Storage (= 10.7.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- FirebaseAppCheckInterop (10.1.0)
|
||||
- FirebaseAuth (10.0.0):
|
||||
- FirebaseAppCheckInterop (10.7.0)
|
||||
- FirebaseAuth (10.7.0):
|
||||
- FirebaseCore (~> 10.0)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
|
||||
- GoogleUtilities/Environment (~> 7.8)
|
||||
- GTMSessionFetcher/Core (~> 2.1)
|
||||
- FirebaseAuthInterop (10.1.0)
|
||||
- FirebaseCore (10.0.0):
|
||||
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
|
||||
- FirebaseAuthInterop (10.7.0)
|
||||
- FirebaseCore (10.7.0):
|
||||
- FirebaseCoreInternal (~> 10.0)
|
||||
- GoogleUtilities/Environment (~> 7.8)
|
||||
- GoogleUtilities/Logger (~> 7.8)
|
||||
- FirebaseCoreExtension (10.1.0):
|
||||
- FirebaseCoreExtension (10.7.0):
|
||||
- FirebaseCore (~> 10.0)
|
||||
- FirebaseCoreInternal (10.1.0):
|
||||
- FirebaseCoreInternal (10.7.0):
|
||||
- "GoogleUtilities/NSData+zlib (~> 7.8)"
|
||||
- FirebaseFirestore (10.0.0):
|
||||
- FirebaseFirestore/AutodetectLeveldb (= 10.0.0)
|
||||
- FirebaseFirestore/AutodetectLeveldb (10.0.0):
|
||||
- FirebaseFirestore (10.7.0):
|
||||
- FirebaseFirestore/AutodetectLeveldb (= 10.7.0)
|
||||
- FirebaseFirestore/AutodetectLeveldb (10.7.0):
|
||||
- FirebaseFirestore/Base
|
||||
- FirebaseFirestore/WithLeveldb
|
||||
- FirebaseFirestore/Base (10.0.0)
|
||||
- FirebaseFirestore/WithLeveldb (10.0.0):
|
||||
- FirebaseFirestore/Base (10.7.0)
|
||||
- FirebaseFirestore/WithLeveldb (10.7.0):
|
||||
- FirebaseFirestore/Base
|
||||
- FirebaseInstallations (10.1.0):
|
||||
- FirebaseInstallations (10.7.0):
|
||||
- FirebaseCore (~> 10.0)
|
||||
- GoogleUtilities/Environment (~> 7.8)
|
||||
- GoogleUtilities/UserDefaults (~> 7.8)
|
||||
- PromisesObjC (~> 2.1)
|
||||
- FirebaseMessaging (10.0.0):
|
||||
- FirebaseMessaging (10.7.0):
|
||||
- FirebaseCore (~> 10.0)
|
||||
- FirebaseInstallations (~> 10.0)
|
||||
- GoogleDataTransport (~> 9.2)
|
||||
@@ -104,42 +104,43 @@ PODS:
|
||||
- GoogleUtilities/Reachability (~> 7.8)
|
||||
- GoogleUtilities/UserDefaults (~> 7.8)
|
||||
- nanopb (< 2.30910.0, >= 2.30908.0)
|
||||
- FirebaseStorage (10.0.0):
|
||||
- FirebaseStorage (10.7.0):
|
||||
- FirebaseAppCheckInterop (~> 10.0)
|
||||
- FirebaseAuthInterop (~> 10.0)
|
||||
- FirebaseCore (~> 10.0)
|
||||
- FirebaseCoreExtension (~> 10.0)
|
||||
- GTMSessionFetcher/Core (~> 2.1)
|
||||
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
|
||||
- Flutter (1.0.0)
|
||||
- flutter_native_splash (0.0.1):
|
||||
- Flutter
|
||||
- FMDB (2.7.5):
|
||||
- FMDB/standard (= 2.7.5)
|
||||
- FMDB/standard (2.7.5)
|
||||
- GoogleDataTransport (9.2.0):
|
||||
- GoogleDataTransport (9.2.1):
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- nanopb (< 2.30910.0, >= 2.30908.0)
|
||||
- PromisesObjC (< 3.0, >= 1.2)
|
||||
- GoogleUtilities/AppDelegateSwizzler (7.8.0):
|
||||
- GoogleUtilities/AppDelegateSwizzler (7.11.0):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Network
|
||||
- GoogleUtilities/Environment (7.8.0):
|
||||
- GoogleUtilities/Environment (7.11.0):
|
||||
- PromisesObjC (< 3.0, >= 1.2)
|
||||
- GoogleUtilities/Logger (7.8.0):
|
||||
- GoogleUtilities/Logger (7.11.0):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/Network (7.8.0):
|
||||
- GoogleUtilities/Network (7.11.0):
|
||||
- GoogleUtilities/Logger
|
||||
- "GoogleUtilities/NSData+zlib"
|
||||
- GoogleUtilities/Reachability
|
||||
- "GoogleUtilities/NSData+zlib (7.8.0)"
|
||||
- GoogleUtilities/Reachability (7.8.0):
|
||||
- "GoogleUtilities/NSData+zlib (7.11.0)"
|
||||
- GoogleUtilities/Reachability (7.11.0):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/UserDefaults (7.8.0):
|
||||
- GoogleUtilities/UserDefaults (7.11.0):
|
||||
- GoogleUtilities/Logger
|
||||
- GTMSessionFetcher/Core (2.2.0)
|
||||
- GTMSessionFetcher/Core (3.1.0)
|
||||
- in_app_purchase_storekit (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- nanopb (2.30909.0):
|
||||
- nanopb/decode (= 2.30909.0)
|
||||
- nanopb/encode (= 2.30909.0)
|
||||
@@ -147,29 +148,31 @@ PODS:
|
||||
- nanopb/encode (2.30909.0)
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- path_provider_ios (0.0.1):
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- PromisesObjC (2.1.1)
|
||||
- FlutterMacOS
|
||||
- PromisesObjC (2.2.0)
|
||||
- quick_actions_ios (0.0.1):
|
||||
- Flutter
|
||||
- SDWebImage (5.13.5):
|
||||
- SDWebImage/Core (= 5.13.5)
|
||||
- SDWebImage/Core (5.13.5)
|
||||
- Sentry (7.30.0):
|
||||
- Sentry/Core (= 7.30.0)
|
||||
- Sentry/Core (7.30.0)
|
||||
- SDWebImage (5.15.5):
|
||||
- SDWebImage/Core (= 5.15.5)
|
||||
- SDWebImage/Core (5.15.5)
|
||||
- Sentry/HybridSDK (8.3.3):
|
||||
- SentryPrivate (= 8.3.3)
|
||||
- sentry_flutter (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- Sentry (~> 7.30.0)
|
||||
- Sentry/HybridSDK (= 8.3.3)
|
||||
- SentryPrivate (8.3.3)
|
||||
- share_plus (0.0.1):
|
||||
- Flutter
|
||||
- shared_preferences_ios (0.0.1):
|
||||
- shared_preferences_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqflite (0.0.2):
|
||||
- Flutter
|
||||
- FMDB (>= 2.7.5)
|
||||
- SwiftyGif (5.4.3)
|
||||
- SwiftyGif (5.4.4)
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
|
||||
@@ -181,16 +184,16 @@ DEPENDENCIES:
|
||||
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
||||
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
|
||||
- firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
|
||||
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.0.0`)
|
||||
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.7.0`)
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
|
||||
- in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
|
||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
|
||||
- quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
|
||||
- sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`)
|
||||
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
|
||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
|
||||
- sqflite (from `.symlinks/plugins/sqflite/ios`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
|
||||
@@ -216,6 +219,7 @@ SPEC REPOS:
|
||||
- PromisesObjC
|
||||
- SDWebImage
|
||||
- Sentry
|
||||
- SentryPrivate
|
||||
- SwiftyGif
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
@@ -233,7 +237,7 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/firebase_storage/ios"
|
||||
FirebaseFirestore:
|
||||
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
|
||||
:tag: 10.0.0
|
||||
:tag: 10.7.0
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
flutter_native_splash:
|
||||
@@ -242,16 +246,16 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/in_app_purchase_storekit/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
path_provider_ios:
|
||||
:path: ".symlinks/plugins/path_provider_ios/ios"
|
||||
path_provider_foundation:
|
||||
:path: ".symlinks/plugins/path_provider_foundation/ios"
|
||||
quick_actions_ios:
|
||||
:path: ".symlinks/plugins/quick_actions_ios/ios"
|
||||
sentry_flutter:
|
||||
:path: ".symlinks/plugins/sentry_flutter/ios"
|
||||
share_plus:
|
||||
:path: ".symlinks/plugins/share_plus/ios"
|
||||
shared_preferences_ios:
|
||||
:path: ".symlinks/plugins/shared_preferences_ios/ios"
|
||||
shared_preferences_foundation:
|
||||
:path: ".symlinks/plugins/shared_preferences_foundation/ios"
|
||||
sqflite:
|
||||
:path: ".symlinks/plugins/sqflite/ios"
|
||||
url_launcher_ios:
|
||||
@@ -260,49 +264,50 @@ EXTERNAL SOURCES:
|
||||
CHECKOUT OPTIONS:
|
||||
FirebaseFirestore:
|
||||
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
|
||||
:tag: 10.0.0
|
||||
:tag: 10.7.0
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
cloud_firestore: 62c5fa0e5ce5373be25d6233e8edbbe991fa973d
|
||||
cloud_firestore: 84f58b426bd8d21a22c4b19d9d18028fc4ff3eb1
|
||||
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
|
||||
Firebase: 1b810f3d0c0532e27a48f1961f8c0400a668a2cf
|
||||
firebase_auth: dd33e93fce72a1c72040f7380dacf06e89db5705
|
||||
firebase_core: 5c0bb0ca7d0e70480a68a6e9ad9bf55d1edd5305
|
||||
firebase_messaging: bf848602391fa6ee68d86e337f81be14be120aaf
|
||||
firebase_storage: 5cf5e677fd9793e26ec5d006100c25e28cd21c05
|
||||
FirebaseAppCheckInterop: 53eec3c354a95f8fe6ff947dd9518ea17f624914
|
||||
FirebaseAuth: 493382cf533cc45e2862b00e9aa4cfe4c98daf71
|
||||
FirebaseAuthInterop: 15b2c717321d5e46a60562e388c4d1b039ea7e28
|
||||
FirebaseCore: 97f48a3a567a72b8d4daa0f03c3aadb78df4e995
|
||||
FirebaseCoreExtension: 69b966c399abc4ca6dc75006ab87160f81512725
|
||||
FirebaseCoreInternal: 96d75228e10fd369564da51bd898414eb0f54df5
|
||||
FirebaseFirestore: d1b97d497a6e6c31bb38dff714af8e606395b959
|
||||
FirebaseInstallations: 99d24bac0243cf8b0e96cf5426340d211f0bcc80
|
||||
FirebaseMessaging: 8916bf5edb1dbfac74665a181e4d1ab3a78a08a2
|
||||
FirebaseStorage: 8b0b0630e11b9f3e4a479a26cfccb70ec790ec50
|
||||
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
|
||||
Firebase: 0219acf760880eeec8ce479895bd7767466d9f81
|
||||
firebase_auth: 5984ebaf5463319e304ab1c0966b06994bd1c69a
|
||||
firebase_core: d85432877e814811e040e7659f9c82faeab66e04
|
||||
firebase_messaging: 45c0514ca78426630338a42fb7b55af962c7ccd2
|
||||
firebase_storage: 3419feab3ca832a07bdff5307477e0b9d20eb5f8
|
||||
FirebaseAppCheckInterop: 8e907eea79958960a8bd2058e067f31e03a7914b
|
||||
FirebaseAuth: dd64c01631df724b09f33e584625775c52f7d71f
|
||||
FirebaseAuthInterop: 46201190fe90ef1f581513eb0f9fa3d7820e7d6d
|
||||
FirebaseCore: e317665b9d744727a97e623edbbed009320afdd7
|
||||
FirebaseCoreExtension: f17247ba8c61e4d3c8d136b5e2de3cb4ac6a85b6
|
||||
FirebaseCoreInternal: 8845798510aae74703467480f71ac613788d0696
|
||||
FirebaseFirestore: 712ff268d746fc65efb361e9ce2cfeb458f10643
|
||||
FirebaseInstallations: 59c0e4c7a816a0f76710d83f77e5369b3e45eb96
|
||||
FirebaseMessaging: ac9062bcc35ed56e15a0241d8fd317022499baf8
|
||||
FirebaseStorage: 4841efa304543e1f9e4ca116c559c7a1ea2a9d0f
|
||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
|
||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||
GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f
|
||||
GoogleUtilities: 1d20a6ad97ef46f67bbdec158ce00563a671ebb7
|
||||
GTMSessionFetcher: d62ffccea5108bb9e7762ee121ae63bbdd2c6303
|
||||
in_app_purchase_storekit: d7fcf4646136ec258e237872755da8ea6c1b6096
|
||||
GoogleDataTransport: ea169759df570f4e37bdee1623ec32a7e64e67c4
|
||||
GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f
|
||||
GTMSessionFetcher: c9e714f7eec91a55641e2bab9f45fd83a219b882
|
||||
in_app_purchase_storekit: 4fb7ee9e824b1f09107fbfbbce8c4b276366dc43
|
||||
nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
|
||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
|
||||
PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
|
||||
quick_actions_ios: 56c03753992beabaa6c598e470e12d430d6e5e2f
|
||||
SDWebImage: 23d714cd599354ee7906dbae26dff89b421c4370
|
||||
Sentry: dcd74a503a6d4594ef5d6ab28cf30895a2c19a40
|
||||
sentry_flutter: d6f51618010b194d871b063903b1bb8170d396fb
|
||||
path_provider_foundation: c68054786f1b4f3343858c1e1d0caaded73f0be9
|
||||
PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
|
||||
quick_actions_ios: bb09d1c35b4a89f9dbb15487039fa1b983ca375e
|
||||
SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
|
||||
Sentry: 8ffc397d98fe58d693e73959b26ed0eaee55646a
|
||||
sentry_flutter: 5028afacfa875785cb0e3682aece171fcd9dc0d5
|
||||
SentryPrivate: bf776a47a131648f5023097215987b40fbd47025
|
||||
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
||||
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
|
||||
shared_preferences_foundation: 986fc17f3d3251412d18b0265f9c64113a8c2472
|
||||
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
|
||||
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
||||
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
||||
url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
|
||||
|
||||
PODFILE CHECKSUM: 0f2923ed3bf0e590c5af6cab3b1cde48e6ae0eec
|
||||
PODFILE CHECKSUM: a6733085e951fef104751649a2a2b404da0cbd5f
|
||||
|
||||
COCOAPODS: 1.11.3
|
||||
COCOAPODS: 1.12.0
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objectVersion = 54;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||
371E6475B0A3BE94B2BDF716 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44EF78720B687FDBE9001C4D /* Pods_Runner.framework */; };
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||
5A2FBF43F4CBC30F9BB6CD42 /* Pods_ImageNotification.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DFFCA57A5DC71BDB2499BC1 /* Pods_ImageNotification.framework */; };
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||
849C2933AA1B97340EBE9953 /* Pods_ImageNotification.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54FFE014976A652BE1BB1494 /* Pods_ImageNotification.framework */; };
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||
9C2991242453FE3100B93AB2 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C2991232453FE3100B93AB2 /* StoreKit.framework */; };
|
||||
9C7092B325E77E470056AE0B /* NotificationService.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7092B225E77E470056AE0B /* NotificationService.m */; };
|
||||
9C7092B725E77E470056AE0B /* ImageNotification.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 9C7092AF25E77E470056AE0B /* ImageNotification.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
C05F88BBB72BB95A8E3AA178 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 737AB4BBCBD47228DD43216B /* Pods_Runner.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -57,14 +57,15 @@
|
||||
/* Begin PBXFileReference section */
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
2ED7BA47F325235F982A481E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
35059A84BC70900306023481 /* Pods-ImageNotification.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.profile.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
44EF78720B687FDBE9001C4D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
702080D64FE7B3882B9842A3 /* Pods-ImageNotification.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.profile.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
3DAC3CFCC83E7F95ED48FDCA /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
54FFE014976A652BE1BB1494 /* Pods_ImageNotification.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ImageNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
737AB4BBCBD47228DD43216B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
7DFFCA57A5DC71BDB2499BC1 /* Pods_ImageNotification.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ImageNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
7FB5FED64BF621857FFC3D21 /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -72,6 +73,7 @@
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
98E160ABF015B5D4A99B35EF /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = "<group>"; };
|
||||
9C0A396F23E0F00900EC8127 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
|
||||
9C2991232453FE3100B93AB2 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
||||
9C63379625F08BCB00C44AF3 /* Release-ImageNotification.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Release-ImageNotification.xcconfig"; path = "Flutter/Release-ImageNotification.xcconfig"; sourceTree = "<group>"; };
|
||||
@@ -80,10 +82,8 @@
|
||||
9C7092B125E77E470056AE0B /* NotificationService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationService.h; sourceTree = "<group>"; };
|
||||
9C7092B225E77E470056AE0B /* NotificationService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationService.m; sourceTree = "<group>"; };
|
||||
9C7092B425E77E470056AE0B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
ACC178F98C7426A348E138DD /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
AD9EB60D5E1FDD26501B69CA /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
D010600D97E23D1BE9FBA1CC /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = "<group>"; };
|
||||
DB821AD0857E62B21015D760 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
B556834D7E7F432CA70496C8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
C18946FF4D38E61AA09A32B4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -92,7 +92,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9C2991242453FE3100B93AB2 /* StoreKit.framework in Frameworks */,
|
||||
371E6475B0A3BE94B2BDF716 /* Pods_Runner.framework in Frameworks */,
|
||||
C05F88BBB72BB95A8E3AA178 /* Pods_Runner.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -100,7 +100,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5A2FBF43F4CBC30F9BB6CD42 /* Pods_ImageNotification.framework in Frameworks */,
|
||||
849C2933AA1B97340EBE9953 /* Pods_ImageNotification.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -179,8 +179,8 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9C2991232453FE3100B93AB2 /* StoreKit.framework */,
|
||||
7DFFCA57A5DC71BDB2499BC1 /* Pods_ImageNotification.framework */,
|
||||
44EF78720B687FDBE9001C4D /* Pods_Runner.framework */,
|
||||
54FFE014976A652BE1BB1494 /* Pods_ImageNotification.framework */,
|
||||
737AB4BBCBD47228DD43216B /* Pods_Runner.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -188,12 +188,12 @@
|
||||
F5D05D221249C73674C5DB0D /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
ACC178F98C7426A348E138DD /* Pods-ImageNotification.debug.xcconfig */,
|
||||
D010600D97E23D1BE9FBA1CC /* Pods-ImageNotification.release.xcconfig */,
|
||||
702080D64FE7B3882B9842A3 /* Pods-ImageNotification.profile.xcconfig */,
|
||||
2ED7BA47F325235F982A481E /* Pods-Runner.debug.xcconfig */,
|
||||
DB821AD0857E62B21015D760 /* Pods-Runner.release.xcconfig */,
|
||||
AD9EB60D5E1FDD26501B69CA /* Pods-Runner.profile.xcconfig */,
|
||||
7FB5FED64BF621857FFC3D21 /* Pods-ImageNotification.debug.xcconfig */,
|
||||
98E160ABF015B5D4A99B35EF /* Pods-ImageNotification.release.xcconfig */,
|
||||
35059A84BC70900306023481 /* Pods-ImageNotification.profile.xcconfig */,
|
||||
3DAC3CFCC83E7F95ED48FDCA /* Pods-Runner.debug.xcconfig */,
|
||||
C18946FF4D38E61AA09A32B4 /* Pods-Runner.release.xcconfig */,
|
||||
B556834D7E7F432CA70496C8 /* Pods-Runner.profile.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
@@ -205,7 +205,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||
buildPhases = (
|
||||
1AF231CBAF75F471E97C5E3F /* [CP] Check Pods Manifest.lock */,
|
||||
E99155ECB0C6A61B1806B7AE /* [CP] Check Pods Manifest.lock */,
|
||||
9740EEB61CF901F6004384FC /* Run Script */,
|
||||
97C146EA1CF9000F007C117D /* Sources */,
|
||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||
@@ -213,8 +213,8 @@
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
9C7092B825E77E470056AE0B /* Embed App Extensions */,
|
||||
4C0D8B6E700C55D46B0878AF /* [CP] Embed Pods Frameworks */,
|
||||
7B696945E0B5C5F36D81D6B3 /* [CP] Copy Pods Resources */,
|
||||
F68ED0A587233D189FA06BC2 /* [CP] Embed Pods Frameworks */,
|
||||
425A5744531DA959CC765B08 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -230,7 +230,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 9C7092BC25E77E470056AE0B /* Build configuration list for PBXNativeTarget "ImageNotification" */;
|
||||
buildPhases = (
|
||||
1B47C8D8F52BAFB243086F88 /* [CP] Check Pods Manifest.lock */,
|
||||
F0E74E09AA58C4BC1371768A /* [CP] Check Pods Manifest.lock */,
|
||||
9C7092AB25E77E470056AE0B /* Sources */,
|
||||
9C7092AC25E77E470056AE0B /* Frameworks */,
|
||||
9C7092AD25E77E470056AE0B /* Resources */,
|
||||
@@ -308,7 +308,55 @@
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
1AF231CBAF75F471E97C5E3F /* [CP] Check Pods Manifest.lock */ = {
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Thin Binary";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||
};
|
||||
425A5744531DA959CC765B08 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
|
||||
"${PODS_ROOT}/FirebaseFirestore/FirebaseFirestore/Resources/gRPCCertificates-Cpp.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
||||
};
|
||||
E99155ECB0C6A61B1806B7AE /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -330,7 +378,7 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
1B47C8D8F52BAFB243086F88 /* [CP] Check Pods Manifest.lock */ = {
|
||||
F0E74E09AA58C4BC1371768A /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -352,21 +400,7 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Thin Binary";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||
};
|
||||
4C0D8B6E700C55D46B0878AF /* [CP] Embed Pods Frameworks */ = {
|
||||
F68ED0A587233D189FA06BC2 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -391,17 +425,18 @@
|
||||
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/Sentry/Sentry.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SentryPrivate/SentryPrivate.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/SwiftyGif/SwiftyGif.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/flutter_native_splash/flutter_native_splash.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/in_app_purchase_storekit/in_app_purchase_storekit.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/path_provider_ios/path_provider_ios.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/quick_actions_ios/quick_actions_ios.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/sentry_flutter/sentry_flutter.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/shared_preferences_ios/shared_preferences_ios.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
|
||||
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
|
||||
);
|
||||
@@ -425,17 +460,18 @@
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sentry.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SentryPrivate.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyGif.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_native_splash.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/in_app_purchase_storekit.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_ios.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/quick_actions_ios.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sentry_flutter.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_ios.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
|
||||
);
|
||||
@@ -444,38 +480,6 @@
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
7B696945E0B5C5F36D81D6B3 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
|
||||
"${PODS_ROOT}/FirebaseFirestore/FirebaseFirestore/Resources/gRPCCertificates-Cpp.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
|
||||
@@ -61,6 +61,11 @@
|
||||
<string>Main</string>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<false/>
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
<string>plex</string>
|
||||
<string>https</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
@@ -78,5 +83,9 @@
|
||||
<false/>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
<key>FLTEnableImpeller</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -54,7 +54,6 @@ platform :ios do
|
||||
sh(
|
||||
"flutter", "build", "ios",
|
||||
"--release",
|
||||
"--bundle-sksl-path=shaders/ios_sksl.json",
|
||||
"--no-codesign",
|
||||
"--build-number=#{options[:build_number]}",
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
git_url("git@github.com:JagandeepBrar/LunaSea-Fastlane-Storage.git")
|
||||
git_url("git@github.com:RoninComputer/fastlane-match-storage.git")
|
||||
storage_mode("git")
|
||||
app_identifier(["app.lunasea.lunasea", "app.lunasea.lunasea.ImageNotification"])
|
||||
platform("ios")
|
||||
|
||||
@@ -21,6 +21,8 @@ abstract class LidarrAPI {
|
||||
queryParameters: {
|
||||
if (apiKey.isNotEmpty) 'apikey': apiKey,
|
||||
},
|
||||
contentType: Headers.jsonContentType,
|
||||
responseType: ResponseType.json,
|
||||
));
|
||||
return _LidarrAPI(dio, baseUrl: _baseUrl(host));
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import 'dart:convert';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:lunasea/api/nzbget/models/status.dart';
|
||||
import 'package:lunasea/api/nzbget/models/version.dart';
|
||||
import 'package:retrofit/retrofit.dart';
|
||||
import 'package:lunasea/vendor.dart';
|
||||
|
||||
part 'api.g.dart';
|
||||
|
||||
@@ -31,7 +29,7 @@ void _attachInterceptor(Dio dio) {
|
||||
}
|
||||
|
||||
void _setResponseTransformer(Dio dio) {
|
||||
(dio.transformer as DefaultTransformer).jsonDecodeCallback = (data) {
|
||||
(dio.transformer as BackgroundTransformer).jsonDecodeCallback = (data) {
|
||||
final parsed = json.decode(data);
|
||||
final result = parsed['result'];
|
||||
if (result is Map) return result;
|
||||
@@ -51,6 +49,8 @@ abstract class NZBGetAPI {
|
||||
headers: headers,
|
||||
followRedirects: true,
|
||||
maxRedirects: 5,
|
||||
contentType: Headers.jsonContentType,
|
||||
responseType: ResponseType.json,
|
||||
));
|
||||
_attachInterceptor(dio);
|
||||
_setResponseTransformer(dio);
|
||||
|
||||
@@ -27,6 +27,8 @@ abstract class OverseerrAPI {
|
||||
'X-Api-Key': apiKey,
|
||||
...headers,
|
||||
},
|
||||
contentType: Headers.jsonContentType,
|
||||
responseType: ResponseType.json,
|
||||
followRedirects: true,
|
||||
maxRedirects: 5,
|
||||
),
|
||||
|
||||
@@ -68,6 +68,8 @@ class RadarrAPI {
|
||||
headers: headers,
|
||||
followRedirects: followRedirects,
|
||||
maxRedirects: maxRedirects,
|
||||
contentType: Headers.jsonContentType,
|
||||
responseType: ResponseType.json,
|
||||
),
|
||||
);
|
||||
return RadarrAPI._internal(
|
||||
|
||||
@@ -32,6 +32,8 @@ abstract class SABnzbdAPI {
|
||||
headers: headers,
|
||||
followRedirects: true,
|
||||
maxRedirects: 5,
|
||||
contentType: Headers.jsonContentType,
|
||||
responseType: ResponseType.json,
|
||||
queryParameters: {
|
||||
if (apiKey.isNotEmpty) 'apikey': apiKey,
|
||||
'output': 'json',
|
||||
|
||||
@@ -36,6 +36,8 @@ class SonarrAPI {
|
||||
queryParameters: {
|
||||
'apikey': apiKey,
|
||||
},
|
||||
contentType: Headers.jsonContentType,
|
||||
responseType: ResponseType.json,
|
||||
headers: headers,
|
||||
followRedirects: followRedirects,
|
||||
maxRedirects: maxRedirects,
|
||||
|
||||
@@ -312,7 +312,7 @@ class TautulliSession {
|
||||
fromJson: TautulliUtilities.ensureStringFromJson)
|
||||
final String? videoResolution;
|
||||
|
||||
/// Full resoltuion of the video stream.
|
||||
/// Full resolution of the video stream.
|
||||
@JsonKey(
|
||||
name: 'video_full_resolution',
|
||||
fromJson: TautulliUtilities.ensureStringFromJson)
|
||||
@@ -793,13 +793,13 @@ class TautulliSession {
|
||||
@JsonKey(
|
||||
name: 'transcode_hw_encode',
|
||||
fromJson: TautulliUtilities.ensureStringFromJson)
|
||||
final String? transcodeHardwarEencode;
|
||||
final String? transcodeHardwareEncode;
|
||||
|
||||
/// Hardware encode title of the transcode stream.
|
||||
@JsonKey(
|
||||
name: 'transcode_hw_encode_title',
|
||||
fromJson: TautulliUtilities.ensureStringFromJson)
|
||||
final String? transcodeHardwarEencodeTitle;
|
||||
final String? transcodeHardwareEncodeTitle;
|
||||
|
||||
/// Is the transcoder using hardware acceleration for the full pipeline?
|
||||
@JsonKey(
|
||||
@@ -958,7 +958,7 @@ class TautulliSession {
|
||||
@JsonKey(name: 'subtitles', fromJson: TautulliUtilities.ensureBooleanFromJson)
|
||||
final bool? subtitles;
|
||||
|
||||
/// Full resoltuion of the final video stream.
|
||||
/// Full resolution of the final video stream.
|
||||
@JsonKey(
|
||||
name: 'stream_video_full_resolution',
|
||||
fromJson: TautulliUtilities.ensureStringFromJson)
|
||||
@@ -1295,8 +1295,8 @@ class TautulliSession {
|
||||
this.transcodeHardwareRequested,
|
||||
this.transcodeHardwareDecode,
|
||||
this.transcodeHardwareDecodeTitle,
|
||||
this.transcodeHardwarEencode,
|
||||
this.transcodeHardwarEencodeTitle,
|
||||
this.transcodeHardwareEncode,
|
||||
this.transcodeHardwareEncodeTitle,
|
||||
this.transcodeHardwareFullPipeline,
|
||||
this.audioDecision,
|
||||
this.videoDecision,
|
||||
|
||||