commit e4ee756918293202b69657599bbb09a20cd91e42
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Tue Feb 24 11:57:13 2026 -0800
bin: Add tool to change FreedomBox password in Django database
Tests:
- Run 'make build install'. The new binary is available as
/usr/bin/freedombox-change-password. Running 'freedombox-change-password
tester2' works as expected.
- Providing wrong username show proper error message.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit 7f2b49f70ca8efa4529fe680f73580773e654b05
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Fri Feb 27 08:38:30 2026 -0800
locale/bg: Fix several translations with HTML links (Bulgarian)
The HTML attributes of the translation must be the same as English string. Newly
inserted characters lead to 404 page not found errors.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 36fb92a9536eddad37bbbe15515fde148a9cc18a
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Fri Feb 27 08:33:14 2026 -0800
locale/de: Fix several translations with HTML links (German)
Fixes: #2560.
The HTML attributes of the translation must be the same as English string. Newly
inserted characters lead to 404 page not found errors.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 57816029e58a1cc535303b8cf41eeb447f785762
Author: Frederico Gomes <fredericojfgomes@gmail.com>
Date: Mon Feb 16 14:05:14 2026 +0000
wireguard: Fix split tunneling
- Currently, when adding a server, we have an option for 'default route' but
unchecking it does not work. This is due to allowed_peers always containing
::0/0 and 0.0.0.0/0. Fix this by setting the allowed_peers to a value containing
only the IP of the WireGuard network.
Tests:
- When default routing it checked, routing table shows default route for
wireguard device. Traceroute confirms routing through WireGuard network.
- When default routing it unchecked, routing table does not show default route
for wireguard device. Traceroute confirms routing through regular network.
Signed-off-by: Frederico Gomes <fredericojfgomes@gmail.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 3be73bad59984d836d961a71cee370d45f3d6976
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Mon Feb 23 22:18:18 2026 -0800
tests: functional: Fix reloading error page during install/uninstall
- When an error page is shown during installation/uninstallation, no automatic
refresh of the page happens. Fix this by reloading the page when error is shown.
- When error page is shown, the document.readyState is "interactive" (meaning
that page load is completed but other resources such as images are being
loaded). So, checking for error page is never happening.
- Also when reloading an error page, WebDriverException may happen so use the
wait_for_page_update() utility to perform the page reloads.
Tests:
- Run functional tests for bepasty. When installing the app, stop apache web
server. Let an error page be shown. Then start the server again. Without the
patch, the error page is never reloaded. With the patch, the error page is
reloaded and tests succeed.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit 5e112bd8bf30eca2b71509735656b4f5cfb7cdb7
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Mon Feb 23 22:12:45 2026 -0800
js: When page load fails during install, show it to user
- Currently when HTMX tries to fetch a page and fails, it silently fails and
does not perform any further operations. So, the installation page is stuck.
This is also leading to functional test case failures.
- Handle errors in page response and errors while making requests and reload the
entire page. This will result in browser showing appropriate error page. User
will understand that the operation has failed.
- Also add HTMX event listeners on the body as shown in HTMX documentation.
Tests:
- Press install. After installation process has started, stop Apache web server.
Without the patch, HTMX fails silently and the installation progress is shown
indefinitely.
- With the patch applied, the connection error page is properly shown.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit 68ccb46ecfcb083629588016502597db96a5e7c8
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Tue Feb 24 12:52:13 2026 -0800
tests: functional: Increase systemd rate limits for starting units
- If functional tests run fast, daemon will be stopped and started many times.
This is hitting rate limit for some daemons.
Tests:
- Configuration file is created as expected. systemd read the value as shown by
'systemctl show'.
- Mumble functional tests pass without having to insert sleeps.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 2044fa3e84e413b0267aa9f9ff44c362efa2f27c
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Sat Feb 14 08:31:47 2026 -0500
mumble: murmurd renamed to mumble-server
- Update backup manifest config file location.
Fixes #2518
Tests:
- mumble functional tests are passed.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
commit bc4730c33c9360d764fca218ca90e67f8457584a
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Tue Feb 24 10:58:00 2026 -0800
action_utils: Fix issue with type checking a generator
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 365c1c348457e5f076cbc0109c2710ece754e510
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Mon Feb 23 13:35:08 2026 -0800
doc/dev: Set new theme for developer documentation
- Change theme to 'Book' based on Sphinx pydata theme. It supports dark/light
modes. Looks more modern and better defaults/options.
- Add logo on the top left corner.
- Add menu to go to repository, view page source, edit page source, and report
issue on current page.
- Don't repeat 'FreedomBox Authors' in authors text and copyright text. Show
only once as suggested by the theme.
- Use theme option to show license link instead of overriding the template.
Tests:
- After building the theme, all options work as expected.
- Footer appears as expected.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 32fae4c3d3ceaa2d1572e062d862180c9046e24b
Author: Benedek Nagy <contact@nbenedek.me>
Date: Sun Feb 15 13:57:13 2026 +0100
doc/dev: always have an up-to-date copyright year
Signed-off-by: Benedek Nagy <contact@nbenedek.me>
commit 9a16e20fa9055dc07ef590b9a8c1459937da6999
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 18 16:48:09 2026 -0800
letsencrypt: When copying certificate reset the umask reliably
- When there is an error writing to certificate files, the umask is not reset
properly. Fix this my using umask context manager from action utils. This could
be core reason behind: #2564.
Tests:
- Changing the domain name creates the file /var/lib/quassel/quasselCert.pem
with the proper permissions of 0o600. If in Quassel app's Let's Encrypt component
the certificate file path is changed, then two files are created on domain name
change. Private key is created with 0o600 permissions and certificate file is
created with 0o644 permissions.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit 03b4a78fd0cb9ce61799ab631a4a4715938732e2
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 18 16:38:25 2026 -0800
quassel: Explicitly set permissions on the domain configuration file
Closes: #2564
Tests:
- Changing the domain name in quassel app page set the expected file
permissions. Changing the value in the code results in file getting created with
changed permissions.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit ac83de6635370eb391ad8a2f1c2b2e28ff0da25f
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 18 16:36:53 2026 -0800
action_utils: Implement utility to change umask temporarily
- When we set umask we typically want to change it back to original value after
the operation. Implement a context manager to help with this.
Tests:
- Unit tests pass.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit b1177a82f8d063bb80c5127a2a005980b233edc9
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Sun Feb 22 14:16:36 2026 +0100
Translated using Weblate (Greek)
Currently translated at 46.1% (869 of 1885 strings)
commit 77112e9faf8d404ebcfb7f48b70494b2413144b3
Author: Βασίλης Χατζηκαμάρης <vasilischat@gmail.com>
Date: Tue Feb 17 15:59:09 2026 +0100
Translated using Weblate (Greek)
Currently translated at 45.5% (858 of 1885 strings)
commit d9f20b205b723825e04fb903f7844642a0755c6d
Author: Coucouf <coucouf@coucouf.fr>
Date: Tue Feb 17 18:46:21 2026 +0100
Translated using Weblate (French)
Currently translated at 100.0% (1885 of 1885 strings)
commit c0bd1c8280050bce96cb71aef254fade88993691
Author: Daniel Wiik <d.wiik@outlook.com>
Date: Sun Feb 15 22:16:05 2026 +0100
Translated using Weblate (Swedish)
Currently translated at 100.0% (1885 of 1885 strings)
commit f0a36f11ba1ed5c11d8414772c30f1af5d1ee12b
Author: Frederico Gomes <fredericojfgomes@gmail.com>
Date: Wed Feb 11 14:25:07 2026 +0000
wireguard: show server vpn ip in show client page
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
commit b18c37a5f61cda48b05e612b4dca0d403ae8c315
Author: Frederico Gomes <fredericojfgomes@gmail.com>
Date: Wed Feb 11 12:04:19 2026 +0000
wireguard: improved server section UX flow
Originally aimed to show server info (public key, endpoints) in a table.
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
[jvalleroy: Remove trailing spaces]
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit ccf5231569787eb9df2a779ff287f24255d3ee93
Author: Isak <isakbsd@proton.me>
Date: Sat Feb 14 04:30:25 2026 +0100
Translated using Weblate (Swedish)
Currently translated at 80.0% (1508 of 1885 strings)
commit 020ef6ae0c8d7c8b7dd002dc9a06f7917003ecfa
Author: Jiří Podhorecký <j.podhorecky@volny.cz>
Date: Sun Feb 8 19:13:18 2026 +0100
Translated using Weblate (Czech)
Currently translated at 100.0% (1885 of 1885 strings)
commit cc8fa47efe1040a7b83e0e04b89797c2f1a42f9c
Author: kosagi <marti.torra@natana.cat>
Date: Fri Feb 6 13:48:49 2026 +0100
Translated using Weblate (Catalan)
Currently translated at 55.2% (1042 of 1885 strings)
commit 59c3b49d8b75f1b3e7b8245a917d0692492e5425
Author: Daniel Wiik <d.wiik@outlook.com>
Date: Thu Feb 5 23:26:21 2026 +0100
Translated using Weblate (Swedish)
Currently translated at 79.9% (1507 of 1885 strings)
commit a4cfb824e81455fe1c1eb1bfe1c4e43e2797044b
Author: Pierfrancesco Passerini <p.passerini@gmail.com>
Date: Fri Feb 6 22:11:25 2026 +0100
Translated using Weblate (Italian)
Currently translated at 100.0% (1885 of 1885 strings)
commit 59329169e4ec47cebf72faf7d2569268320ef5df
Author: Frederico Gomes <fredericojfgomes@gmail.com>
Date: Fri Feb 6 19:36:10 2026 +0000
wireguard: filter .local addresses from showClient view
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
commit df7793916c6551d5870a6bd0cad46dad6b0a1636
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Fri Feb 6 11:39:04 2026 -0800
backups: Fix type checking errors
- Use the passed in argument for copy_ssh_client_public_key instead of
overwriting it.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 0c8cba3a13c93404c58339b9159224a083569b06
Author: Frederico Gomes <fredericojfgomes@gmail.com>
Date: Thu Feb 5 13:05:55 2026 +0000
container: Align terminology with !2731 in printed banner
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 5da5ef5f96a20865f49519de59fe90b2d9304157
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Thu Feb 5 22:24:16 2026 -0800
backups: Create a better comment in the generated SSH key file
Tests:
- When /var/lib/plinth/.ssh is deleted and add remote repository form is
visited, the directory along with SSH key files are created. The .pub file has
the expected comment freedombox@configured_domain.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 4ae66c034c5004701c67371b1522ddb73003322b
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Thu Feb 5 19:03:54 2026 -0800
backups: Fix showing proper error for incorrect passphrase
Tests:
- Provide incorrect passphrase when adding a remote repository. Should show a
message that passphrase is incorrect and redirect back to add remote repository
form.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit e21ab91b218cb29b1e4602befd863a8857c64f9f
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Thu Feb 5 09:05:16 2026 -0800
backups: Create .ssh folder before creating SSH key
- As a safe guard although it should exist because of a prior verification of
SSH key.
- Minor refactor to make the method flatter.
Tests:
- Remove /var/lib/plinth/.ssh and visit add remote repository form. The public
key is displayed in the form. The files in /var/lib/plinth/.ssh are created with
expected permissions.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit dd0a0f56a67f2a834158c82cb97248ec296e8804
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Thu Feb 5 08:31:01 2026 -0800
backups: Simplify handling of migration to SSH keys
- Integrate SSH error handling into borg error handling.
- Move logic to migrate SSH keys into lower levels (Repository class) so that it
can performed at more instances such as when initializing repository. It also
provides better abstraction keeping the view logic simpler.
- Drop ability to mount repository using password. This is important next step
for mounting using systemd unit files.
- Use exceptions to eliminate return value checking.
- Create a special exception for exceptions raised during SSH operations. Raise
this at lower levels and handle these using the common error handler.
Tests:
- Adding a remote repository with key and password authentication works with and
without encryption. Adding works with SSH host key pre-verified works too.
- Trying to add a remote repository with incorrect passpharse fails with the
simplified error message. Redirect happens to add remote repository page. Error
message with SSH host key pre-verified works too. Repository is removed.
- Trying to provide wrong SSH password fails with a simplified error message.
Redirect happens to add remote repository page. Repository is removed.
- Mounting a repository after unmounting it works.
- Mounting a repository with SSH password in its configuration works. Migration
is performed and SSH password is replaced with SSH key file path.
- A schedule for a repository with SSH password runs successfully. An archive is
created. Migration is performed and SSH password is replaced with SSH key file
path.
- SSH identity files are created with plinth:plinth ownership. Private key file
is created with 0o600 permissions and public key file is created with 0o644
permissions.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit a7ef60015c28df54df307b256c55a48ffd3177fe
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 18:56:55 2026 -0800
backups: Minor refactoring
Tests:
- Adding a remote repository with key and password authentication works with and
without encryption.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 2208a7b21046a2b8b6d1f20774364cf94294ee0b
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 18:53:45 2026 -0800
backups: tests: Simplify functional test using more classes
- This makes the functional test focus more on the repository that is added
rather than all remote repositories.
Tests:
- Functional tests for backups app works.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit ff7c3a53a51b988a38fd071921282e269fc35545
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 16:31:24 2026 -0800
backups: Tweak appearance of add remote location form
- Use bootstrapform templates where possible to reduce code.
- Fix incorrect tag for radio button for password authentication.
- Drop borders and instead:
- Style each group as a section. This includes encryption section and
repository path section.
- Utilize the simplicity as passwords fields are not displayed.
- Retain <label> tag so that clicking on it works and it also easier for
accessibility tools.
Tests:
- The option for password authentication works are expected. The fields for
encryption passphrase, ssh password work as before.
- Clicking on form labels focuses the form element.
- Adding a repository with key and password authentication works with and
without encryption.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 7d3d930137206b346eb29d69a57750371b530ff9
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 16:26:29 2026 -0800
backups: Show/hide form elements instead of disabling for simplicity
- Unlike the case of network forms, for example, there is nothing the user could
infer from a disabled form element. If they see a disabled DNS field, they would
understand that it is an editable value but has been disabled due to other
option values. It is important to allow users to discover this. However, in case
of password fields, they are not needed to be shown to the user unless the
appropriate option is selected.
Tests:
- In the add remote repository form, selecting the authentication type radio
options shows and hides the password field. Selecting the value for encryption
type shows and hides the encryption password field.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit ad40072267b391cc29c1d1e8e812b25c9dc354e8
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 16:25:47 2026 -0800
backups: Fix issue with Javascript in add remote location form
Tests:
- In remote repository add form, selecting radio options for authentication
types does not throw an error. The password field is shown/hidden as expected.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 305b1f01f56bf5c87b7d33a805c3b494588f17f2
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 16:24:19 2026 -0800
backups: Avoid some repeated text in form help text
Tests:
- The remote repository add form shows form elements are updated as expected.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 58ecf9d3e486d39f7836cd99186cb6e29ec50121
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Wed Feb 4 16:21:01 2026 -0800
actions, privileged_daemon: Drop some unused global statements
Tests:
- Make a privileged method throw and exception after spewing output to stdout
and stderr. The exception caught on the service daemon contains the expected
stdout and stderr messages.
- Sending SIGTERM to privileged daemon shuts down the daemon.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
commit 3cb5d1a936eccc1d626cbc71518a5643f6a7df11
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Wed Jan 7 10:20:34 2026 -0500
backups: Migrate to SSH key auth when mounting
Tests:
- On main branch, add a remote repository with SSH password. Unmount
the remote location.
- Switch to branch with this change. Mount the remote location. Logs
show that it is migrated from password to key authentication. Plinth
database no longer contains password for this remote.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 8b9413c719e86d445abe50669e7c57af56c4479b
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Tue Jan 6 14:25:50 2026 -0500
backups: Arrange form for adding remote location
- Group together related fields with borders.
- Display errors on form and fields.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 451e582c07979e2d14365bb46b442ba7d7a8d0a0
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Thu Jan 1 13:52:35 2026 -0500
backups: Test adding/removing remote location
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 043bd44dec0ef8d955dbd5b145b5a43bdd5a3d6a
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Mon Dec 22 19:57:33 2025 -0500
backups: Use selected SSH credential for remote
- Use javascript to disable or enable password fields.
- If SSH key auth is selected, then try the connection.
- If SSH password auth is selected, then copy the key.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 3558a26b2f72c509eb097c7d1043fafc7540c891
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Sun Dec 21 12:01:23 2025 -0500
backups: Use SSH key instead of password
- After copying the SSH client public key to the remote host, replace
the SSH password credential with keyfile.
- Also use SSH key when checking that remote directory exists.
Tests:
- Add remote backup location "tester@localhost:~backups". Test various
operations like create backup, download backup, unmount and
mount. Confirm that SSH password is no longer present in plinth
sqlite database.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit f689e1b3cf469cb2326c43f57a4ce511bf3dbf69
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Fri Dec 12 07:14:39 2025 -0500
backups: Copy SSH client public key to remote
Tests:
- In development VM, add a remote backup location of "tester@localhost:~/backups".
Verify the SSH host key. plinth@freedombox key is listed in
/home/tester/.ssh/authorized_keys.
- Remove the remote backup location, and delete /home/tester/.ssh/authorized_keys.
Add the same remote backup location again. plinth@freedombox key is again
listed in /home/tester/.ssh/authorized_keys.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 7fb41313cdeecbac42ec581400dff64ac0594a73
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Sat Dec 6 13:28:43 2025 -0500
backups: Display SSH public key when adding remote
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 156d0b761fa933094592b26ce907a35f730d93c6
Author: James Valleroy <jvalleroy@mailbox.org>
Date: Sat Dec 6 12:06:21 2025 -0500
backups: Generate SSH client key if needed
Tests:
- Click on Add Remote Backup Location. Logs show that SSH client key is
generated. The private key is readable only by plinth user.
- Go back, and click on Add Remote Backup Location again. Logs show that SSH
client key already exists.
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
commit 33d05ef5be27a9e75339c8b5233e8023b0626791
Author: Dietmar <sagen@permondes.de>
Date: Wed Feb 4 12:02:32 2026 +0100
Translated using Weblate (German)
Currently translated at 99.2% (1870 of 1885 strings)
commit a1bd01f0c1db803a482ad9f647d3e268ba1f9cca
Author: Besnik Bleta <besnik@programeshqip.org>
Date: Tue Feb 3 10:47:20 2026 +0100
Translated using Weblate (Albanian)
Currently translated at 99.6% (1879 of 1885 strings)
commit ea4172a4c23214b863971c4b0a9b42baf2c419ba
Author: Coucouf <coucouf@coucouf.fr>
Date: Tue Feb 3 22:14:46 2026 +0100
Translated using Weblate (French)
Currently translated at 100.0% (1885 of 1885 strings)
commit 0ee977a6b04c18af5b29a95eeaea214b67e71ee1
Author: Burak Yavuz <hitowerdigit@hotmail.com>
Date: Tue Feb 3 11:50:13 2026 +0100
Translated using Weblate (Turkish)
Currently translated at 100.0% (1885 of 1885 strings)
commit 6b7e518eed8f0bae121e1e7d1bb64ff77d1e8f07
Author: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Date: Tue Feb 3 06:57:24 2026 +0100
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 61.3% (1157 of 1885 strings)
commit 196fcea328887b40d9dd7ba1cd0bf0f18f54ee86
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Tue Feb 3 14:20:36 2026 -0800
ui: Add animation for notification dismissal
Tests:
- When a notification dismiss button is clicked, first it fades and collapses
at the same time.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
commit e37d26abeea0dedf24737a7333460ded769a39a3
Author: Sunil Mohan Adapa <sunil@medhas.org>
Date: Tue Feb 3 14:18:00 2026 -0800
ui: Refactor notification delete buttons to avoid repeating code
Tests:
- Through code changes, ensure that dist upgrade notification, updated to new
release notification, privacy notification, and app installed notification show
up. Ensure that they have correct hx- attributes and URL property for dismiss
button. Clicking dismiss button works as expected.
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
commit 13a575017cbbd2166bb56015f6e33ce370dedbcb
Author: Joseph Nuthalapati <njoseph@riseup.net>
Date: Wed Feb 4 00:15:16 2026 +0530
ui: Dismiss notifications without page reload
- Delete only the <li> of the notification using HTMX.
- Notifications list stays open. User can dismiss another notification.
- Decrement notification counter using JavaScript after removing
notification from the list.
- Added HTMX to every kind of notification.
- Tested dismissing notifications from the top, middle and bottom of the
list.
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Update comment format in .js file]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
There is 1 open security issue in bookworm.
You can find information about how to handle this issue in the security team's documentation.
Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.
Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.