Compare commits

...

2 Commits

Author SHA1 Message Date
Frederico Gomes
5a00d05cfe
apps: Change header title from Disabled to Available for install
Closes #1633.

[sunil: Move the button to the top of the apps page]
[sunil: Drop additional div nesting for 'available for install' section]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-07-14 15:37:46 -07:00
James Valleroy
10069c4e5d
tor, torproxy: Avoid error if defaults file missing during uninstall
See:
https://discuss.freedombox.org/t/error-when-uninstalling-tor-and-tor-proxy/4295

sunil: Use pathlib.Path.unlink()

Tests:

- Install Tor and Tor Proxy. Uninstall both. Uninstall is succesful.

- Install Tor and Tor Proxy. Manually delete
  /var/run/tor-instances/*.defaults. Uninstall both apps. Uninstall is
  successful. A warning is printed in the logs.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2026-07-14 14:53:16 -07:00
3 changed files with 19 additions and 5 deletions

View File

@ -494,5 +494,7 @@ def uninstall():
for directory in directories:
shutil.rmtree(directory, ignore_errors=True)
os.unlink(f'/var/run/tor-instances/{INSTANCE_NAME}.defaults')
defaults_file = f'/var/run/tor-instances/{INSTANCE_NAME}.defaults'
pathlib.Path(defaults_file).unlink(missing_ok=True)
action_utils.service_unmask(SERVICE_NAME)

View File

@ -2,7 +2,7 @@
"""Configure Tor Proxy service."""
import logging
import os
import pathlib
import shutil
from typing import Any
@ -190,5 +190,7 @@ def uninstall():
for directory in directories:
shutil.rmtree(directory, ignore_errors=True)
os.unlink(f'/var/run/tor-instances/{INSTANCE_NAME}.defaults')
defaults_file = f'/var/run/tor-instances/{INSTANCE_NAME}.defaults'
pathlib.Path(defaults_file).unlink(missing_ok=True)
action_utils.service_unmask(SERVICE_NAME)

View File

@ -5,6 +5,7 @@
{% load i18n %}
{% load static %}
{% load extras %}
{% block container %}
<div class="container">
@ -19,6 +20,15 @@
{% include "tags.html" %}
{% endblock %}
<div class="btn-toolbar container" role="toolbar">
<a class="btn btn-primary" href="#available-for-install-container"
data-bs-toggle="collapse" role="button" aria-expanded="false"
aria-controls="available-for-install-container">
{% icon 'plus' %}
{% trans "Add new app" %}
</a>
</div>
<div class="container card-container">
<div class="row">
<div class="card-list card-list-primary">
@ -34,8 +44,8 @@
</div>
{% if show_disabled %}
<div class="container card-container">
<div class="card-section-title">{% trans "Disabled" %}</div>
<div class="container card-container collapse" id="available-for-install-container">
<div class="card-section-title">{% trans "Available for install" %}</div>
<div class="row">
<div class="card-list card-list-disabled">
{% for item in menu_items %}