6284 Commits

Author SHA1 Message Date
John Doe
cbdd3bb0c0
Translated using Weblate (Turkish)
Currently translated at 100.0% (1419 of 1419 strings)
2021-01-23 18:44:41 +01:00
Allan Nordhøy
7bd641ee09
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.3% (1183 of 1419 strings)
2021-01-23 18:44:41 +01:00
James Valleroy
a8b5a32ff4
setup: Enable essential apps that use firewall
Tests in testing container:
- SSH, Service Discovery, and Web Server are shown as enabled on
Firewall page.
- FreedomBox interface can be accessed after disabling Cockpit.

Closes: #2016.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-01-22 17:34:29 -08:00
Veiko Aasa
566fef18b2
sharing: Update functional test to use syncthing-access group
'syncthing' group name was replaced by 'syncthing-access' in MR !1995,
update the sharing app functional test to use this new group name.

Test:
- Update the sharing app Apache2 configuration. Run the sharing app tests.
All tests pass.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-01-22 09:43:34 -08:00
Sunil Mohan Adapa
a022eed0eb
backups: Show notification on error during scheduled backups
- Keep a count of number of consecutive failures. Reset the count on a
successful backup.

- Keep the count for each repository.

Tests performed:

- Insert an exception into method for running a scheduled backup.

- When the FreedomBox is run in develop mode, it attempts to take backups every
3 minutes.

- It fails and shows the notification. Text is good. The error count is 1 and
error text is same as exception text. Go to backups button redirects to backup
page.

- In another 3 minutes another attempt is made and count increments this time.

- If the notification is dismissed, after another attempt is made, notification
comes back with incremented count.

- When the exception is removed and FreedomBox is restarted, schedule backup
succeeds and notification is dismissed automatically.

- When backup is deleted and exception is reintroduced, the notification comes
back with count reset to 1.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:59:48 -05:00
Sunil Mohan Adapa
d4e9e7a965
backups: Add a notification to suggest users to enable schedules
Tests performed:

- Ensure that backups module is setup from version zero by deleting entry in DB.
Start FreedomBox. Observe the notification comes up.

- Dismiss button dismiss the notification.

- Go to button takes us to the backups module.

- Incrementing the version number of the backups app does not show the
notification again.

- Starting with old code, the notification show up when FreedomBox is run.
Incrementing the version number of the backups app after that does not show the
notification again.

- Enable a schedule and the notification should be dismissed.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:56:05 -05:00
Sunil Mohan Adapa
eb526275c7
backups: Add UI to edit schedules
Closes: #1529.

Tests performed:

- Functional tests for backups app work.

- Functional tests for backup of several apps work.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:55:27 -05:00
Sunil Mohan Adapa
b33362cb7a
backups: Trigger schedules every hour
- This will lead to backups only once a day or so.

- In case of errors, backups are tried every hour.

- Cleanups are also triggered but cleanups happen only after a successful
backup.

Tests performed:

- In development mode, a new backup is taken after 3 minutes of enabling a
repository's schedule.

- Error in one repository does not effect the backup of other repositories.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:53:42 -05:00
Sunil Mohan Adapa
2e3ec5ac15
backups: Add a schedule to each repository
This is a simplification of UX by allowing only a single schedule to be attached
to each repository.

Tests performed:

- Editing a schedule works for root, local and remote repositories.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:53:05 -05:00
Sunil Mohan Adapa
dfb8b69531
backups: Introduce backup scheduling
Tests performed:

- Unit tests work.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:49:15 -05:00
Sunil Mohan Adapa
8c161431ba
backups: repository: Simplify handling of remote repo properties
- Simplify save() method such that a simple load(uuid).save() does not destroy
data. Currently, the verified parameter is lost.

- Drop unused store_credentials argument to save().

- Make verified a property of the SSH repository and instantiate with
it properly.

Tests performed:

- Adding a new remote repository works with SSH verification from unknown and
known hosts.

- Mounting and unmounting works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:47:06 -05:00
Sunil Mohan Adapa
1170e438a3
backups: repository: Introduce a prepare method
Useful for abstracting the mount() operation that is not available on non-remote
repositories.

- On non-remote repositories do nothing.

- On remote repositories, mount the location in preparation for operations on
the repository.

Tests performed:

- When an SSH repository is unmounted before a schedule backup, it is
automatically mounted for listing, backup and cleanup at scheduled time.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:42:26 -05:00
Sunil Mohan Adapa
3789048854
backups: Allow storing root repository details
- This allows schedule to be stored along with the repository information.

Tests performed:

- Storing/retrieving a schedule along with root repository works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:39:24 -05:00
Sunil Mohan Adapa
01e00cdde4
backups: Allow comments to be added to archives during backup
Tests performed:

- Schedules are able to store and retrieve comments properly. Information about
schedule backups stored in comments is extracted properly.

- Unit tests run.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:33:47 -05:00
Sunil Mohan Adapa
d3f8e815c1
backups: tests: Fix a typo in test case name
Tests performed:

- Ran all backup related unit tests.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:33:41 -05:00
Sunil Mohan Adapa
d79f97f752
ui: css: New style for select all checkbox
- Make the box look different from the rest of the options so that this it does
not look like an option without label.

- Give it the appearance of a button so that it is becomes an operation rather
than option.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:33:34 -05:00
Sunil Mohan Adapa
9b8388734d
ui: js: Make select all checkbox option available more broadly
- Make the code work outside backups module.

- Move code to main.js so that any app can use this functionality.

- Make the code work for multiple such form fields in the same page.

- Use only pure JS, don't use jQuery.

- Add event handlers only after DOM content is loaded to avoid race conditions.

Tests performed:

- Checking the select-all button checks all options.

- De-checking the select-all button de-checks all options.

- De-checking one option when everything is checked, de-checks the select-all
button.

- Checking the last option when everything else is checked, checks the
select-all button.

- When loading a schedule page with all options checked, select-all button is
checked.

- When loading a schedule page with some option unchecked, select-all button is
unchecked.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-21 20:33:28 -05:00
Veiko Aasa
77face68b0
syncthing: Hide unnecessary security warning
- Hide the warning 'The Syncthing admin interface is configured to allow
remote access without a password. ... '. This warning is unnecessary because
we are using authentication through Apache.

- Hide the usage reporting notification by declining reporting, if the user
has not made a choice yet.

- Call add_user_to_share_group() in setup() before starting syncthing to
avoid another syncthing daemon restart.

- Add a functional test for hidden notification messages.

- Functional tests: Improve the method to check if the javascript
loading process is complete.

Closes #1581

Tests performed:
- The syncthing app is installed successfully on Debian testing
- All syncthing tests pass on Debian stable and testing

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-01-21 16:34:51 -08:00
Veiko Aasa
f892843ba5
syncthing: Create LDAP group name different from system group
When installing the syncthing app, create a LDAP group named "syncthing-access"
instead of "syncthing", because the app creates the "syncthing" system group
to run the syncthing daemon. Duplicate group names can cause some ambiguity as
described in #2008.

- Rename the existing "syncthing" LDAP and Django group to "syncthing-access".
- Update existing web shares to be accessible with new group name
- Functional tests: Add tests to check access to the syncthing site with a user
in the syncthing-access group and no group.
- Functional tests: Scroll to the edit button before clicking. Fixes some test
failures on a smaller browser window.

Fixes #2008

Tests performed on Debian stable and testing:

- Check that the existing "syncthing" group is renamed after upgrade:
1) Without patch applied, install syncthing, create a user in group "syncthing".
2) Apply patch, update Apache2 config file /etc/apache2/conf-available/syncthing-plinth.conf,
reload Apache2, restart plinth.
3) Check that the created user is now in the "syncthing-access" group and can
access /syncthing site.

- Check that the app upgrade succeeds when there are no users in the syncthing group.

- Create a web share accessible by the 'syncthing' group. Check that after the upgrade,
the share is accessible to a member of syncthing-access group.

- All the syncthing app tests pass.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-01-21 15:47:12 -08:00
James Valleroy
e16c541660
tahoe: Disable app
The tahoe-lafs package is removed from Bullseye due to missing python3
support. The package may be reintroduced later.

I think the app can simply be disabled, because in Buster it was
marked as Advanced, and not really usable anyway.

Closes: #1856.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-01-19 17:28:10 -08:00
ikmaak
31b5268d95
Translated using Weblate (Serbian)
Currently translated at 10.0% (142 of 1419 strings)
2021-01-18 13:32:33 +01:00
ikmaak
2ffc77ca37
Translated using Weblate (Galician)
Currently translated at 1.6% (24 of 1419 strings)
2021-01-18 13:32:32 +01:00
ikmaak
403f08f289
Translated using Weblate (Greek)
Currently translated at 75.4% (1071 of 1419 strings)
2021-01-18 13:32:32 +01:00
ikmaak
954500501e
Translated using Weblate (Bulgarian)
Currently translated at 0.9% (13 of 1419 strings)
2021-01-18 13:32:31 +01:00
ikmaak
3473e19667
Translated using Weblate (Slovenian)
Currently translated at 6.8% (97 of 1419 strings)
2021-01-18 13:32:31 +01:00
ikmaak
629119ecfa
Translated using Weblate (Lithuanian)
Currently translated at 0.1% (2 of 1419 strings)
2021-01-18 13:32:31 +01:00
ikmaak
979c06fce6
Translated using Weblate (Hungarian)
Currently translated at 90.6% (1287 of 1419 strings)
2021-01-18 13:32:30 +01:00
ikmaak
6a000378b5
Translated using Weblate (Ukrainian)
Currently translated at 5.6% (80 of 1419 strings)
2021-01-18 13:32:30 +01:00
ikmaak
4965c8c6f3
Translated using Weblate (Czech)
Currently translated at 68.7% (975 of 1419 strings)
2021-01-18 13:32:29 +01:00
ikmaak
6eaa536f76
Translated using Weblate (Hindi)
Currently translated at 54.8% (778 of 1419 strings)
2021-01-18 13:32:28 +01:00
ikmaak
aa208b83ff
Translated using Weblate (Gujarati)
Currently translated at 10.2% (145 of 1419 strings)
2021-01-18 13:32:28 +01:00
ikmaak
3e127e438f
Translated using Weblate (Persian)
Currently translated at 18.3% (261 of 1419 strings)
2021-01-18 13:32:28 +01:00
ikmaak
5765a1bec7
Translated using Weblate (Chinese (Simplified))
Currently translated at 42.2% (600 of 1419 strings)
2021-01-18 13:32:27 +01:00
ikmaak
efcfdff1c3
Translated using Weblate (Russian)
Currently translated at 95.3% (1353 of 1419 strings)
2021-01-18 13:32:27 +01:00
ikmaak
36b8272d55
Translated using Weblate (Swedish)
Currently translated at 99.9% (1418 of 1419 strings)
2021-01-18 13:32:26 +01:00
ikmaak
9eebdb5f21
Translated using Weblate (Portuguese)
Currently translated at 11.6% (166 of 1419 strings)
2021-01-18 13:32:26 +01:00
ikmaak
287830e7ea
Translated using Weblate (Dutch)
Currently translated at 100.0% (1419 of 1419 strings)
2021-01-18 13:32:26 +01:00
ikmaak
c4382a8535
Translated using Weblate (Norwegian Bokmål)
Currently translated at 82.8% (1175 of 1419 strings)
2021-01-18 13:32:25 +01:00
ikmaak
453f74ce88
Translated using Weblate (Italian)
Currently translated at 55.1% (782 of 1419 strings)
2021-01-18 13:32:25 +01:00
ikmaak
906567c215
Translated using Weblate (French)
Currently translated at 99.7% (1415 of 1419 strings)
2021-01-18 13:32:24 +01:00
ikmaak
8c93d3c897
Translated using Weblate (Danish)
Currently translated at 47.5% (675 of 1419 strings)
2021-01-18 13:32:23 +01:00
Ouvek Kostiva
10c9e89eb8
Translated using Weblate (Chinese (Traditional))
Currently translated at 6.8% (97 of 1419 strings)
2021-01-16 19:32:37 +01:00
Doma Gergő
565bfbe485
Translated using Weblate (Hungarian)
Currently translated at 90.6% (1286 of 1419 strings)
2021-01-16 19:32:36 +01:00
ikmaak
02365032c5
Translated using Weblate (Polish)
Currently translated at 33.8% (481 of 1419 strings)
2021-01-16 19:32:35 +01:00
John Doe
3b87134028
Translated using Weblate (Turkish)
Currently translated at 100.0% (1419 of 1419 strings)
2021-01-16 19:32:35 +01:00
Burak Yavuz
bb621d793d
Translated using Weblate (Turkish)
Currently translated at 100.0% (1419 of 1419 strings)
2021-01-13 16:32:35 +01:00
ikmaak
4e3b60afd4
Translated using Weblate (Dutch)
Currently translated at 100.0% (1419 of 1419 strings)
2021-01-13 16:32:35 +01:00
ikmaak
c8ccaeffc5
Translated using Weblate (Spanish)
Currently translated at 99.8% (1417 of 1419 strings)
2021-01-13 16:32:34 +01:00
ikmaak
6c4b0df082
Translated using Weblate (German)
Currently translated at 100.0% (1419 of 1419 strings)
2021-01-13 16:32:33 +01:00
James Valleroy
adf404ca5c
Release v21.0 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v21.0
2021-01-11 20:07:22 -05:00