- Introduce Apache configuration for plinth.
- Remove Transmission service file for firewalld.
- Enable transmission on install.
- Enable/disable Apache configuration on Transmission on enable/disable.
- Remove IP address whilelisting as 127.0.0.1 is the default setting and
is sufficient for Apache to reverse proxy.
- Update UI URL.
- Don't allow strings to be sent as arguments. The mixup with
lists/tuples could be dangerous.
- Don't escape arguments. subprocess.Popen takes care that arguments
are passed on nicely to the actions.
- Update tests.
- It is conventional to store application data in /var/lib/APPDIR
instead of /var/APPDIR. Change ikiwiki data folder to
/var/lib/ikiwiki.
- After installing and before enabling and setting up basic
configuration, performing any operation such as 'create' wiki/blog
lead to silent errors. Do avoid this situation, perform a separate
setup() operation soon after the package is installed.
- In manage page, show a message to create new blog/wiki when there are
none.
- Elaborate on what gets deleted in delete page.
- Add Ikiwiki in menu item label. This is in order to allow for other
Wiki/Blog modules.
- Indentation changes.
- Change default server directory from plinth/ to /plinth as the program
expects.
- First load the values from configuration file and then override them
with command line parameters.
- Show default values on the command line help.
- Use configuration file values as default values to command line
parameters.
- Log the value of script prefix (server_dir) for easy debugging.
- Make sure the server_dir is properly loaded from configuration files.
- When running in an environment without systemd, the changes are completely
ignored.
- When running under systemd, the patch introduces a systemd native service
file to take advantages of nice feature provided by systemd.
- One of the feature currently taken advantage of is the ability to restart the
service automatically if it ever crashes or exits with error.
- Another feature is that when we wish to kill Plinth all the processes under
the cgroup are killed as well.
- Make network-manager package get installed when accessing the index page of
networks. Also freedombox-setup shold actually pull network-manager package
as dependency and use it for configuring the initial networks.
- Remove the /connect page and re-use the /add_wifi page for that purpose.
- Fix add connection page titles.
- Handle the case when network-manager returned empty string for SSID.
- Don't explictly URL encode the Wi-Fi SSID when adding a new Wi-Fi network.
Django automatically handles this in 'url' tag and decodes before url
routing. Relax the regex that matches SSID as part of the URL to handle all
possible SSIDs.
- Name for a network connection is not unique. UUIDs are much less likely to
change compared to name of the connection. No necessity to perform URL
encoding too.
- Move UI error message strings to view module instead of the network module
for proper separation.
- Minor refactoring.
- Refresh package list before trying to install packages. Also lookup
the ID of the package, including the version, using the newly fetched
package list.
- Call on_install() callback requested by modules only if the package
installation was successful. Handle any exception raised in the
callback itself.
- Handle exceptions raised during packagekit operations. Also check the
returned results for error code.
- Capture error/success status during a transaction. Don't destroy the
transaction object until the error/success status has been collected.
When a view is refreshed after completion of a transaction collect the
result of the transaction and show it to the user.
- Handle cases where package searches in the package list fails. Simply
show the package name without its description.
- Add files .travis.yml and requirements.txt
- In setup.py, remove 'pygobject' from install_requires
- In setup.py, add 'pyyaml' to install_requires
- Add file plinth/tests/coverage/__init__.py
- Rename file plinth/tests/coverage/test_coverage.py to coverage.py
- In plinth/tests/coverage/coverage.py, rename class TestCoverageCommand
to CoverageCommand