descriptionEmail privacy service
homepage URLhttps://inboxen.org
repository URLhttps://github.com/Inboxen/Inboxen.git
ownermoggers87+git@moggers87.co.uk
last changeSat, 16 Dec 2023 16:14:02 +0000 (16 16:14 +0000)
last refreshSun, 3 Nov 2024 07:40:44 +0000 (3 08:40 +0100)
content tags
add:
README.md

Migrated to Codeberg

This repo is no longer used as we have migrated to Codeberg

Inboxen

Tests Test coverage Documentation Status

This is the complete system with everything you need to set up Inboxen.

The current maintainer of this repo is Matt Molyneaux

GPG keys

GPG keys used by Inboxen developers to sign releases:

Matt Molyneaux <moggers87@moggers87.co.uk>
    19F5 A8DC C917 FD00 E859   02F4 878B 5A2A 1D47 C084

Security

If you find a security issue with Inboxen, email <security@moggers87.co.uk>. If you wish to send an encrypted report, then please use key id 0x878B5A2A1D47C084

Once reported, all security vulnerabilities will be acted on immediately and a fix with full disclosure will go out to everyone at the same time.

Developing

You'll need the following tools:

This project comes with a .editorconfig file - we recommend installing it to avoid things like mixing tabs/spaces or accidentally saving files with DOS-style newlines.

Set yourself up with a virtual environment and run the following:

git clone https://github.com/Inboxen/Inboxen.git
cd Inboxen
make

When you've made your changes, remember to check your code style and run unit tests.

Python tests:

python manage.py test

JS tests:

npx grunt karma

To check code style on Python:

tox -e isort,lint

And finally, check JS code style:

npx grunt jshint

Local HTTP server

You'll need a inboxen.config file, for example:

secret_key: some_random_string
debug: true
tasks:
  always_eager: true

If you want to start a local HTTP server to test out your changes, run the following:

python manage.py runserver

You can connect to it on <http://localhost:8000/>.

With debug=true, you'll have the Django Debug Toolbar enabled and you can find the Inboxen styleguide at <http://localhost:8000/styleguide>

Pinned Dependencies

Inboxen uses pip-tools to help manage its dependencies. The direct requirements of Inboxen are kept in requirements.in and then we use the following command to pin the entire dependency graph:

pip-compile --upgrade --output-file requirements.txt requirements.in

The resulting requirements.txt can be installed to a clean virtualenv with pip to get the exact package versions that Inboxen uses in production. You can also use the pip-sync (which comes with pip-tools) to update an existing virtualenv as well as remove packages that are no longer required.

The same principal applies to requirements-dev.txt/requirements-dev.txt and any files found in extras/requirements.

If for any reason you wish to bypass pinning dependencies, requirements.in and requirements-dev.in are in the format expected by pip.

Committing and Branching

Branching

All development happens in branches off of main. Each branch should have an associated issue - if there isn't one for what you're working on then create a new issue first!

Branch names should be of the format <issue>-<description> where:

For example, 129-pin-inboxes was the branch used for implementing the pin inbox feature

Finished branches are then merged into main. If there is someone available to review your branch, your branch should be reviewed and merged by them. Remember to add a note to CHANGELOG.md when merging!

Hotfix branches

Hotfixes should be branched from the latest deploy tag, and then be tagged themselves as a normal deployment before being merged back into main.

Commit messages

You should follow the pattern of "summary, gap, details, gap, issue references"

For example:

Blah blah thing

Fixes this thing, changes how we should do something else

fix #345
touch #234

If you are committing on main, then make sure to end your commit message with "IN MAIN" so we know who to blame when stuff breaks.

shortlog
2023-12-16 Matt MolyneauxUpdate README.mdmain
2023-12-11 Matt MolyneauxMerge pull request #608 from Inboxen/140-html-plain...
2023-12-11 Matt MolyneauxAdd preferHtml GET param to email view140-html-plain-switch
2023-11-28 Matt MolyneauxRemove clearly incorrect comment
2023-11-27 Matt MolyneauxRe-enable git push statements in Makefile
2023-11-27 Matt MolyneauxUpdate changelogdeploy-2023.11.27.20.52.7
2023-11-27 Matt MolyneauxUpdate all dependencies
2023-10-31 Matt MolyneauxMerge pull request #606 from Inboxen/601-quota-delete-fix
2023-10-28 Matt MolyneauxOnly keep 90% of quota amount when deleting emails
2023-10-28 Matt Molyneauxflake8: exclude node_modules
2023-10-21 Matt MolyneauxUpdate dependencies
2023-10-17 Matt MolyneauxMerge pull request #605 from Inboxen/600-django-mptt...
2023-10-17 Matt MolyneauxReplace django-mptt with our own implementation
2023-09-15 Matt MolyneauxCreate missing migration
2023-09-14 Matt MolyneauxMerge pull request #604 from Inboxen/603-blog-images-fix
2023-09-14 Matt MolyneauxAdd --no-save to npm install
...
tags
11 months ago deploy-2023.11.27.20.52.7 Deploy for 2023.11.27.20.52.7 ...
13 months ago deploy-2023.9.12.15.59.8 Deploy for 2023.9.12.15.59.8 -...
13 months ago deploy-2023.9.5.10.25.4 Not an actual deploy, just a tag...
2 years ago deploy-2021-12-02T19-43-58 Deploy for 2021-12-02T19-43-58...
3 years ago deploy-2021-09-15T19-27-19 Deploy for 2021-09-15T19-27-19...
3 years ago deploy-2021-06-25T22-51-26 Deploy for 2021-06-25T22-51-26...
3 years ago deploy-2021-04-05T20-51-52 Deploy for 2021-04-05T20-51-52...
4 years ago deploy-2020-10-10T00-21-00 Deploy for 2020-10-10T00-21-00...
4 years ago deploy-2020-09-28T20-38-01 Deploy for 2020-09-28T20-38-01...
4 years ago deploy-2020-08-14T22-38-11 Deploy for 2020-08-14T22-38-11...
4 years ago deploy-20200727 Deploy for 2020-07-27
4 years ago deploy-20200609 Deploy for 2020-06-09
4 years ago deploy-20200421 Deploy for 2020-04-21
4 years ago deploy-20200412 Deploy for 2020-04-12
4 years ago deploy-20200215 Deploy for 2020-02-15
4 years ago deploy-20191111 Deploy for 2019-11-11
...
heads
10 months ago main
10 months ago 140-html-plain-switch
12 months ago switch-to-fork-awesome
13 months ago 107-cleanup-liberation-data
3 years ago proper-installable-package