10328 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
53ee9c4ee2
ui: Use inline SVG icons for all spinners
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:39 -04:00
Sunil Mohan Adapa
928794ea1f
ui: Use inline SVG icons for all collapse buttons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:37 -04:00
Sunil Mohan Adapa
76caaaa4e3
ui: Use inline SVG icons for app install page
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:34 -04:00
Sunil Mohan Adapa
bd5b1730bc
backups: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:32 -04:00
Sunil Mohan Adapa
91d5a980c4
ui: Use inline SVG icons for operation waiting notifcation
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:29 -04:00
Sunil Mohan Adapa
310fa40a1e
ui: Use inline SVG icons for app's log page
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:27 -04:00
Sunil Mohan Adapa
4b1d14fa7f
ui: Use inline SVG icons for app's service-not-running message
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:24 -04:00
Sunil Mohan Adapa
e70478711a
firstboot: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:21 -04:00
Sunil Mohan Adapa
bcc6bdc922
networks: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:19 -04:00
Sunil Mohan Adapa
663a2eb5c4
ui: Use inline SVG icons for clients launch buttons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:17 -04:00
Sunil Mohan Adapa
bd20469ed0
ui: Use inline SVG icons for tag search
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:14 -04:00
Sunil Mohan Adapa
a2c362a1b3
gitweb: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:11 -04:00
Sunil Mohan Adapa
d8909277a5
storage: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:09 -04:00
Sunil Mohan Adapa
1b24a03774
diagnostics: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:06 -04:00
Sunil Mohan Adapa
fad1f7d58b
snapshot: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:04 -04:00
Sunil Mohan Adapa
fbdd0c269d
sharing: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:14:01 -04:00
Sunil Mohan Adapa
5533ac419a
security: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:58 -04:00
Sunil Mohan Adapa
887514a523
kiwix: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:55 -04:00
Sunil Mohan Adapa
1212504a10
calibre: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:53 -04:00
Sunil Mohan Adapa
54b270d8f3
bepasty: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:50 -04:00
Sunil Mohan Adapa
cc716e20e4
matrixsynapse: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:47 -04:00
Sunil Mohan Adapa
236f90bbd9
help: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:45 -04:00
Sunil Mohan Adapa
59218c16a8
email: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:42 -04:00
Sunil Mohan Adapa
d0d26866bd
users: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:39 -04:00
Sunil Mohan Adapa
66f2307a19
miniflux: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:37 -04:00
Sunil Mohan Adapa
340b7e6101
samba: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:34 -04:00
Sunil Mohan Adapa
165828934e
ikiwiki: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:31 -04:00
Sunil Mohan Adapa
acd5477b11
pagekite: Fix issue with adding custom services
Tests:

- Adding and deleting a custom service no longer results in an error message.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:28 -04:00
Sunil Mohan Adapa
6bb6969eef
pagekite: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:26 -04:00
Sunil Mohan Adapa
cc13bbb0e3
power: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:23 -04:00
Sunil Mohan Adapa
66a6783a43
ui: Use inline SVG icons for port fowarding info
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:19 -04:00
Sunil Mohan Adapa
69c44af700
help: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:16 -04:00
Sunil Mohan Adapa
7c07126fe9
dynamicdns: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:13 -04:00
Sunil Mohan Adapa
941b586cb9
wireguard: Use inline SVG icons
Tests:

- All the icons appear as before in both light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:10 -04:00
Sunil Mohan Adapa
72dd357d43
tiddlywiki: Use inline SVG icons for app
Tests:

- The icons appears as before in the app page in light/dark themes.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:06 -04:00
Sunil Mohan Adapa
536c4bb30b
featherwiki: Use inline SVG icons for app
Tests:

- The icons appears as before in the app page in light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:13:01 -04:00
Sunil Mohan Adapa
811b18c239
names: Use inline SVG icons for main app page
Tests:

- The icons appears as before on the add/edit/delete buttons in light/dark
themes.

- The icon appears as before on the error message.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:57 -04:00
Sunil Mohan Adapa
3e6c8e9b06
ui: Use inline SVG icons for internal zone message
Tests:

- In Privoxy app with only internal interface defined, the icon appears as
before in message in light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:53 -04:00
Sunil Mohan Adapa
f56d5f1b0f
ui: Use inline SVG icons for notification dropdown
Tests:

- The icon appears as before in navbar in light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:50 -04:00
Sunil Mohan Adapa
a951b5f606
ui: Use inline SVG icons for app toolbar
Tests:

- The icons appears as before in toolbar in light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:46 -04:00
Sunil Mohan Adapa
80730bc9b3
ui: Use inline SVG icons for breadcrumbs
Tests:

- The home icon appears as before in breadcrumb in light/dark themes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:42 -04:00
Sunil Mohan Adapa
c12e4079c6
ui: Add rest of the icons used from fork-awesome set
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:38 -04:00
Sunil Mohan Adapa
aed23630fb
ui: Use inline SVG icons for system and help section page
Tests:

- All the icons appear as before.

- They change colors in light/dark mode.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:33 -04:00
Sunil Mohan Adapa
d02154e2f0
clients: Use SVG icons when showing external links
Tests:

- Icons works in light/dark mode.

- All icons appear as expected.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:28 -04:00
Sunil Mohan Adapa
4a3ca01059
html: Drop trailing slash from void elements
See: https://github.com/validator/validator/wiki/Markup-%C2%BB-Void-elements

Tests:

- Fewer info messages in w3c HTML validator.

- Page loads and works as usual.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:20 -04:00
Sunil Mohan Adapa
144efd71b8
html: Drop type attribute value of text/javascript
As is encouraged[1]

https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script#attribute_is_not_set_default_an_empty_string_or_a_javascript_mime_type

Links:

- Apps page loads and javascript works as expected.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:14 -04:00
Sunil Mohan Adapa
6defd3e8ce
ui: Use inline SVG images for app icons for dark mode adaptation
- Use 'currentColor' as color in SVG images to make them adapt to light/dark
modes.

- Introduce a new {% icon %} template tag to read SVG files, attach attributes,
remove <?xml> header, and make all IDs inside unique.

- Use the {% icon %} template tag to inline SVGs in app page, home page,
app pages, and notifications.

- Relax the content security policy to allow inline styling with 'style='
attribute.

Tests:

- Allow the icons looks as before in the following pages: home page, apps page,
app specific page, and in notifications.

- Icons that are fully dark become white when theme is switched to dark mode.

- All the inlined SVG icons have a prefixed unique ID.

- W3C HTML validator shows no new errors.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:12:04 -04:00
Sunil Mohan Adapa
c0dcd15169
ui: Simplify SVG app icons for using them inline in HTML
- Drop unnecessary inkscape markup.

- Ensure that all the SVGs have viewBox='' attribute.

- Drop unnecessary id='' attributes.

- Prefix all IDs with 'autoidmagic-'. This will be replaced with a random string
for each inlining in HTML to avoid duplicate IDs.

Tests:

- All SVGs appear the same as before.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-19 19:11:54 -04:00
Sunil Mohan Adapa
31925252cb
tests: functional: Drop undefined 'sso' pytest mark
Remove the following warnings when running functional tests.

plinth/modules/calibre/tests/test_functional.py:13: PytestUnknownMarkWarning: Unknown pytest.mark.sso - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    pytestmark = [pytest.mark.apps, pytest.mark.sso, pytest.mark.calibre]

plinth/modules/kiwix/tests/test_functional.py:15: PytestUnknownMarkWarning: Unknown pytest.mark.sso - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    pytestmark = [pytest.mark.apps, pytest.mark.sso, pytest.mark.kiwix]

plinth/modules/searx/tests/test_functional.py:9: PytestUnknownMarkWarning: Unknown pytest.mark.sso - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    pytestmark = [pytest.mark.apps, pytest.mark.searx, pytest.mark.sso]

plinth/modules/syncthing/tests/test_functional.py:11: PytestUnknownMarkWarning: Unknown pytest.mark.sso - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    pytestmark = [pytest.mark.apps, pytest.mark.syncthing, pytest.mark.sso]

plinth/modules/transmission/tests/test_functional.py:13: PytestUnknownMarkWarning: Unknown pytest.mark.sso - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    pytestmark = [pytest.mark.apps, pytest.mark.transmission, pytest.mark.sso]

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-03-17 12:11:55 -07:00
Sunil Mohan Adapa
009e07b232
letsencrypt: Don't perform operations on apps that are not installed
Fixes: #2568.

When Let's Encrypts events are fired for all applications, they happen on apps
that install as well. They have not been a problem so far because seem to
succeed always. However, ejabberd recently changed to having '*' for list of
domains accepted and also has non-root account for certificate ownership. This
combination causes a certificate operation to fail as the package 'ejabberd' is
not installed and 'ejabberd' user is not available. Fix this by making limiting
certificate operations to apps that have been installed.

Tests:

- Add a new domain name to a production FreedomBox using the Dynamic DNS
'tester' account. 'ejabberd' app should not be installed. LE events fire and a
log message showing failure is noticed. All the events after the failure for
other apps also succeed. The failure is a minor and contained to ejabberd.

- Apply the patch and revoke the certificate. LE event is fired on all other
installed apps but not on ejabberd. No error is logged.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-03-16 20:30:58 -04:00