Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
c9657a3043
|
|||
|
28a4dc066e
|
|||
|
8eb0014d26
|
|||
| efc8b6a524 | |||
| 7a7c2064d1 | |||
| 9ac8c1d244 | |||
| f0df8acb0b | |||
| cd4d6efee4 | |||
| 43b6dbc74a |
@@ -855,3 +855,13 @@
|
|||||||
* Fix OpenStack Swift Keystone token rate limiting ([#​38145](https://github.com/tootsuite/mastodon/issues/38145) by [@​hugogameiro](https://github.com/hugogameiro))
|
* Fix OpenStack Swift Keystone token rate limiting ([#​38145](https://github.com/tootsuite/mastodon/issues/38145) by [@​hugogameiro](https://github.com/hugogameiro))
|
||||||
* Fix poll expiration notification being re-triggered on implicit updates ([#​38078](https://github.com/tootsuite/mastodon/issues/38078) by [@​ClearlyClaire](https://github.com/ClearlyClaire))
|
* Fix poll expiration notification being re-triggered on implicit updates ([#​38078](https://github.com/tootsuite/mastodon/issues/38078) by [@​ClearlyClaire](https://github.com/ClearlyClaire))
|
||||||
|
|
||||||
|
[1.17.9]
|
||||||
|
* Update mastodon to 4.5.9
|
||||||
|
* [Full Changelog](https://github.com/mastodon/mastodon/releases/tag/v4.5.9)
|
||||||
|
* Insufficient verification of email addresses ([GHSA-5r37-qpwq-2jhh](https://github.com/mastodon/mastodon/security/advisories/GHSA-5r37-qpwq-2jhh))
|
||||||
|
* Updated dependencies
|
||||||
|
* Add trademark warning to `mastodon:setup` task ([#38548](https://github.com/tootsuite/mastodon/issues/38548) by [@ClearlyClaire](https://github.com/ClearlyClaire))
|
||||||
|
* Fix definition for `quote` in JSON-LD context ([#38686](https://github.com/tootsuite/mastodon/issues/38686) by [@ClearlyClaire](https://github.com/ClearlyClaire))
|
||||||
|
* Fix being unable to disable sound for quote update notification ([#38537](https://github.com/tootsuite/mastodon/issues/38537) by [@ClearlyClaire](https://github.com/ClearlyClaire))
|
||||||
|
* Fix being able to quote someone you blocked ([#38608](https://github.com/tootsuite/mastodon/issues/38608) by [@ClearlyClaire](https://github.com/ClearlyClaire))
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
"description": "file://DESCRIPTION.md",
|
"description": "file://DESCRIPTION.md",
|
||||||
"changelog": "file://CHANGELOG",
|
"changelog": "file://CHANGELOG",
|
||||||
"tagline": "Federated social network",
|
"tagline": "Federated social network",
|
||||||
"version": "1.17.8",
|
"version": "1.17.9",
|
||||||
"upstreamVersion": "4.5.8",
|
"upstreamVersion": "4.5.9",
|
||||||
"healthCheckPath": "/about",
|
"healthCheckPath": "/about",
|
||||||
"httpPort": 8000,
|
"httpPort": 8000,
|
||||||
"memoryLimit": 1610612736,
|
"memoryLimit": 1610612736,
|
||||||
|
|||||||
+1
-1
@@ -68,7 +68,7 @@ RUN mkdir -p /app/code /app/pkg
|
|||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
# renovate: datasource=github-releases depName=tootsuite/mastodon versioning=semver extractVersion=^v(?<version>.+)$
|
# renovate: datasource=github-releases depName=tootsuite/mastodon versioning=semver extractVersion=^v(?<version>.+)$
|
||||||
ARG MASTODON_VERSION=4.5.8
|
ARG MASTODON_VERSION=4.5.9
|
||||||
|
|
||||||
ENV RAILS_ENV production
|
ENV RAILS_ENV production
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
|
|||||||
Generated
-3305
File diff suppressed because it is too large
Load Diff
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "test",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "test.js",
|
|
||||||
"scripts": {
|
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC",
|
|
||||||
"devDependencies": {
|
|
||||||
"expect.js": "^0.3.1",
|
|
||||||
"mocha": "^11.7.5",
|
|
||||||
"selenium-webdriver": "^4.41.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"chromedriver": "^146.0.5"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+11
-16
@@ -1,6 +1,12 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
/* jshint esversion: 8 */
|
import { execSync } from 'node:child_process';
|
||||||
|
import assert from 'node:assert/strict';
|
||||||
|
import fs from 'node:fs';
|
||||||
|
import path from 'node:path';
|
||||||
|
import { Builder, By, until } from 'selenium-webdriver';
|
||||||
|
import { Options } from 'selenium-webdriver/chrome';
|
||||||
|
|
||||||
/* global describe */
|
/* global describe */
|
||||||
/* global before */
|
/* global before */
|
||||||
/* global after */
|
/* global after */
|
||||||
@@ -8,17 +14,6 @@
|
|||||||
/* global it */
|
/* global it */
|
||||||
/* global xit */
|
/* global xit */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
require('chromedriver');
|
|
||||||
|
|
||||||
const execSync = require('child_process').execSync,
|
|
||||||
expect = require('expect.js'),
|
|
||||||
fs = require('fs'),
|
|
||||||
path = require('path'),
|
|
||||||
{ Builder, By, until } = require('selenium-webdriver'),
|
|
||||||
{ Options } = require('selenium-webdriver/chrome');
|
|
||||||
|
|
||||||
if (!process.env.USERNAME || !process.env.PASSWORD) {
|
if (!process.env.USERNAME || !process.env.PASSWORD) {
|
||||||
console.log('USERNAME and PASSWORD env vars need to be set');
|
console.log('USERNAME and PASSWORD env vars need to be set');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
@@ -29,7 +24,7 @@ describe('Application life cycle test', function () {
|
|||||||
|
|
||||||
const LOCATION = process.env.LOCATION || 'test';
|
const LOCATION = process.env.LOCATION || 'test';
|
||||||
const TEST_TIMEOUT = parseInt(process.env.TIMEOUT) || 10000;
|
const TEST_TIMEOUT = parseInt(process.env.TIMEOUT) || 10000;
|
||||||
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
|
const EXEC_ARGS = { cwd: path.resolve(import.meta.dirname, '..'), stdio: 'inherit' };
|
||||||
|
|
||||||
let browser, app;
|
let browser, app;
|
||||||
const username = process.env.USERNAME;
|
const username = process.env.USERNAME;
|
||||||
@@ -51,7 +46,7 @@ describe('Application life cycle test', function () {
|
|||||||
|
|
||||||
const currentUrl = await browser.getCurrentUrl();
|
const currentUrl = await browser.getCurrentUrl();
|
||||||
if (!currentUrl.includes(app.domain)) return;
|
if (!currentUrl.includes(app.domain)) return;
|
||||||
expect(this.currentTest.title).to.be.a('string');
|
assert.strictEqual(typeof this.currentTest.title, 'string');
|
||||||
|
|
||||||
const screenshotData = await browser.takeScreenshot();
|
const screenshotData = await browser.takeScreenshot();
|
||||||
fs.writeFileSync(`./screenshots/${new Date().getTime()}-${this.currentTest.title.replaceAll(' ', '_')}.png`, screenshotData, 'base64');
|
fs.writeFileSync(`./screenshots/${new Date().getTime()}-${this.currentTest.title.replaceAll(' ', '_')}.png`, screenshotData, 'base64');
|
||||||
@@ -125,7 +120,7 @@ describe('Application life cycle test', function () {
|
|||||||
function getAppInfo() {
|
function getAppInfo() {
|
||||||
const inspect = JSON.parse(execSync('cloudron inspect'));
|
const inspect = JSON.parse(execSync('cloudron inspect'));
|
||||||
app = inspect.apps.filter(function (a) { return a.location === LOCATION || a.location === LOCATION + '2'; })[0];
|
app = inspect.apps.filter(function (a) { return a.location === LOCATION || a.location === LOCATION + '2'; })[0];
|
||||||
expect(app).to.be.an('object');
|
assert.ok(app && typeof app === 'object');
|
||||||
}
|
}
|
||||||
|
|
||||||
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
|
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
|
||||||
@@ -137,7 +132,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('has registration open', checkRegistration.bind(null, 'none'));
|
it('has registration open', checkRegistration.bind(null, 'none'));
|
||||||
let testPassword;
|
let testPassword;
|
||||||
it('create a user with CLI', function () {
|
it('create a user with CLI', function () {
|
||||||
const output = execSync('cloudron exec --app ' + LOCATION + ' -- bin/tootctl accounts create test --email=test@cloudron.io', { cwd: path.resolve(__dirname, '..'), encoding: 'utf8' });
|
const output = execSync('cloudron exec --app ' + LOCATION + ' -- bin/tootctl accounts create test --email=test@cloudron.io', { cwd: path.resolve(import.meta.dirname, '..'), encoding: 'utf8' });
|
||||||
console.log(output);
|
console.log(output);
|
||||||
testPassword = output.slice(output.indexOf('New password: ') + 'New password: '.length).trim();
|
testPassword = output.slice(output.indexOf('New password: ') + 'New password: '.length).trim();
|
||||||
console.log(testPassword);
|
console.log(testPassword);
|
||||||
|
|||||||
Reference in New Issue
Block a user