9068 Commits

Author SHA1 Message Date
James Valleroy
44af7807e1
Release v24.22~bpo12+1 to bookworm-backports
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v24.22_bpo12+1
2024-10-25 08:56:43 -04:00
James Valleroy
9761c7ba47 freedombox Debian release 24.22
-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmcXBsIWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICLYHD/9dEGFq/ILCf8q0lgw3qkyDs8V9
 jlvLx/hsK60RhYcSakWaT8QbjACnFGn5nwAMMxcQWIq3Nc/XSs9NMx+7nbZUVmXK
 ZqWWLU65pfpMP0EE6zpGBq8ZNhnzIdX4jwGhu8KNUQjoaaMLUk7m7DH3sBVeaMIt
 FxrOW2Yso9+R5QOOcpJXUmrg5z9JUeYzd+F0EqyUa4uL3zZsU1ELFShskepXJuTH
 mx1Nkjdcs56Kx40YJlh1qxwBAPsAks4Kpc2KDWQsj7sNvO6gScRAYc0Rr70b8DUl
 g2uPLzFnNV5jp1Ug3lJZoUCwAwBB4Xr736fVl0L6l0mk9AtMqhrArMnvlTsL2571
 0KcqHenMsXbk5+ti/Z9KlAJ/FvvLFqjz43cyinyiVrOIAmkS6Uo0lSJnnwSE5G8B
 uJs+xEKFit3uD4KzSzum4tQe4W1pRGV8DxO1STXZxbSfAGqS9JDuez4O8LkN1+8E
 daP9eWtDhwYoWNihmZ5nSImHrhzCPPryWQmk0F8l7n5lMBAddvICEufLlAl6ngoZ
 j65ye1N38BvcKvMZvUkcTPIaSgjlgtf4+ShM+Qe5c0dE0sV5TnhFXbpVh+SYr4yZ
 zSYg0aTta2INSMyt5Kuv7/fAm3b82hNoRI/ZLlA1JmK9sGGJZEnBROD/qE4BFqsZ
 woEzuyTf1G8yI6nIMA==
 =0v+a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmcblXEWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICJShD/9CHfCPo03mlOjG/HcpJJdAJBJM
 Zn9o7eABYVGwqdVS0Wqu8yX0X1QcFk/Gj/az0kyf7DjAUTpum9keBmLQNE0Grh+f
 zuDF7XQ54YaqThQo1wyOeycLR4VeGl67ATqG6hilQ6BguJLmtyFJHmGcM6M+Mny1
 HKW5wxZW2Mzk+SkLlwjNy0fULy6KKU/rskCV8GYfH1GBW7l4Kosu5FTQ2lHEliEs
 mrQR7hLwL7wEJRAxlb0EwYVyATm4teol4Z93J03NQ7p+fXTiYA/6eZbRQDq2bOPb
 +nW7j7g8+/a5OmRS2i65tHQqa+DKedc8OA7b3bNjPXFUo8XeBZY/Wvi/e7fa6wR3
 IwFSE4QXeFNEocjdALITOybMsyzhHG5Hh0nA+qec7Udj3FAQrZsQya+7P+hWetyQ
 Yhf3CVV3eqDJNAYRHsdqhCiSHhtZf8KkqeP5gLDpg1EylOUjtn7m7wk8OOAD7JUa
 NLcJwZqfQLBbAFD4PTCWWiIwdc1O2unefcMwlsR86rmi1AQgtign/IOt7z+E+XDy
 Ps9gjg1vUzDwuYXgJTPZv/+bPUgp5W68EWz3eqhIpXmrED7VmO9hE3k6CuVdgqwE
 jBrWG9JV3BAAaTqFsMtiyTFeuV5CbOYwNvc1BGB23I6mXBn3XkSSvyuQ5yWoLuU4
 1tFj/fJgD7vVC9Dxrw==
 =Vpo6
 -----END PGP SIGNATURE-----

Merge tag 'v24.22' into debian/bookworm-backports

freedombox Debian release 24.22

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-25 08:56:03 -04:00
James Valleroy
822fcc8f2b
Release v24.22 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v24.22
2024-10-21 20:43:13 -04:00
James Valleroy
30c9609e04
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 20:42:31 -04:00
James Valleroy
66208dfa2c
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 20:14:41 -04:00
Ihor Hordiichuk
15883150ff
Translated using Weblate (Ukrainian)
Currently translated at 94.2% (1582 of 1678 strings)
2024-10-22 01:16:25 +02:00
Sunil Mohan Adapa
e9adc5ce68
setup: Translate errors when installing/updating/repairing apps
- Currently, we are taking a error string and formatting it before it can be
looked up for translation. This causes the lookups to always fail.

- Don't format the error messages and send them as is. Let the
Operation.translate_message and Notification take care of translation.
Formatting will be them after translation. Set the formatting keys as they need
so that exception string is inserted into the message

Tests:

- Set language to Spanish. Through code changes raise an exception in
bepasty.privileged.setup(). Try to install bepasty app. Setup will fail and
error message will shown. The error message will be localized and formatted with
the patch. This is true in the app error message and in the notification.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 12:47:13 -04:00
Sunil Mohan Adapa
9459ef4be4
middleware: Show translated error messages when operation completes
Tests:

- Change locale to Spanish. Raise an exception in bepasty.privileged.setup().
Try to install bepasty. Without the patch, error is not translated. With the
patch, it is.

- Successful installation of an app shows translated success message.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 12:47:10 -04:00
Sunil Mohan Adapa
fbed7e93e8
operation: Use safe formatter for translating messages
- When an app install fails, there is a small chance that the failure message is
show in the area where operation spinner is shown. If that happens,
operation.translated_message is accessed from the HTML template. This throws an
exception if the error message that made contains excepted formatting keys.
Example:
"{include_once("/var/www/html/config/config.php");print($CONFIG["dbpassword"] ??
""); }".

- Also change the formatting key {exception_message} to {exception} as this
would help in translation when Notification is shown which has {exception} as
data dictionary value.

Tests:

- In the operation update message such as 'Installing app', insert unexpected
formatting strings. 'Installing app {foo}'. Notice the error without the patch
and how the patch fixes it.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 12:47:08 -04:00
Sunil Mohan Adapa
f456a58118
utils: Improve safe formatter by handling more cases
Fixes: #2462.

- When there are field retrievals and subscript based retrievals in the format
string, exceptions are raised. Handle these safely.

- This eliminates are error such as "Notification missing required key during
translation: 'str' object has no attribute 'php");print($CONFIG'". when the
notification message contains
"{include_once("/var/www/html/config/config.php");print($CONFIG["dbpassword"] ??
""); }"

Tests:

- Updated unit tests pass.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 12:47:04 -04:00
Sunil Mohan Adapa
4bde5309c5
nextcloud: Fix install failure due to PrivateTmp=yes
Fixes: #2463.

- When FreedomBox service is run via systemd and if the unit has PrivateTmp=yes
as was recently introduced, then 'podman exec --user www-data' fails with error
'Error: unable to find user www-data: no matching entries in passwd file'.

- The problem seems isolated to this specific instance and does not seem to
effect the container start up (which happens via systemd).

Tests:

- Without the patch, start FreedomBox service via systemd and install Nextcloud.
It fails.

- With the patch, install succeeds and functional tests for Nextcloud succeed.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-21 11:06:19 -04:00
Sunil Mohan Adapa
7e2b365bac
*: Remove unused imports to fix flake8 errors
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-19 09:32:09 -07:00
Sunil Mohan Adapa
f6fbb2f021
help: tests: Fix tests failing due to tags related changes
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-18 19:16:41 -07:00
Sunil Mohan Adapa
6a6382b1a2
ci: Enable showing test failures immediately as they fail
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-17 19:39:56 -07:00
Sunil Mohan Adapa
a63c632496
tests: functional: Add package for printing test failures instantly
- Makes it easy to investigate functional test failures as the test are run.

- This will help functional tests that are timing out before failure stack
traces can be shown.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-17 19:39:53 -07:00
109247019824
5689baf5c0
Translated using Weblate (Bulgarian)
Currently translated at 47.0% (790 of 1678 strings)
2024-10-17 15:16:04 +02:00
Sunil Mohan Adapa
89781c8c88
tags: Localization fixes
- Sort tags in the dropdown using user's locale.

- Fix localized tags being used for filtering. This happens when the application
freshly starts and list_tags() is called using user's non-default locale.

- Avoid using element.textContent in JS. Instead use datasets.

- Add functional test for checking localization issues.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:29 -07:00
Sunil Mohan Adapa
3f954f9549
tests: functional: Create utility to set user preferred locale
- Move it from the users app functional tests file.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:25 -07:00
Sunil Mohan Adapa
00a5377d9e
tags: js: Minor fixes and refactoring
- Drop changing the history as even without it, back/forward work just fine.

- Drop debouncing as there was a bug that prevented it from working. Since we
have a small number of tags, running the operations immediately seems to work
fine.

- Update incorrect docstring.

- Flatten and isolate the event handlers code further for readability.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:13 -07:00
Sunil Mohan Adapa
5ce7385f60
tags: css: Minor styling cleanups
- Use CSS based styling instead of styling based on bootstrap classes.

- Add a placeholder for the input box to easily locate it and convey what it
does.

- Drop dead code for '.tag-input .tag'.

- Drop some repeated data- attributes by using DOM navigation.

- Drop redundant styling.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:10 -07:00
Sunil Mohan Adapa
44aab658ed
context_processors: Stop adding unused 'submenu' to context
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:07 -07:00
Sunil Mohan Adapa
079b4324f6
help, system: Stop using submenu.sorted_items
- This fixes a regression in showing menu items on the help:index page.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:03 -07:00
Sunil Mohan Adapa
d605907bbe
context_processors: Use active menu urls to decide what to highlight
- We are using submenu.url to check for specific URLs and then highlight a menu
item. This is somewhat incorrect due to string search and not generic enough. We
have another mechanism 'active_menu_urls' to perform this. Improve and use this
instead.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:08:00 -07:00
Sunil Mohan Adapa
5fa9bf2928
*: tags: Adjust tags and style
- Don't use title casing, instead use simple capitalization.

- Add some tags.

- Drop outdated tags like 'VoIP', 'IM' while emphasizing 'Audio chat', 'Video
chat', 'Encrypted messaging' instead.

- Try to clarify server vs. web client with tags.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:07:57 -07:00
Joseph Nuthalapati
e5b7ed4faf
*: Implements tags for apps
- Add tags to Info component of apps. Use only English tags for all operations.
Localized tags are used for presentation to the user only. Add tags to all the
apps. Conventions (English):

  1. Tags describing use cases should be in kebab case.

  2. Protocols in tag names should be in their canonical format.

  3. Tags needn't be 100% technically correct. This can get in the way of
  comparing apps using a tag. Words that describe use cases that users can
  easily understand should be preferred over being pedantic.

  4. Tags should be short, ideally not more than 2 words. Avoid conjunctions
  like "and", "or" in tags.

  5. Avoid redundant words like "server", or "web-clients". Most apps on
  FreedomBox are either servers or web clients.

  6. Keep your nouns singular in tags.

- Use query
params to filter the Apps page by tags. When all tags are removed, redirect to /apps.

- Add UI elements to add and remove tag filters in the Apps page. Make the UI
similar to GitLab issue tags. Since there are 40 apps, there will be at least 40
tags. Selecting a tag from a dropdown will be difficult on mobile devices. A
fuzzy search is useful to find tags to add to the filter. Allow user to find the
best match for the search term and highlight it visually. The user can then
press Enter to select the highlighted tag. Make tag search case-insensitive.
Make the dropdown menu scrollable with a fixed size. User input is debounced by
300 ms during search.

- tests: Add missing mock in test_module_loader.py

- Add functional tests

[sunil]

- 'list' can be used instead of 'List' for typing in recent Python versions.

- Reserve tripe-quoted strings for docstrings.

- Undo some changes in module initialization, use module_name for logging
errors.

- isort and yapf changes.

- Encode parameters before adding them to the URL.

Tests:

- Tested the functionality of filtering by tag with one tag and two tags.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-16 21:07:54 -07:00
Sunil Mohan Adapa
e2ae29acb2
ci: Update functional test timeout to 10h
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-15 21:49:34 -07:00
Sunil Mohan Adapa
72ffaa62a0
.gitlab-ci.yml: Update for new infrastructure
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:35 +03:00
Sunil Mohan Adapa
61fde67ba6
ci: Add a custom driver for gitlab runner for podman
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:34 +03:00
Sunil Mohan Adapa
2e25bcac4f
ci: Add gitlab runner configuration
- Useful for setting up a new gitlab runner that helps in running functional
tests.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:34 +03:00
Sunil Mohan Adapa
82f4b70999
ci: Add docker container for functional-tests:stable
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:33 +03:00
Sunil Mohan Adapa
f5ff0a6cf5
ci: Rename Dockerfiles to Containerfiles
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:33 +03:00
Sunil Mohan Adapa
ecc03e2d3b
ci: Dockerfile: Drop obsolete dependency on pytest-bdd
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:32 +03:00
Sunil Mohan Adapa
3742ab8f6b
ci: Generalize script to update container, switch to podman
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-15 18:56:32 +03:00
Jiří Podhorecký
60c6fd4d27
Translated using Weblate (Czech)
Currently translated at 100.0% (1678 of 1678 strings)
2024-10-14 21:15:58 +00:00
Joseph Nuthalapati
56a055639d
backups: Use new utility for handling file uploads
- Use dedicated directory for uploads

- Uploaded backup archives are owned by root and read-only (0o600)

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Fix checking the relativeness of file path before removing]
[sunil: Create backups upload path recursively]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-14 12:52:45 -07:00
Veiko Aasa
770ec09557
ssh: Start server after nslcd service
Fixes an issue where SSH server is available but users can't login because LDAP
user services are not yet started.

Tests performed:
 - Installed new ssh systemd override conf, rebooted, ensured that the sshd
 service starts after the nslcd service.

Relates to #2452.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2024-10-14 10:52:20 -07:00
James Valleroy
f0fc5e1d6b
Release v24.21~bpo12+1 to bookworm-backports
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v24.21_bpo12+1
2024-10-11 06:56:07 -04:00
James Valleroy
6fc223746a freedombox Debian release 24.21
-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmcEhb0WHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICIbJD/9II8qrtF2Zm10FuGUdF2xVqhid
 PsPgJUK5oMiz/Hyb+ztG/cPD58oSShm7NU1FP1oauzoe+ZpxLgtL+pjnIy6a1ty5
 IpFBkpqYQ7MhQW2a5/400vhz4AwwGaY2+ZosM2lHfe49DKr4vqIxAZ+FrMBSW2L+
 42V6u668ysckP4PEQADPexu9Imrvlaq6Jq9lhXiFze3psKm5h7NmWyd3A1ea6JUo
 guJLg4QYfLXeplA2c53j3t2zi4LQjHNysNZ1LU6Mm+e0ZXUGDXHibgIbySGsEUg9
 Z6CgaVq584Gs+Oed3Ln0VoncrdpnTZo5tKHtn6TKbUXm3tRKVJa+DqsTthr2KtQ3
 o5WaB6xJzU6gpaCqNcFt90ySqJ972Sllb0lcbQ6YirOjKkDb7kXAHVcnIf/x78LT
 u8n2PO87YbB7tqui746HT7cx3ufmJ8lf/Qfhi4gngrb4WskTjAPrtLHG2u47z2Dv
 ykLxnmMy8wrfOVgjtIEbAWr9o7JhGDh0KuIjZpi+91qVsKmz8tsQytVGVJR/naTP
 BJz+3QftdE7OV8k4XMqrg+h7yh0N7aN74Z1AcsdSYWxXp/PNhO6esQpxXEO5z/DY
 j2v6IlldF6KDUjG7d/ceNWKzzNqlMpvGFibLw1zJMy5/2y2VNyI3a0jeT7SW9PUe
 hDKu3CiiEttUNabUPg==
 =Abav
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAmcJBCMWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICF8YD/0cOkEiUbc99mIit377SIy49J39
 eHklemXNoJfb3vk7zr/86rnkG47LRKSDR1QybZBHCyvNyLnNAbws1GvWr4fNiHlF
 fEDYcdB7ex+ueJpYIVxh7nx2U8nvVzT9SPIyoUL8d6dAYFybgkGNDjTHRJx3B5rh
 klNKAMmK30kec/dv361JooFXqVVcHXEVA2KGovtkqx2/eH6YsCvJDsypAD4KLnPi
 ZCoKIVAfRj6YxbwBIVIFItuNxqaxekcHnRtvzPyb/mJPp3tS+Yb6V/hl74bf4YTQ
 6BX6NxmYjXB6cHMDRJsj7R9UvmNA5137sR+Ofe8xTqzj3KvLj30ZM+1mGHtJ2KZ3
 52xuW1GszK26QRc4FERjyxptDRyrkf0RnIqsrq6e/39KDpZ5AhnNxiuQv1JCkXl4
 6YMeiF0ZCiMfrXDeGXKo/dhadRhhMvMafn0SRiAmUtCZUp36l2KffEfQevEkq1DH
 fpSGrpzbLx9kmTRz2jbAd5YfOJq45ehKVn9ztrmPGZJV5Y46Zr2BRmUPRj8Zw7uW
 hMFgbFk1Tj6b8VJ3sAWqaNPTafwST6VRZtZZ2LjbGc05X5FNOU0syO4lNrqtRLIM
 PC8aZO2up0AresvA4cJORKWFuSbw8Vtp9YJPLXTsV/HNJnbuDYOu+uvYaEADhWy9
 btpyxL06g6AzGcP0/Q==
 =kNa2
 -----END PGP SIGNATURE-----

Merge tag 'v24.21' into debian/bookworm-backports

freedombox Debian release 24.21

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2024-10-11 06:55:29 -04:00
Sunil Mohan Adapa
4bc13f063f
calibre: tests: functional: Fix occasional failure in add book test
- When a library is added to using the FreedomBox interface and immediately
Calibre interface is loaded, the library does not immediately get listed in the
list of libraries. We will have to fresh the page to see the new library. Do
this.

Tests:

- Run functional tests for calibre on Testing distribution multiple times
without failures.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-11 12:43:04 +03:00
Sunil Mohan Adapa
fc86f3e507
wordpress: tests: functional: Fix tests on Trixie
- In versions of WordPress in Debian Trixie and up the editing widget is inside
of an iframe instead of as a direct child of the main document. Elements inside
these iframes can't be queried directly and one must be the 'context' of the
iframe before querying elements inside.

- Fix the failures by using the splinter API to query inside iframe.

Tests:

- Run functional tests on WordPress in stable and testing containers twice.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-11 12:40:54 +03:00
Veiko Aasa
56791df57e
syncthing: Fix app setup in Debian testing
Syncthing from Debian testing uses new config directory if the
legacy configuration folder doesn't exist.

Tests performed in stable and testing containers:
 - All syncthing tests pass when running twice.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
2024-10-10 09:42:34 +03:00
Sunil Mohan Adapa
7671f4a749
first_boot: Add notification for next steps after first setup
- Since there is no way to reach the next steps page from the interface, provide
a notification for it. Until the notification is dismissed, the user can reach
this page with the notification.

Tests:

- On testing and stable containers, remove the sqlite file start the service.
Complete the first setup wizard. After reaching the 'setup complete' page,
notice that there is a notification for next steps to take. Title, icon, message
and button text and styling are as expected.

- Clicking on 'See next steps' takes us to next steps page.

- Clicking on dismiss removes the notification.

- Restarting the service does not bring back the notification.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-10 09:23:36 +03:00
Sunil Mohan Adapa
35312bd672
first_boot: Allow the next steps page to be revisited
- Currently, after the user arrives the 'next steps' page after completing the
first setup, trying to refresh the page takes us away from the page to the index
page.

- Since this page lists a lot of steps, user can't be expected to memorize the
contents of the page and perform them one after the another. Opening the links
in popups instead of navigating away from page helps but not full solve the
problem.

- If the page is a regular page and not part of the first step wizard, this page
is a simple Django page. It can be refreshed. Back button can be used to view
the page after navigating from it again.

Tests:

- On stable and testing containers, remove the sqlite3 file and start the
service. This will trigger the first setup wizard. As a last step of the wizard,
the 'setup complete! Next steps:' page is shown.

- Refreshing the page works.

- Navigating away from the page and using the back button to return to it works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-10 09:23:36 +03:00
Sunil Mohan Adapa
7033b7cf1e
upgrades: Show notification to remind user to run updates manually
- This is needed as we don't have software updates step during first setup
anymore.

Tests:

- Trigger first setup by removing /var/lib/plinth/plinth.sqlite3 and re-running
the service. After completing the setup, a notification is shown with correct
severity, title, app icon, message and options. Dismiss remove the
notifications. 'Go to Software Updates' takes us to updates app.

- After dismissing the notification, re-running the service does not show
notification again.

- Increasing the app version number also does not show notification again.

- Re-running the app setup does not show notification again.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-10 09:23:35 +03:00
Sunil Mohan Adapa
ed3363105a
networks: Remove first boot steps for connectivity/topology
- We have not yet implemented the main reason they exist. To guide users to
establish reachability with Tor hidden services, Pagekite, Dynamic DNS, etc.

- We now have a 'Next steps' page that talks about configuring network
connections. The networks page linked from here has these steps prominently
listed.

- In the future we will implement a wizard for reachability and these steps will
still be used. However, they don't have to part of first setup. They can add
them as notification and as part of next steps page.

- It is good to have a simplified first setup wizard. It is seldom tested
properly.

Tests:

- Run the first setup wizard by removing /var/lib/plinth/plinth.sqlite3 and
running the service. Notice that the software update step is not shown and
wizard completes successfully.

[vexch: Minor quote fix in functional tests]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-10 09:19:01 +03:00
Sunil Mohan Adapa
a998995f36
upgrades: Remove step upgrade during first setup
- Remove the first setup wizard step to run security upgrades. At the time of
its introduction, it was felt that this is very important. Some things have
changed since then:

  - We have mechanism for queuing package operations. Users can now trigger
  software updates and start installing apps before that is completed. Or vice
  versa. Earlier if the software updates were running, app install used to fail
  with an error.

  - There were no notifications. Since then we have added 'first setup'
  notification for important topics such as Privacy. This step can be replaced
  with a notification.

  - Automatic diagnostics and a diagnostic to notify of updated packages also
  helps bring attention to software updates if they are missed during first
  setup.

- A proposed change will re-introduce an advice to run updates in the 'Next
steps' wizard step along with a button trigger it right there.

- The new notification for software updates will bring more attention to running
updates as part of first setup.

- It would be nice not be stuck in the first setup wizard for a long period and
make it look simple. It improves the fun factor of setting up FreedomBox.

- It would present an opportunity to utilize the parallel installation of
apps/updates to the full extent. Although this can also be done by skipping the
progress step after updates are run.

- First wizard steps tend to get less testing.

Tests:

- Run the first setup wizard by removing /var/lib/plinth/plinth.sqlite3 and
running the service. Notice that the software update step is not shown and
wizard completes successfully.

- On stable container, backports step is shown as expected (if not already
enabled).

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2024-10-10 09:02:58 +03:00
Besnik Bleta
d0d53edce0
Translated using Weblate (Albanian)
Currently translated at 99.7% (1673 of 1678 strings)
2024-10-10 07:16:26 +02:00
109247019824
6cb3f98061
Translated using Weblate (Bulgarian)
Currently translated at 47.0% (789 of 1678 strings)
2024-10-10 07:16:25 +02:00
Besnik Bleta
e92279d593
Translated using Weblate (Albanian)
Currently translated at 99.5% (1670 of 1678 strings)
2024-10-09 06:16:34 +02:00
109247019824
51e86390d2
Translated using Weblate (Bulgarian)
Currently translated at 46.4% (780 of 1678 strings)
2024-10-09 06:16:33 +02:00