mirror of
https://git.cloudron.io/cloudron/syncthing-app
synced 2025-09-07 15:55:33 +00:00
Compare commits
39 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
67383ed187 | ||
|
4e734b3323 | ||
|
83578811b0 | ||
|
6da37e33bd | ||
|
e700619300 | ||
|
f7bb7204b6 | ||
|
cae5e00af6 | ||
|
d6be72d813 | ||
|
fc73e5c5b1 | ||
|
b5adb26208 | ||
|
3a5d4f6db9 | ||
|
a528e3875a | ||
|
c5aab1b7a2 | ||
|
f505dd5038 | ||
|
ac3fb1babf | ||
|
4682a67954 | ||
|
962fd84ce7 | ||
|
526893806a | ||
|
f3a06ced68 | ||
|
b7448113c9 | ||
|
03858b79ce | ||
|
e2c9e659ba | ||
|
8a6c78328d | ||
|
a7fe5487c6 | ||
|
49273738a1 | ||
|
0d570bd00a | ||
|
cdebb682e7 | ||
|
dbfcedbdab | ||
|
c9c919c948 | ||
|
a3fd6f5aec | ||
|
d44cbc7900 | ||
|
ff4677b123 | ||
|
02cd67842b | ||
|
f9b26a945c | ||
|
86edd041dc | ||
|
2969543a92 | ||
|
81417754cc | ||
|
f0f126d774 | ||
|
293ff36607 |
108
CHANGELOG
108
CHANGELOG
@@ -304,3 +304,111 @@
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.1)
|
||||
* #8320: Spurious failure of new connections ("unknown (newer?) version of the protocol" etc)
|
||||
|
||||
[1.20.2]
|
||||
* Update Syncthing to 1.20.2
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.2)
|
||||
* Fix use of old, renamed function in edit folder sharing tab.
|
||||
|
||||
[1.20.3]
|
||||
* Update Syncthing to 1.20.3
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.3)
|
||||
* #8369: Shared device names are missing from "Edit Folder -> Sharing"
|
||||
* #8376: Chrome Autofill Breaks Authentication
|
||||
* #8386: Ignore patterns with wildcard and non-ASCII characters don't work as expected
|
||||
* #8393: Warn if two devices are introducers to each other
|
||||
|
||||
[1.20.4]
|
||||
* Update Syncthing to 1.20.4
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.4)
|
||||
* #7458: Syncthing announces address of interface which is down
|
||||
* #8479: Panic in failure reporting
|
||||
* #8007: Support listing the discovered devices using the cli
|
||||
|
||||
[1.21.0]
|
||||
* Update Syncthing to 1.22.0
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.22.0)
|
||||
* #2698: Sync extended file attributes on supported file systems
|
||||
* #7603: WebUI tooltip inconsistencies
|
||||
* #8506: macOS Monterey 12.5.1 aliases break after sync
|
||||
|
||||
[1.21.1]
|
||||
* Update Syncthing to 1.22.1
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.22.1)
|
||||
* #8084: Scope ID should be filtered out of IPv6 addresses when using Remote GUI
|
||||
* #8569: Periodic connection losses to webui because docker image doesn't support upgrade
|
||||
* #8594: Extended attributes are only synced one way
|
||||
|
||||
[1.21.2]
|
||||
* Update base image to 4.0.0
|
||||
|
||||
[1.22.0]
|
||||
* Update Syncthing to 1.23.0
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.0)
|
||||
* #8572: Incorrect rescan interval on auto accepted encrypted folder
|
||||
* #8646: Perhaps the list of devices contains empty elements
|
||||
* #8686: Properly indicate whether a connection is "LAN" or not in the GUI
|
||||
|
||||
[1.22.1]
|
||||
* Update Syncthing to 1.23.1
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.1)
|
||||
* #8325: "accept: function not implemented" after upgrading to syncthing v1.20.1
|
||||
|
||||
[1.22.2]
|
||||
* Update Syncthing to 1.23.2
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.2)
|
||||
* #8749: Relay listener does not restart sometimes
|
||||
* #8660: GUI editor for xattr filter patterns
|
||||
* #8781: gui: Remove duplicate Spanish translation
|
||||
|
||||
[1.22.3]
|
||||
* Update Syncthing to 1.23.3
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.3)
|
||||
* #5408: Selection of time in versions GUI not possible without editing the string inside the textfield
|
||||
* #8277: Mutual encrypted sharing doesn't work (both sides with password)
|
||||
* #8556: Increased file size when sharing between encrypted devices
|
||||
* #8599: Key generation at connect time is slow for encrypted connections
|
||||
* #7859: Allow sub-second watcher delay (use case: remote development)
|
||||
* #8828: cmd/stdiscosrv: TestDatabaseGetSet flake
|
||||
|
||||
[1.22.4]
|
||||
* Update Syncthing to 1.23.4
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.4)
|
||||
* lib/syncthing: Handle successful global migration (fixes #8851) (#8852)
|
||||
* lib/syncthing: Handle successfull global migration (fixes #8851)
|
||||
|
||||
[1.22.5]
|
||||
* Update Syncthing to 1.23.5
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.5)
|
||||
* gui: Avoid code generating HTML (#8923)
|
||||
|
||||
[1.22.6]
|
||||
* Update Syncthing to 1.23.6
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.6)
|
||||
|
||||
[1.22.7]
|
||||
* Update Syncthing to 1.23.7
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.7)
|
||||
* #6597: setLowPriority should not increase process priority when already lower (in Windows)
|
||||
* #7698: ursrv: unrealistic uptime data, likely due to unset RTC (1970-01-01)
|
||||
* #8958: Extended attribute filter editor should be enabled when "send extended attributes" is checked
|
||||
* #8967: Shared With list ends with comma on 1 device
|
||||
* #9001: relaysrv crash after some weeks of operation
|
||||
* #8890: Do not autoexpand tilde sign (~) to an absolute home directory path
|
||||
* #8957: Add environment variables for --home, --conf, and --data
|
||||
* #8968: Error for Windows invalid file names should indicate the invalid character or name part
|
||||
* #8983: Integrate govulncheck
|
||||
|
||||
[1.23.0]
|
||||
* Update Syncthing to 1.24.0
|
||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.25.0)
|
||||
* #8274: Usage report transport type is wrong for QUIC
|
||||
* #8482: Discovery server keeps duplicate entries
|
||||
* #9019: Web GUI loses config changes when doing multiple modifications (e.g. on slow hardware or remotely)
|
||||
* #9112: panic: counter cannot decrease in value
|
||||
* #9123: Hashed passwords via API are hashed again
|
||||
* #141: Use multiple simultaneous TCP connections
|
||||
* #5607: Move footer links to header
|
||||
|
||||
[1.24.0]
|
||||
* Update base image to 4.2.0
|
||||
|
||||
|
@@ -5,8 +5,8 @@
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"changelog": "file://CHANGELOG",
|
||||
"tagline": "Decentralized file synchronization",
|
||||
"version": "1.20.1",
|
||||
"upstreamVersion": "1.20.1",
|
||||
"version": "1.24.0",
|
||||
"upstreamVersion": "1.25.0",
|
||||
"healthCheckPath": "/healthcheck",
|
||||
"httpPort": 8000,
|
||||
"addons": {
|
||||
|
@@ -1,9 +1,9 @@
|
||||
FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263ea
|
||||
FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4
|
||||
|
||||
RUN mkdir -p /app/code
|
||||
WORKDIR /app/code
|
||||
|
||||
ARG VERSION=1.20.1
|
||||
ARG VERSION=1.25.0
|
||||
|
||||
RUN wget https://github.com/syncthing/syncthing/releases/download/v${VERSION}/syncthing-linux-amd64-v${VERSION}.tar.gz -O - | tar -xz -C /app/code --strip-components=1
|
||||
|
||||
|
876
test/package-lock.json
generated
876
test/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,10 +9,10 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"chromedriver": "^101.0.0",
|
||||
"chromedriver": "^117.0.3",
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^10.0.0",
|
||||
"selenium-webdriver": "^4.1.2",
|
||||
"superagent": "^7.1.3"
|
||||
"mocha": "^10.2.0",
|
||||
"selenium-webdriver": "^4.14.0",
|
||||
"superagent": "^8.1.2"
|
||||
}
|
||||
}
|
||||
|
48
test/test.js
48
test/test.js
@@ -14,21 +14,21 @@ const execSync = require('child_process').execSync,
|
||||
expect = require('expect.js'),
|
||||
superagent = require('superagent'),
|
||||
path = require('path'),
|
||||
timers = require('timers/promises'),
|
||||
{ Builder, By, Key, until } = require('selenium-webdriver'),
|
||||
{ Options } = require('selenium-webdriver/chrome');
|
||||
|
||||
describe('Application life cycle test', function () {
|
||||
this.timeout(0);
|
||||
|
||||
var LOCATION = 'test';
|
||||
var TEST_TIMEOUT = 30000;
|
||||
var FOLDER = 'xmf'; // keep this small. long folder names fail in automation, not sure why
|
||||
var SYNC_PORT = 22001;
|
||||
var EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
|
||||
const LOCATION = 'test';
|
||||
const TEST_TIMEOUT = 30000;
|
||||
const FOLDER = 'xmf'; // keep this small. long folder names fail in automation, not sure why
|
||||
const SYNC_PORT = 22001;
|
||||
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
|
||||
|
||||
var browser;
|
||||
var app;
|
||||
var username = 'admin', password = 'changeme';
|
||||
let browser, app;
|
||||
const username = 'admin', password = 'changeme';
|
||||
|
||||
before(function () {
|
||||
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build();
|
||||
@@ -39,7 +39,7 @@ describe('Application life cycle test', function () {
|
||||
});
|
||||
|
||||
function getAppInfo() {
|
||||
var inspect = JSON.parse(execSync('cloudron inspect'));
|
||||
const inspect = JSON.parse(execSync('cloudron inspect'));
|
||||
app = inspect.apps.filter(function (a) { return a.location.indexOf(LOCATION) === 0; })[0];
|
||||
expect(app).to.be.an('object');
|
||||
}
|
||||
@@ -134,40 +134,38 @@ describe('Application life cycle test', function () {
|
||||
});
|
||||
}
|
||||
|
||||
function wait (done) {
|
||||
setTimeout(done, 10000);
|
||||
}
|
||||
|
||||
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
|
||||
|
||||
it('install app', function () { execSync('cloudron install --port-bindings SYNC_PORT=' + SYNC_PORT + ' --location ' + LOCATION, EXEC_ARGS); });
|
||||
it('install app', async function () {
|
||||
execSync('cloudron install --port-bindings SYNC_PORT=' + SYNC_PORT + ' --location ' + LOCATION, EXEC_ARGS);
|
||||
await timers.setTimeout(30000);
|
||||
});
|
||||
it('can get app information', getAppInfo);
|
||||
|
||||
it('wait', wait);
|
||||
|
||||
it('fails with invalid password', invalidPassword);
|
||||
it('can load page', loadPage);
|
||||
it('can add folder', addFolder);
|
||||
|
||||
it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
|
||||
it('backup app', async function () {
|
||||
execSync('cloudron backup create --app ' + app.id, EXEC_ARGS);
|
||||
await timers.setTimeout(30000);
|
||||
});
|
||||
it('restore app', async function () {
|
||||
await browser.get('about:blank');
|
||||
execSync('cloudron restore --app ' + app.id, EXEC_ARGS);
|
||||
await timers.setTimeout(30000);
|
||||
});
|
||||
|
||||
it('wait', wait);
|
||||
|
||||
it('can load page', loadPage);
|
||||
it('can check folder', checkFolder);
|
||||
|
||||
it('move to different location', async function () {
|
||||
await browser.get('about:blank');
|
||||
execSync(`cloudron configure --location ${LOCATION}2 --app ${app.id}`, EXEC_ARGS);
|
||||
await timers.setTimeout(30000);
|
||||
});
|
||||
it('can get app information', getAppInfo);
|
||||
|
||||
it('wait', wait);
|
||||
|
||||
it('can load page', loadPage);
|
||||
it('can check folder', checkFolder);
|
||||
it('can remove folder', removeFolder);
|
||||
@@ -178,16 +176,18 @@ describe('Application life cycle test', function () {
|
||||
});
|
||||
|
||||
// test update
|
||||
it('can install app', function () { execSync('cloudron install --port-bindings SYNC_PORT=' + SYNC_PORT + ' --appstore-id net.syncthing.cloudronapp2 --location ' + LOCATION, EXEC_ARGS); });
|
||||
it('can install app', async function () {
|
||||
execSync('cloudron install --port-bindings SYNC_PORT=' + SYNC_PORT + ' --appstore-id net.syncthing.cloudronapp2 --location ' + LOCATION, EXEC_ARGS);
|
||||
await timers.setTimeout(30000);
|
||||
});
|
||||
it('can get app information', getAppInfo);
|
||||
it('wait', wait);
|
||||
it('can load page', loadPage);
|
||||
it('can add folder', addFolder);
|
||||
it('can update', async function () {
|
||||
await browser.get('about:blank');
|
||||
execSync('cloudron update --app ' + LOCATION, EXEC_ARGS);
|
||||
await timers.setTimeout(30000);
|
||||
});
|
||||
it('wait', wait);
|
||||
it('can check folder', checkFolder);
|
||||
|
||||
it('uninstall app', async function () {
|
||||
|
Reference in New Issue
Block a user