8444 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
acc498cb90
diagnostics: Fix a potential iteration of None value in error cases
- Prompted by pylint.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:19:28 -08:00
Sunil Mohan Adapa
ba145b3194
diagnostics: Safely access results when showing notification
It is best to have obtained the results lock when counting the severe failures
in diagnostic results.

Tests:

- When some packages are outdated, notification is shown with warning severity.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:19:24 -08:00
Sunil Mohan Adapa
5f08752058
diagnostics: Simplify getting translated description in results
Tests:

- Unit tests pass.

- Run full diagnostics tests and see that results and app name are translated
when language preference is not English.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:19:21 -08:00
James Valleroy
27284fe888
diagnostics: Store results of full run in database
Tests:

- Run diagnostics. Restart plinth, and check that the diagnostics results are
  still available to view.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:19:14 -08:00
James Valleroy
3fcd6b9e58
diagnostics: Translate descriptions only in view
Tests:

- Enable all apps, and run diagnostics. Diagnostic descriptions are formatted
  as expected.

- Change the language to Spanish, and view the diagnostic results. Diagnostic
  descriptions are translated as expected.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:19:05 -08:00
James Valleroy
a5820bc36d
diagnostics: Add method to translate checks
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:18:56 -08:00
James Valleroy
4612df954d
diagnostics: Add parameters to DiagnosticCheck
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-18 22:18:47 -08:00
James Valleroy
ab213138e0
Release v24.2 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v24.2
2024-01-15 21:31:27 -05:00
James Valleroy
012cc31f5a
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-01-15 21:30:17 -05:00
Сергій
4ec8f76260
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1554 of 1554 strings)
2024-01-07 15:06:26 +01:00
Eric
65a9d8e335
Translated using Weblate (Chinese (Simplified))
Currently translated at 67.1% (1043 of 1554 strings)
2024-01-05 07:09:33 +00:00
John Doe
436e9d429a
Translated using Weblate (French)
Currently translated at 100.0% (1554 of 1554 strings)
2024-01-05 07:09:32 +00:00
bittin1ddc447d824349b2
ab090c8c56
Translated using Weblate (Swedish)
Currently translated at 100.0% (1554 of 1554 strings)
2024-01-03 16:09:55 +00:00
Burak Yavuz
e73ddf6ace
Translated using Weblate (Turkish)
Currently translated at 100.0% (1554 of 1554 strings)
2024-01-03 16:09:54 +00:00
gallegonovato
8aed6b6163
Translated using Weblate (Spanish)
Currently translated at 100.0% (1554 of 1554 strings)
2024-01-03 16:09:52 +00:00
James Valleroy
e829d36c36
Release v24.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v24.1
2024-01-01 21:01:33 -05:00
James Valleroy
873afaef4b
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-01-01 20:59:56 -05:00
James Valleroy
bd80630be1
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-01-01 20:20:36 -05:00
rsquared
92492d2449
storage: Show notification when rootfs is read-only
Tests:

- Change the partition to test to '/mnt'. Mount a loopback filesystem on /mnt.
'dd if=/dev/zero of=/test-file bs=1M count=100; mkfs.ext4 /test-file; mount -o
loop /test-file /mnt'. Turn it to read-only with 'mount -o remount,ro /mnt'.
Wait about 3 minutes for the notification to show up.

- The notification shows icon, title and message as expected. The button power
app appears and works as expected.

- When the filesystem is mount rw again, the notification goes away in 3
minutes. 'mount -o remount,rw /mnt'.

[sunil: Let glib.schedule decide time when debugging]
[sunil: Perform exact matching in partition mount options]
[sunil: Simplify notification message. Minor grammar change]
[sunil: Minor refactoring for styling]
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-01-01 11:45:23 -08:00
James Valleroy
c8dac10308
tests: operation: Fix mock has_calls assertion
In Python 3.12, has_calls is not a valid assertion.

Closes: #1058421

Tests:

- Run "python3.12 -m pytest plinth/tests/test_operation.py" in unstable
  container. All tests are passed.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-12-26 07:47:25 -08:00
kopatych
4b9f7c86a7
Added translation using Weblate (Belarusian) 2023-12-11 13:30:44 +01:00
ikmaak
f2f01648da
Translated using Weblate (Dutch)
Currently translated at 99.4% (1543 of 1551 strings)
2023-12-03 22:05:54 +01:00
James Valleroy
1c1b0190fe
Release v23.21 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v23.21
2023-11-20 21:09:39 -05:00
James Valleroy
63edda2a29
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-20 21:05:55 -05:00
Jiří Podhorecký
892da5db3e
Translated using Weblate (Czech)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-20 05:11:27 +00:00
Jiří Podhorecký
b4b25161e6
Translated using Weblate (Czech)
Currently translated at 99.2% (1539 of 1551 strings)
2023-11-16 23:03:23 +01:00
Eric
8d80508b06
Translated using Weblate (Chinese (Simplified))
Currently translated at 67.1% (1041 of 1551 strings)
2023-11-12 07:00:20 +01:00
Ihor Hordiichuk
7c1f115e11
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-09 09:32:41 +00:00
bittin1ddc447d824349b2
d8e9fa899e
Translated using Weblate (Swedish)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-09 09:32:40 +00:00
Burak Yavuz
2abf2d8c53
Translated using Weblate (Turkish)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-09 09:32:39 +00:00
gallegonovato
8e9f753742
Translated using Weblate (Spanish)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-09 09:32:38 +00:00
James Valleroy
d22d142490
Release v23.20 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v23.20
2023-11-06 21:08:59 -05:00
James Valleroy
441eee7e1f
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-06 21:02:47 -05:00
James Valleroy
4c37d54f5c
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-06 20:21:54 -05:00
Sunil Mohan Adapa
a11197b285
email: Increase the size of the message to 100MiB
- This includes the envelope size, so the actual size of the message and
attachments is somewhat lower.

Tests:

- Install the app freshly with the patch. Notice that message_size_limit is set
to 102400000 by running 'postconf message_size_limit'.

- Install the app without the patch. Apply patche and notice that the app is
updated. Notice that message_size_limit is set to 102400000 by running 'postconf
message_size_limit'.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-06 13:03:53 -05:00
Joseph Nuthalapati
fd1955a084
tests: functional: Run tests on two app servers
- Using `--dist=loadscope` splits the tests based on module, thus
  ensuring each app's tests get assigned to one worker only.
- Though app servers run in 2 separate VMs, the pytest-xdist workers
  simply run in two Python subprocesses (`-n 2`). This allows us to
  generate a unified test report.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-11-05 09:21:47 -08:00
Sunil Mohan Adapa
f4d8d3d046
ejabberd: Update old STUN URIs to remove 'transport' parameter
- If the STUN/TURN configuration is not managed by FreedomBox, the parameters
are left unchanged.

Tests:

- Install app after installing Coturn. Notice that STUN URI doesn't have a
'transport' parameter.

- Install app without the patches after installing Coturn. Notice that STUN URIs
have 'transport' parameter. Then apply patches. Setup is run. 'transport'
parameter is removed and only one STUN URI is present. matrix-synapse server
restarts successfully and don't have show any errors/warnings regarding
STUN/TURN configuration during startup.

- Install app without patches and set custom STUN/TURN URIs. Apply patches.
Setup is run. The URIs are not changed.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-05 06:44:07 -05:00
Sunil Mohan Adapa
e42740b589
matrixsynapse: Update old STUN URIs to remove 'transport' parameter
- If the STUN/TURN configuration is not managed by FreedomBox, the parameters
are left unchanged.

Tests:

- Install app after installing Coturn. Notice that STUN URI doesn't have a
'transport' parameter.

- Install app without the patches after installing Coturn. Notice that STUN URIs
have 'transport' parameter. Then apply patches. Setup is run. 'transport'
parameter is removed and only one STUN URI is present. matrix-synapse server
restarts successfully and don't have show any errors/warnings regarding
STUN/TURN configuration during startup.

- Install app without patches and set custom STUN/TURN URIs. Apply patches.
Setup is run. The URIs are not changed.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-05 06:43:56 -05:00
Sunil Mohan Adapa
e6e6896d0d
coturn: Fix incorrectly passing transport argument to STUN URIs
Closes: #2362.

Passing ?transport= parameter in STUN URIs is invalid. It always uses UDP.
Chrome and perhaps Firefox has recently started enforcing the correct syntax
leading to failures using the Coturn server URIs we set in Janus. This also
likely effects matrix-syanpse and ejabberd clients.

Links:

1) https://www.rfc-editor.org/rfc/rfc7064#section-3.1
2) https://bugs.chromium.org/p/chromium/issues/detail?id=1385735

Tests:

- Install Coturn. Observe that STUN URIs shown don't contain the 'transport'
parameter.

- Install Janus and launch the meeting room. Notice that the STUN URIs in the
room page don't have 'transport' parameter.

- Install ejabberd and notice that the auto-configured STUN URIs don't have
'transport' parameter.

- Install matrix-synapse and notice that the auto-configured STUN URIs don't
have 'transport' parameter.

- Install ejabberd and matrix-synapse. Ensure that STUN URIs manually. They are
not allowed to 'transport' parameter for the STUN URIs but must have transport
parameter for TURN URIs.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-05 06:43:54 -05:00
Sunil Mohan Adapa
5e6c676748
operation: Fix issue with re-running setup when it fails first time
When setup is run from the application thread after startup, it continuously
tries until it succeeds. However, after making the first attempt, it does not
collect the status of the operation keeping the operation object in operation
manager. When trying for the second time, trying to create operation with same
ID fails since the operation is already present.

Fix this by allowing the operation to be recreated if the existing operation has
failed.

Tests:

- Unit tests pass.

- Functional tests for bepasty app pass.

- Install an app. Create an error in the setup mechanism for an app. Increment
is app version number. Start the service and notice that setup of app is
attempted and fails. Few seconds later the setup is attempted again and the
process continues. Each time the failure is due to fault in the app's setup
method rather than operation not being accepted.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-04 17:48:35 -04:00
Sunil Mohan Adapa
300f90f2a2
backups: Don't leave services stopped if backup fails
- We stop services before backup and restart them when backup is completed.
However, if backup fails, we are not restarting the services. With this change,
ensure that stopped services are restarted even if backup process fails.

- Similarly for restore operation.

Tests:

- Backup and restore of an app work.

- Functional tests for matrix-synapse work.

- Run the following two tests without the patch to ensure that the reported bug
is reproducible.

- Make a backup operation fail by raising an exception in the privileged code
that takes backup. Enable matrix-synapse app. Run backup including the
matrix-synapse app. Backup fails and shows an error. The service is
stopped before backup and restarted after backup failure.

- Make a restore operation fail by raising an exception in the privileged code
that does restore. Enable matrix-synapse app. Run backup including the
matrix-synapse app and try to restore it. Restore fails and shows an error. The
service is stopped before restore and restarted after restore failure.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-04 10:23:57 -04:00
Besnik Bleta
58b2c3a796
Translated using Weblate (Albanian)
Currently translated at 95.0% (1474 of 1551 strings)
2023-11-03 21:31:47 +01:00
Ihor Hordiichuk
3f2620f1d8
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-03 21:31:47 +01:00
Burak Yavuz
14279cc07a
Translated using Weblate (Turkish)
Currently translated at 100.0% (1551 of 1551 strings)
2023-11-03 21:31:47 +01:00
Sunil Mohan Adapa
f105980476
apache: tests: Update to use DiagnosticCheck class
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-01 22:08:50 -04:00
Sunil Mohan Adapa
e3c2546b79
datetime: Fix diagnostic test for checking NTP server sync
Fixes: #2384

- This was missed during the original transition to DiagnosticCheck class for
returning diagnostic results.

Tests:

- In vagrant container, test that the diagnostic test result shows up in
datetime app and it passes.

- Running full diagnostics on the system works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2023-11-01 22:08:43 -04:00
James Valleroy
1f90047621
diagnostics: Add shortcut to re-run setup for app
- When running diagnostics for an app, if there are any failures or warnings,
  then show a button to re-run setup.

- When showing all diagnostics results, if there are any failures or warnings
  for an app, then show a button to re-run setup for that app.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
[sunil: Use Result class instead of strings for comparison]
[sunil: Use flex box's justify-content-between to improve button styling]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-10-30 22:10:42 -07:00
James Valleroy
2a8b9b94ba
app: Update diagnose() docstring
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
[sunil: Add reference documentation for the DiagnosticCheck and Result classes]
[sunil: Add link to DiagnosticCheck class from docstring]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2023-10-30 22:09:00 -07:00
Ettore Atalan
520ce34e7c
Translated using Weblate (German)
Currently translated at 98.1% (1523 of 1551 strings)
2023-10-30 10:00:19 +00:00
Burak Yavuz
b5ad386d6c
Translated using Weblate (Turkish)
Currently translated at 98.5% (1529 of 1551 strings)
2023-10-28 04:14:38 +00:00