mirror of
https://git.cloudron.io/cloudron/peertube-app.git
synced 2024-05-20 18:28:05 +00:00
Compare commits
5 commits
854ffa875c
...
6021c34466
Author | SHA1 | Date | |
---|---|---|---|
6021c34466 | |||
a2776ec87f | |||
441b8dba99 | |||
6f63008dd3 | |||
f97551091d |
11
CHANGELOG.md
11
CHANGELOG.md
|
@ -294,3 +294,14 @@ Update web browsers support list:
|
||||||
[2.15.0]
|
[2.15.0]
|
||||||
* Migrate to OIDC login
|
* Migrate to OIDC login
|
||||||
|
|
||||||
|
[2.15.1]
|
||||||
|
* Update PeerTube to 6.0.3
|
||||||
|
* [Full changelog](https://github.com/Chocobozzz/PeerTube/releases/tag/v6.0.3)
|
||||||
|
* Fix HTML meta tags with attributes that contain quotes
|
||||||
|
* Fix time parsing resulting in broken video start time in some cases
|
||||||
|
* Fix WebTorrent video import crash
|
||||||
|
* Reload Discover page on logout
|
||||||
|
* Fix privacy error when updating a live, even if the privacy has not changed
|
||||||
|
* Fix invalid remote live state change notification that causes the player to reload
|
||||||
|
* Don't apply big play button skin to settings menu
|
||||||
|
* Fix downloading video files from object storage with some video names (that include emojis, quotes etc)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"version": "2.15.0",
|
"version": "2.15.1",
|
||||||
"upstreamVersion": "6.0.2",
|
"upstreamVersion": "6.0.3",
|
||||||
"id": "org.joinpeertube.cloudronapp",
|
"id": "org.joinpeertube.cloudronapp",
|
||||||
"title": "PeerTube",
|
"title": "PeerTube",
|
||||||
"author": "PeerTube developers",
|
"author": "PeerTube developers",
|
||||||
|
|
|
@ -5,7 +5,7 @@ WORKDIR /app/code/server
|
||||||
|
|
||||||
RUN apt update && apt install -y prosody && rm -rf /var/cache/apt /var/lib/apt/lists
|
RUN apt update && apt install -y prosody && rm -rf /var/cache/apt /var/lib/apt/lists
|
||||||
|
|
||||||
ARG VERSION=6.0.2
|
ARG VERSION=6.0.3
|
||||||
|
|
||||||
# install peertube. the chown is required for some reason for ffmpeg. it fails with EROFS without it when transcoding
|
# install peertube. the chown is required for some reason for ffmpeg. it fails with EROFS without it when transcoding
|
||||||
RUN curl -sL https://github.com/Chocobozzz/PeerTube/releases/download/v${VERSION}/peertube-v${VERSION}.tar.xz | tar --strip-components 1 -Jxvf - && \
|
RUN curl -sL https://github.com/Chocobozzz/PeerTube/releases/download/v${VERSION}/peertube-v${VERSION}.tar.xz | tar --strip-components 1 -Jxvf - && \
|
||||||
|
|
|
@ -153,7 +153,7 @@ server {
|
||||||
alias /app/code/server/client/dist/$1;
|
alias /app/code/server/client/dist/$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^(/static/(webseed|web-videos|streaming-playlists)/private/)|^/download {
|
location ~ ^(/static/(webseed|web-videos|streaming-playlists/hls)/private/)|^/download {
|
||||||
# We can't rate limit a try_files directive, so we need to duplicate @api
|
# We can't rate limit a try_files directive, so we need to duplicate @api
|
||||||
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
|
14
test/test.js
14
test/test.js
|
@ -19,8 +19,6 @@ const execSync = require('child_process').execSync,
|
||||||
{ Builder, By, Key, until } = require('selenium-webdriver'),
|
{ Builder, By, Key, until } = require('selenium-webdriver'),
|
||||||
{ Options } = require('selenium-webdriver/chrome');
|
{ Options } = require('selenium-webdriver/chrome');
|
||||||
|
|
||||||
const rl = readlinePromises.createInterface({ input: process.stdin, output: process.stdout });
|
|
||||||
|
|
||||||
if (!process.env.USERNAME || !process.env.PASSWORD || !process.env.EMAIL) {
|
if (!process.env.USERNAME || !process.env.PASSWORD || !process.env.EMAIL) {
|
||||||
console.log('USERNAME, EMAIL and PASSWORD env vars need to be set');
|
console.log('USERNAME, EMAIL and PASSWORD env vars need to be set');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
@ -106,6 +104,7 @@ describe('Application life cycle test', function () {
|
||||||
async function closeAccountSetupDialog() {
|
async function closeAccountSetupDialog() {
|
||||||
await browser.get('https://' + app.fqdn);
|
await browser.get('https://' + app.fqdn);
|
||||||
|
|
||||||
|
await waitForElement(By.xpath('//span[contains(text(), "show me this anymore")]'));
|
||||||
await browser.findElement(By.xpath('//span[contains(text(), "show me this anymore")]')).click();
|
await browser.findElement(By.xpath('//span[contains(text(), "show me this anymore")]')).click();
|
||||||
await browser.findElement(By.xpath('//a[contains(text(), "Set up")]')).click();
|
await browser.findElement(By.xpath('//a[contains(text(), "Set up")]')).click();
|
||||||
await browser.sleep(3000);
|
await browser.sleep(3000);
|
||||||
|
@ -131,16 +130,19 @@ describe('Application life cycle test', function () {
|
||||||
if (error) return; // sometimes it doesn't appear, maybe it's cached in local storage
|
if (error) return; // sometimes it doesn't appear, maybe it's cached in local storage
|
||||||
await browser.findElement(By.xpath('//a[contains(text(), "Configure my instance")]')).click(); // this opens a new window
|
await browser.findElement(By.xpath('//a[contains(text(), "Configure my instance")]')).click(); // this opens a new window
|
||||||
|
|
||||||
let say_cmd = await getOS() == "Darwin" ? "say" : "spd-say";
|
const say_cmd = await getOS() == "Darwin" ? "say" : "spd-say";
|
||||||
execSync(`${say_cmd} "Close the newly opened configuration tab."`);
|
execSync(`${say_cmd} "Close the newly opened configuration tab."`);
|
||||||
|
|
||||||
|
const rl = readlinePromises.createInterface({ input: process.stdin, output: process.stdout });
|
||||||
await rl.question('Is tab closed? ');
|
await rl.question('Is tab closed? ');
|
||||||
}
|
}
|
||||||
|
|
||||||
async function uploadVideo() {
|
async function uploadVideo() {
|
||||||
browser.get('https://' + app.fqdn + '/videos/upload');
|
await browser.get(`https://${app.fqdn}/videos/upload#upload`);
|
||||||
await browser.sleep(2000);
|
await browser.sleep(3000);
|
||||||
await browser.findElement(By.xpath('//input[@id="videofile" and @type="file"]')).sendKeys(path.resolve(__dirname, './Cloudron Test Video.mp4'));
|
await browser.wait(until.elementLocated(By.id('videofile')), TEST_TIMEOUT); // do not do element visible check . it fails, no clue why
|
||||||
|
await browser.findElement(By.id('videofile')).sendKeys(path.resolve(__dirname, './Cloudron Test Video.mp4'));
|
||||||
|
console.log('waiting 10 seconds for upload');
|
||||||
await browser.sleep(10000); // wait for upload
|
await browser.sleep(10000); // wait for upload
|
||||||
|
|
||||||
await waitForElement(By.xpath('//div[@class="submit-container"]//span[text()="Publish"]'));
|
await waitForElement(By.xpath('//div[@class="submit-container"]//span[text()="Publish"]'));
|
||||||
|
|
Loading…
Reference in a new issue