@krx3d/tizentube2 1.16.30 → 1.30.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yml +2 -1
- package/.github/assets/profiles.xml +18 -0
- package/.github/scripts/build-release-notes.sh +113 -0
- package/.github/workflows/build-publish-cleanup.yml +703 -0
- package/.github/workflows/build-standalone-release.yaml +305 -0
- package/.github/workflows/claude.yml +58 -0
- package/.github/workflows/codeql.yml +44 -0
- package/.github/workflows/upstream-sync.yml +165 -0
- package/AGENTS.md +898 -0
- package/README.md +202 -12
- package/dist/service.js +15267 -15966
- package/dist/userScript.js +3 -13
- package/package.json +4 -5
- package/scripts/log-receiver/receiver.ps1 +116 -0
- package/scripts/tampermonkey/tizentube-loader.user.js +18 -0
- package/scripts/tampermonkey/tizentube-log-button.user.js +54 -0
- package/standalone/config.xml +41 -0
- package/standalone/icon.png +0 -0
- package/standalone/icon_16b9.png +0 -0
- package/standalone/index.html +240 -0
package/.github/FUNDING.yml
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
github: [
|
|
1
|
+
github: [reisxd]
|
|
2
|
+
buy_me_a_coffee: reisxd
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<profiles active="TizenTubeStandalone" version="3.1">
|
|
3
|
+
<profile name="TizenTubeStandalone">
|
|
4
|
+
<profileitem
|
|
5
|
+
ca="$GITHUB_WORKSPACE/tizen-studio/tools/certificate-generator/certificates/developer/tizen-developer-ca.cer"
|
|
6
|
+
distributor="0"
|
|
7
|
+
key="$GITHUB_WORKSPACE/tizen-data/keystore/author/author.p12"
|
|
8
|
+
password="$KEY_PW"
|
|
9
|
+
rootca=""/>
|
|
10
|
+
<profileitem
|
|
11
|
+
ca="$GITHUB_WORKSPACE/tizen-studio/tools/certificate-generator/certificates/distributor/sdk-public/tizen-distributor-ca.cer"
|
|
12
|
+
distributor="1"
|
|
13
|
+
key="$GITHUB_WORKSPACE/tizen-studio/tools/certificate-generator/certificates/distributor/sdk-public/tizen-distributor-signer.p12"
|
|
14
|
+
password="tizenpkcs12passfordsigner"
|
|
15
|
+
rootca=""/>
|
|
16
|
+
<profileitem ca="" distributor="2" key="" password="" rootca=""/>
|
|
17
|
+
</profile>
|
|
18
|
+
</profiles>
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Build the release body for a TizenTube Standalone release.
|
|
3
|
+
#
|
|
4
|
+
# Usage: build-release-notes.sh <release_sha> <release_version> <app_id> <app_name> <out_file>
|
|
5
|
+
#
|
|
6
|
+
# The changelog is derived from the merge/squash commits between the previous
|
|
7
|
+
# published release and this build, grouped by conventional-commit prefix.
|
|
8
|
+
# Version-bump commits made by CI carry no PR number and drop out on their own.
|
|
9
|
+
set -euo pipefail
|
|
10
|
+
|
|
11
|
+
RELEASE_SHA="$1"
|
|
12
|
+
RELEASE_VERSION="$2"
|
|
13
|
+
APP_ID="$3"
|
|
14
|
+
APP_NAME="$4"
|
|
15
|
+
OUT="$5"
|
|
16
|
+
|
|
17
|
+
REPO="${GITHUB_REPOSITORY:-}"
|
|
18
|
+
|
|
19
|
+
# Previous release = the newest published release that isn't the one being cut.
|
|
20
|
+
# Falls back to the newest version tag, then to "no previous release".
|
|
21
|
+
PREV_TAG=""
|
|
22
|
+
if [ -n "$REPO" ] && command -v gh >/dev/null 2>&1; then
|
|
23
|
+
PREV_TAG=$(gh api "repos/${REPO}/releases" --jq \
|
|
24
|
+
"[.[] | select(.draft == false) | .tag_name] | map(select(. != \"${RELEASE_VERSION}\")) | .[0] // empty" \
|
|
25
|
+
2>/dev/null || true)
|
|
26
|
+
fi
|
|
27
|
+
# Reject anything that isn't an ancestor of this build: version-string order is
|
|
28
|
+
# not history order (a v2.x standalone tag can sort above the current v1.15.x
|
|
29
|
+
# line and would drag in every commit since the fork point).
|
|
30
|
+
if [ -n "$PREV_TAG" ] && ! git merge-base --is-ancestor "${PREV_TAG}^{commit}" "$RELEASE_SHA" 2>/dev/null; then
|
|
31
|
+
echo "Ignoring ${PREV_TAG}: not an ancestor of ${RELEASE_SHA}" >&2
|
|
32
|
+
PREV_TAG=""
|
|
33
|
+
fi
|
|
34
|
+
if [ -z "$PREV_TAG" ]; then
|
|
35
|
+
PREV_TAG=$(git describe --tags --abbrev=0 "${RELEASE_SHA}^" 2>/dev/null || true)
|
|
36
|
+
[ "$PREV_TAG" = "$RELEASE_VERSION" ] && PREV_TAG=""
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
if [ -n "$PREV_TAG" ] && git rev-parse -q --verify "${PREV_TAG}^{commit}" >/dev/null; then
|
|
40
|
+
RANGE="${PREV_TAG}..${RELEASE_SHA}"
|
|
41
|
+
else
|
|
42
|
+
# First release, or the previous tag isn't in this clone — describe the last
|
|
43
|
+
# stretch of history rather than the entire project.
|
|
44
|
+
RANGE="${RELEASE_SHA}~50..${RELEASE_SHA}"
|
|
45
|
+
git rev-parse -q --verify "${RELEASE_SHA}~50" >/dev/null || RANGE="$RELEASE_SHA"
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# --- collect (pr_number, title) pairs -----------------------------------------
|
|
49
|
+
# GitHub merge commits: "Merge pull request #N from owner/branch" + body=title
|
|
50
|
+
# GitHub squash commits: "title (#N)"
|
|
51
|
+
declare -a FEATURES=() FIXES=() PORTS=() OTHER=()
|
|
52
|
+
|
|
53
|
+
while IFS=$'\x1f' read -r -d $'\x1e' subject body; do
|
|
54
|
+
subject="${subject#$'\n'}"
|
|
55
|
+
pr=""
|
|
56
|
+
title=""
|
|
57
|
+
if [[ "$subject" =~ ^Merge\ pull\ request\ \#([0-9]+) ]]; then
|
|
58
|
+
pr="${BASH_REMATCH[1]}"
|
|
59
|
+
title=$(printf '%s' "$body" | sed '/^[[:space:]]*$/d' | head -n1)
|
|
60
|
+
elif [[ "$subject" =~ ^(.*)\ \(\#([0-9]+)\)$ ]]; then
|
|
61
|
+
title="${BASH_REMATCH[1]}"
|
|
62
|
+
pr="${BASH_REMATCH[2]}"
|
|
63
|
+
fi
|
|
64
|
+
[ -z "$pr" ] && continue
|
|
65
|
+
[ -z "$title" ] && title="$subject"
|
|
66
|
+
|
|
67
|
+
entry="- ${title} (#${pr})"
|
|
68
|
+
shopt -s nocasematch
|
|
69
|
+
if [[ "$title" == Port\ upstream* ]]; then
|
|
70
|
+
PORTS+=("$entry")
|
|
71
|
+
elif [[ "$title" =~ ^feat(\(.*\))?: ]]; then
|
|
72
|
+
FEATURES+=("$entry")
|
|
73
|
+
elif [[ "$title" =~ ^fix(\(.*\))?: ]]; then
|
|
74
|
+
FIXES+=("$entry")
|
|
75
|
+
else
|
|
76
|
+
OTHER+=("$entry")
|
|
77
|
+
fi
|
|
78
|
+
shopt -u nocasematch
|
|
79
|
+
done < <(git log --first-parent --pretty=format:'%s%x1f%b%x1e' "$RANGE")
|
|
80
|
+
|
|
81
|
+
# --- write the body -----------------------------------------------------------
|
|
82
|
+
{
|
|
83
|
+
echo "TizenTube Standalone build from commit \`${RELEASE_SHA}\`, version-synced with the userscript."
|
|
84
|
+
echo "TBI_METADATA: {\"appId\":\"${APP_ID}\",\"appName\":\"${APP_NAME}\"}"
|
|
85
|
+
echo
|
|
86
|
+
|
|
87
|
+
section() {
|
|
88
|
+
local heading="$1"; shift
|
|
89
|
+
[ "$#" -eq 0 ] && return 0
|
|
90
|
+
echo "### ${heading}"
|
|
91
|
+
printf '%s\n' "$@"
|
|
92
|
+
echo
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if [ ${#FEATURES[@]} -eq 0 ] && [ ${#FIXES[@]} -eq 0 ] && [ ${#PORTS[@]} -eq 0 ] && [ ${#OTHER[@]} -eq 0 ]; then
|
|
96
|
+
echo "No pull requests were merged since \`${PREV_TAG:-the previous build}\`."
|
|
97
|
+
else
|
|
98
|
+
echo "## What's Changed"
|
|
99
|
+
echo
|
|
100
|
+
section "Features" ${FEATURES[@]+"${FEATURES[@]}"}
|
|
101
|
+
section "Fixes" ${FIXES[@]+"${FIXES[@]}"}
|
|
102
|
+
section "Ported from upstream" ${PORTS[@]+"${PORTS[@]}"}
|
|
103
|
+
section "Other" ${OTHER[@]+"${OTHER[@]}"}
|
|
104
|
+
fi
|
|
105
|
+
|
|
106
|
+
if [ -n "$PREV_TAG" ] && [ -n "$REPO" ]; then
|
|
107
|
+
echo "**Full changelog:** https://github.com/${REPO}/compare/${PREV_TAG}...${RELEASE_VERSION}"
|
|
108
|
+
fi
|
|
109
|
+
} > "$OUT"
|
|
110
|
+
|
|
111
|
+
echo "Wrote release notes to $OUT:"
|
|
112
|
+
echo "---"
|
|
113
|
+
cat "$OUT"
|