Compare commits

...

16 Commits

Author SHA1 Message Date
ec7f99d216 .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🤖 Android APK Build / 🏗️ Build Android APK (push) Successful in 25m6s
🤖 Android APK Build / 🏗️ Build Android APK (pull_request) Successful in 24m27s
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Successful in 26s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 27s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (pull_request_target) Has been skipped
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 9s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 10s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Has been cancelled
2025-06-12 16:24:49 +02:00
9fcd184ad1 .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🤖 Android APK Build / 🏗️ Build Android APK (push) Failing after 24m28s
🤖 Android APK Build / 🏗️ Build Android APK (pull_request) Failing after 24m25s
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Successful in 16s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 33s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (pull_request_target) Has been skipped
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 8s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 15s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Has been cancelled
2025-06-12 14:16:03 +02:00
c8f8661eac .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Successful in 15s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 26s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (pull_request_target) Has been skipped
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 6s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 10s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Has been cancelled
2025-06-12 14:15:00 +02:00
eef9fe397f .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Successful in 16s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 53s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (pull_request_target) Has been skipped
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 8s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 9s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Has been cancelled
2025-06-12 14:12:07 +02:00
a00d15aa5c .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Successful in 19s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 3m17s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (pull_request_target) Has been skipped
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 22s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 34s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Has been cancelled
2025-06-12 14:11:26 +02:00
0b8642a217 .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🤖 Android APK Build / 🏗️ Build Android APK (pull_request) Failing after 12s
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Failing after 2s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 5s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (pull_request_target) Has been skipped
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 2s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 1s
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Failing after 2s
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Failing after 2s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
2025-06-12 11:24:33 +02:00
405111a3d3 .github/workflows/build-android_Miron.yml aktualisiert
Some checks failed
🤖 Android APK Build / 🏗️ Build Android APK (pull_request) Failing after 12s
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (pull_request) Failing after 2s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (pull_request) Failing after 5s
🛎️ Discord Pull Request Notification / notify (pull_request) Failing after 30s
🚦 Security & Quality Gate / 📝 Validate PR Title (pull_request_target) Failing after 18s
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (pull_request_target) Failing after 29s
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (pull_request_target) Failing after 32s
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (pull_request_target) Failing after 1s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (pull_request) Has been cancelled
2025-06-12 10:48:35 +02:00
renovate[bot]
46b08007a4 chore(deps): update dependency node to v22 (#766)
Some checks failed
🤖 Android APK Build / 🏗️ Build Android APK (push) Failing after 4s
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Failing after 1s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been skipped
🤖 iOS IPA Build / 🏗️ Build iOS IPA (push) Has been cancelled
🕒 Handle Stale Issues / 🗑️ Cleanup Stale Issues (push) Successful in 7s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Failing after 32s
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 15:05:49 +02:00
renovate[bot]
7b05fe43cf chore(deps): update github/codeql-action action to v3.28.19 (#763)
Some checks failed
🤖 Android APK Build / 🏗️ Build Android APK (push) Failing after 4s
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Failing after 1s
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been skipped
🕒 Handle Stale Issues / 🗑️ Cleanup Stale Issues (push) Failing after 2s
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Failing after 7s
🤖 iOS IPA Build / 🏗️ Build iOS IPA (push) Has been cancelled
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 00:01:41 +02:00
Gauvain
8f7749160e fix: add dashboard for renovate 2025-06-10 23:55:57 +02:00
storm1er
d4c51697d4 feat: Persist ignore safe area accross stream and app restart (#701) 2025-06-06 11:00:52 +02:00
Gauvino
7091502667 fix: remove git commit from release sonce it's already present in artifact menu 2025-06-04 18:47:19 +02:00
Gauvino
d6c7246cd1 fix: put @main instead of v8 to fix cache problem 2025-06-04 13:31:06 +02:00
Gauvain
973d226c49 feat: update bun version (#745) 2025-06-04 12:25:01 +02:00
Gauvain
dd849b532b refactor: fix the ios-build action (#742) 2025-06-04 11:54:01 +02:00
Fredrik Burmester
1a58df27d2 chore: version 2025-06-03 08:26:23 +02:00
8 changed files with 58 additions and 55 deletions

View File

@@ -7,9 +7,9 @@ concurrency:
on:
workflow_dispatch:
pull_request:
branches: [develop, master]
branches: [develop, master,ninjalama-patch-1]
push:
branches: [develop, master]
branches: [develop, master, ninjalama-patch-1]
jobs:
build:
@@ -20,7 +20,7 @@ jobs:
steps:
- name: 📥 Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@v4 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
show-progress: false
@@ -30,8 +30,7 @@ jobs:
- name: 🍞 Setup Bun
uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2
with:
# @todo: update to 1.x once this is fixed: https://github.com/streamyfin/streamyfin/pull/690#discussion_r2089749689
bun-version: '1.2.13'
bun-version: '1.2.15'
- name: ☕ Setup JDK
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
@@ -39,6 +38,9 @@ jobs:
distribution: 'zulu'
java-version: '17'
- name: Set up Android SDK
uses: android-actions/setup-android@v2
- name: 💾 Cache Bun dependencies
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
with:
@@ -71,9 +73,9 @@ jobs:
run: echo "DATE_TAG=$(date +%d-%m-%Y_%H-%M-%S)" >> $GITHUB_ENV
- name: 📤 Upload APK artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@v3
with:
name: streamyfin-apk-${{ github.sha }}-${{ env.DATE_TAG }}
name: streamyfin-apk-${{ env.DATE_TAG }}
path: |
android/app/build/outputs/apk/release/*.apk
android/app/build/outputs/bundle/release/*.aab

View File

@@ -6,8 +6,10 @@ concurrency:
on:
workflow_dispatch:
# push:
# branches: [develop]
pull_request:
branches: [develop, master]
push:
branches: [develop, master]
jobs:
build:
@@ -28,8 +30,7 @@ jobs:
- name: 🍞 Setup Bun
uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2
with:
# @todo: update to 1.x once this is fixed: https://github.com/streamyfin/streamyfin/pull/690#discussion_r2089749689
bun-version: '1.2.13'
bun-version: '1.2.15'
- name: 💾 Cache Bun dependencies
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
@@ -41,38 +42,21 @@ jobs:
- name: 📦 Install & Prepare
run: |
bun i && bun run submodule-reload
npx expo prebuild
bun install --frozen-lockfile
bun run submodule-reload
- name: 🛠️ Generate project files
run: bun run prebuild
- name: 🏗 Setup EAS
uses: expo/expo-github-action@main
with:
eas-version: 16.7.1
token: ${{ secrets.EXPO_TOKEN }}
- name: 🏗️ Build iOS app
uses: sparkfabrik/ios-build-action@be021d9f600b104d199a500db7ba479149a6b257 # v2.3.2
with:
upload-to-testflight: false
increment-build-number: false
build-pods: true
pods-path: "ios/Podfile"
configuration: Release
# Change later to app-store if wanted
export-method: appstore
#export-method: ad-hoc
workspace-path: "ios/Streamyfin.xcodeproj/project.xcworkspace/"
project-path: "ios/Streamyfin.xcodeproj"
scheme: Streamyfin
apple-key-id: ${{ secrets.APPLE_KEY_ID }}
apple-key-issuer-id: ${{ secrets.APPLE_KEY_ISSUER_ID }}
apple-key-content: ${{ secrets.APPLE_KEY_CONTENT }}
team-id: ${{ secrets.TEAM_ID }}
team-name: ${{ secrets.TEAM_NAME }}
#match-password: ${{ secrets.MATCH_PASSWORD }}
#match-git-url: ${{ secrets.MATCH_GIT_URL }}
#match-git-basic-authorization: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
#match-build-type: "appstore"
#browserstack-upload: true
#browserstack-username: ${{ secrets.BROWSERSTACK_USERNAME }}
#browserstack-access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
#fastlane-env: stage
ios-app-id: com.stetsed.teststreamyfin
output-path: build-${{ github.sha }}.ipa
run: |
eas build -p ios --local --non-interactive
- name: 📅 Set date tag
run: echo "DATE_TAG=$(date +%d-%m-%Y_%H-%M-%S)" >> $GITHUB_ENV
@@ -80,6 +64,7 @@ jobs:
- name: 📤 Upload IPA artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: streamyfin-ipa-${{ github.sha }}-${{ env.DATE_TAG }}
path: build-*.ipa
name: streamyfin-ipa-${{ env.DATE_TAG }}
path: |
build-*.ipa
retention-days: 7

View File

@@ -28,9 +28,8 @@ jobs:
- name: 🍞 Setup Bun
uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2
# @todo: update to 1.x once this is fixed: https://github.com/streamyfin/streamyfin/pull/690#discussion_r2089749689
with:
bun-version: '1.2.13'
bun-version: '1.2.15'
- name: 💾 Cache Bun dependencies
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3

View File

@@ -31,13 +31,13 @@ jobs:
fetch-depth: 0
- name: 🏁 Initialize CodeQL
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/init@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
with:
languages: ${{ matrix.language }}
queries: +security-extended,security-and-quality
- name: 🛠️ Autobuild
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/autobuild@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
- name: 🧪 Perform CodeQL Analysis
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
uses: github/codeql-action/analyze@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19

View File

@@ -81,13 +81,12 @@ jobs:
- name: "🟢 Setup Node.js"
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20.x'
node-version: '22.x'
- name: "🍞 Setup Bun"
uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2.0.2
with:
# @todo: update to 1.x once this is fixed: https://github.com/streamyfin/streamyfin/pull/690#discussion_r2089749689
bun-version: '1.2.13'
bun-version: '1.2.15'
- name: "📦 Install dependencies"
run: bun install --frozen-lockfile

View File

@@ -36,7 +36,7 @@
},
"android": {
"jsEngine": "hermes",
"versionCode": 55,
"versionCode": 56,
"adaptiveIcon": {
"foregroundImage": "./assets/images/icon-plain.png",
"monochromeImage": "./assets/images/icon-mono.png",
@@ -133,6 +133,12 @@
"icon": "./assets/images/notification.png",
"color": "#9333EA"
}
],
[
"react-native-google-cast",
{
"useDefaultExpandedMediaControls": true
}
]
],
"experiments": {

View File

@@ -17,6 +17,7 @@ import { apiAtom, userAtom } from "@/providers/JellyfinProvider";
import { useSettings } from "@/utils/atoms/settings";
import { getStreamUrl } from "@/utils/jellyfin/media/getStreamUrl";
import { writeToLog } from "@/utils/log";
import { storage } from "@/utils/mmkv";
import generateDeviceProfile from "@/utils/profiles/native";
import { msToTicks, ticksToSeconds } from "@/utils/time";
import {
@@ -49,6 +50,8 @@ const downloadProvider = !Platform.isTV
? require("@/providers/DownloadProvider")
: null;
const IGNORE_SAFE_AREAS_KEY = "video_player_ignore_safe_areas";
export default function page() {
const videoRef = useRef<VlcPlayerViewRef>(null);
const user = useAtomValue(userAtom);
@@ -58,7 +61,11 @@ export default function page() {
const [isPlaybackStopped, setIsPlaybackStopped] = useState(false);
const [showControls, _setShowControls] = useState(true);
const [ignoreSafeAreas, setIgnoreSafeAreas] = useState(false);
const [ignoreSafeAreas, setIgnoreSafeAreas] = useState(() => {
// Load persisted state from storage
const saved = storage.getBoolean(IGNORE_SAFE_AREAS_KEY);
return saved ?? false;
});
const [isPlaying, setIsPlaying] = useState(false);
const [isMuted, setIsMuted] = useState(false);
const [isBuffering, setIsBuffering] = useState(true);
@@ -86,6 +93,11 @@ export default function page() {
lightHapticFeedback();
}, []);
// Persist ignoreSafeAreas state whenever it changes
useEffect(() => {
storage.set(IGNORE_SAFE_AREAS_KEY, ignoreSafeAreas);
}, [ignoreSafeAreas]);
const {
itemId,
audioIndex: audioIndexStr,
@@ -555,7 +567,7 @@ export default function page() {
}}
/>
</View>
{videoRef.current && !isPipStarted && isMounted === true ? (
{videoRef.current && !isPipStarted && isMounted === true && item ? (
<Controls
mediaSource={stream?.mediaSource}
item={item}

View File

@@ -3,7 +3,7 @@
"description": "Default Renovate preset for Streamyfin repositories",
"extends": [
"config:base",
":disableDependencyDashboard",
":dependencyDashboard",
":enableVulnerabilityAlertsWithLabel(security)",
":semanticCommits",
":timezone(Etc/UTC)",