Commit Graph

658 Commits (e4454d776aa93fa4bb562715e07845f31365cae9)

Author SHA1 Message Date
Aurélien Bondis e1a4bf32a6 only insert qemu binary if building for arm
bors[bot] 1a597fbe6a
Merge
1130: Remove unnecessary host variable assignments r=mergify[bot] a=kaiyou

## What type of PR?

Bug fix

## What does this PR do?

### Related issue(s)
- Closes 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1132: Release Mailu 1.7 r=mergify[bot] a=kaiyou

## What type of PR?

Release

## What does this PR do?

It provides the changelog and migration notes for release 1.7.

### Related issue(s)

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: kaiyou <pierre@jaury.eu>
kaiyou d50504fa2b Only set the redis address once, fixes
kaiyou 4afbc09d6e Remove unnecessary host variable assignments
Tim Möhlmann 05ea4474e7
make `ANTIVIRUS_ADDRESS` consistent with
Igor Rzegocki 6f973a2e4b
Fixed hardcoded antispam and antivirus host addresses
Fixes 
bors[bot] 3e626b8500
Merge
940: Fix host variables r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?

### Related issue(s)
- Fix 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
bors[bot] 2785bca1f4
Merge
883: Admin create user enhancement r=mergify[bot] a=cr1st1p

## What type of PR?
Enhancement

## What does this PR do?
It allows the admin docker image to also create the admin user.
The idea is that in my kubernetes setup, I do not want to manually do anything, as such, I need a way for the admin user to also be created automatically without me getting inside the pod.
So I had to change the manage.py function that creates the user to allow different 'modes' (me, I'll be using 'ifmissing') and also start.py to call that functionality if appropriate environment variables are present.

So now, in my Deployment, I add 3 more environment variables and I get the admin user created, IF not already present.

### Related issue(s)
none?

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: cristi <cristi.posoiu@gmail.com>
Co-authored-by: cr1st1p <cristi.posoiu@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
Tim Möhlmann ed0fb77a01
Catch empty WEBMAIL and WEBDAV address
Tim Möhlmann 348ea1a572
Remove obsolete log call
Ionut Filip 075417bf90 Merged master and fixed conflicts
Aurélien Bondis 124b1d4c71 rebase and update for 3.10, avoid adding qemu file to x86 images
Tim Möhlmann 7d964874e8
Cleanup spaces around '='
Tim Möhlmann 52971ed42e
Use os.environment.get()
Mildred Ki'Lya 95dce5575b Parameterize redis address
bors[bot] 47a40d17b7 Merge
1088: Support domain literals (fix ) r=mergify[bot] a=hoellen

## What type of PR?
bug-fix

## What does this PR do?
This PR adds error handling for idna enocding. With telnet you now get a "Bad sender address syntax"  message.

```
> telnet mail.example.com 25

Connected to example.com.
Escape character is '^]'.
220 mail.example.com ESMTP ready
EHLO dummy.example.com
250-mail.example.com
250 STARTTLS
MAIL FROM: does-not-exist@[116.203.165.200]
250 2.0.0 OK
RCPT TO: some-user@example.com
501 5.1.7 Bad sender address syntax
Connection closed by foreign host.
```


### Related issue(s)
fix 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: hoellen <dev@hoellen.eu>
hoellen b720bedf72 Support domain literals for receiving emails
hoellen bed2c6ea09 Revert "Error handling for idna encoding"
This reverts commit 10034526a1.
hoellen 10034526a1 Error handling for idna encoding
hoellen 9de5dc2592 Use python package socrate instead of Mailustart
bors[bot] 2788909a13 Merge
1052: Upgrade alpine to 3.10 r=mergify[bot] a=Nebukadneza

## What type of PR?
enhancement / bug-fix

## What does this PR do?
Upgrade the alpine base image to 3.10 and clean up ensuing problems. Also directly uses postfix foreground-running with stdout logging.

### Related issue(s)
closes 
closes 

Note: This is a duplicate effort of   …

## Prerequistes
- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

With these images, I have tested manually:
- Email receive to user
  - on main domain
  - on additional domain
  - via an alias on main-domain
  - via an alias on additional domain
  - via catchall
- Email reject
  - of eicar testfiles
- Email sending
- Fetchmail from legacy POP
- Front LE certificates
- Simple overriding for postfix (only postfix.cf), nginx, dovecot, rspamd
- Creating a CalDAV calendar and CardDAV entry using davx5

I have not (yet) tested:
- certdumper
- databases other than sqlite

Todo:
- [x] Get rid of podop at `git+https://github.com/Nebukadneza/Podop.git@fix_py37` once https://github.com/Mailu/Podop/pull/6 is merged
- [x] Bend Mailustart back to original repository
- [x] Test more (? also help wanted ?)

Co-authored-by: Thomas Sänger <thomas@gecko.space>
Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Reto Glauser <git@blinkeye.ch>
kaiyou 23871d9180 Translated using Weblate (Russian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ru/
kaiyou 0281b5a595 Translated using Weblate (Italian)
Currently translated at 71.8% (117 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/it/
kaiyou 45789d3f22 Translated using Weblate (Hungarian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/hu/
Bambie07 e70d1e1455
fix dns dkim entry
Dario Ernst 1dbda71401 Adapt shared layer conf to now really-missing mailustart in admin (after merging webpack)
Dario Ernst a8c3530bfa Remove accidentally reintroduced rsyslogd config
Dario Ernst 8c2e22f666 Merge branch 'master' into HorayNarea-feat-upgrade-alpine
bors[bot] f77e1bdd0e Merge
1048: Refactor admin using webpack r=mergify[bot] a=kaiyou

## What type of PR?

Refactoring

## What does this PR do?

This PR brings some refactoring to the admin container :
- remove the dependency to mailustart and replace it with socrate
- remove static assets from the repo and use Webpack for building them


Co-authored-by: hoellen <dev@hoellen.eu>
Co-authored-by: kaiyou <pierre@jaury.eu>
Dario Ernst 0f146cd811 Require python3.7-compatible podop
Which is still unreleased, but serves as a placeholder here.
Dario Ernst 0306be1eed Re-add missing MailuStar in admin
It turns out we were all blind and admin *does* use MailuStart
Dario Ernst ce0c24e076 Merge branch 'master' into HorayNarea-feat-upgrade-alpine
Dario Ernst 53f754f5ac Remove MailuStart from admin and correct layer-sharing comments
Dario Ernst 93b54dcffe Install podop from pypi
Thomas Sänger 2c7d1d2f71
use HTTP/1.1 for proxyied connections
hoellen 31464c5c44 Change image back to alpine
hoellen b351841418 Expose jQuery for use outside Webpack build
hoellen 90f678de52 add app.css and fix align of menu button
hoellen 616d40d225 Update password in commandline
Dario Ernst bb2edb6eb6 Revert "Move alpine version definition out to variable"
This reverts commit c787e4bdbd.
hoellen 81a8acf9ec fix resolve issue
Dario Ernst c787e4bdbd Move alpine version definition out to variable
Daniel Huber ae290482c0
Format relay credentials file with jinja
Daniel Huber 515e95076a
Merge branch 'master' into feat-relay-auth
Dario Ernst ea851e77d4 Remove reference to rsyslogd
Dario Ernst 3bfdff155c Use official Mailu/Podop
Dario Ernst a253ca47fe Use official Mailu/MailuStart
Dario Ernst d155b2c533 Start postfix directly with stdout logging
Dario Ernst 9c1675e9d8 Use TEMPORARY workaround-branch for podop python 3.7 compatability
Dario Ernst f85b32914c Add newly missing plain SASL support in postfix
Dario Ernst d1f80cca99 Update Dockerfiles to most recent alpine 3.10
Dario Ernst 96fbaecc2f Correct executables moved by alpine
Thomas Sänger ef3c6c407a upgrade alpine base-image
kaiyou baa5a8a4e0 Fix hostname resolution
kaiyou c20a502695 Do not forcefully resolve optional hostnames
kaiyou a3abf8c353 Add the assets source
kaiyou 4b620ba5d1 Merge branch 'hoellen-fix-sidebar-toggle' into refactor-admin-webpack
kaiyou c147a371d7 Merge branch 'fix-sidebar-toggle' of https://github.com/hoellen/Mailu into hoellen-fix-sidebar-toggle
kaiyou 2d3560b396 Fix select2 using webpack-built assets
kaiyou c2a04ab1d4 Update the build configuration to use webpack and compiled assets
kaiyou ecdf0c25b3 Use webpack for building static assets
kaiyou d7747639e9 Remove the dependency to mailustart, introducing socrate
cristi f2a009795b Merge branch 'master' into admin_create_user_enhancement
bors[bot] f1f5aef7d3 Merge
931: Resolve webmail in admin r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Implement mailustart to resolve webmail in admin

### Related issue(s)
Fix  

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
bors[bot] 2c90ac3334 Merge
962: Open some admin sidebar links in a new browser tab r=kaiyou a=mariooos

## What type of PR?

Enhancement

## What does this PR do?

Add target=_blank attribute to html <a href ...> tag in following admin sidebar links:
- Antispam
- Webmail
- Website
- Help


Co-authored-by: mariooos <48351788+mariooos@users.noreply.github.com>
bors[bot] 7021278bfb Merge
993: Make aliases case-insensitive (too) r=mergify[bot] a=Nebukadneza

Even though RFC5321 2.4 explains that local-parts are to be case-sensitive,
this does not seem to be how EMail is used today. Thus, instead of reverting
user-emails back to being case sensitive, let’s make aliases case-insensitive
too. Not only more consistent, this also allows users to enjoy receiving EMails
from large airlines or car-rental agencies onto their already existing aliases.

For the rare case of case sensitive aliases existing, let’s query for the
forced-lowercase alias only in the event that the preserved-case one isn’t
found …

closes 

## What type of PR?
bug-fix

## What does this PR do?
Make aliases optionally case-insensitive: After attempting to resolve an alias in its preserved case, also attempt to match it case-insensitively.

This followed after some more thought from   …

### Related issue(s)
closes 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
bors[bot] df14935819 Merge
945: Add extra newline to main.cf r=mergify[bot] a=flopes89

This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section


## What type of PR?

Bugfix

## What does this PR do?

Adds a new empty newline a the end of `conf/main.cf` so prevent jinja from stripping it, by which overrides done with `postconf -e` are not appended correctly.

### Related issue(s)

see 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

Co-authored-by: Florian Peschka <flopes89@users.noreply.github.com>
bors[bot] d76ba5ee39 Merge
1005: distinguish disabled users in user list view by row color r=kaiyou a=zhuangyy

## What type of PR?

enhancement

## What does this PR do?

distinguish disabled users in user list view by row color

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Zhuang Yuyao <jssyan@qq.com>
kaiyou 645c423d09 Update messages.po (POEditor.com)
kaiyou 08bdc715bb Update messages.po (POEditor.com)
kaiyou a150315c1d Added translation using Weblate (Japanese)
Weblate abece125f4 Merge branch 'origin/master' into Weblate
kaiyou d99ad5fe3e Added translation using Weblate (Hungarian)
kaiyou b91c7f64ee Update messages.po (POEditor.com)
kaiyou d929413784 Update messages.po (POEditor.com)
kaiyou 91c8ca1279 Update messages.po (POEditor.com)
kaiyou c0263a2ae9 Update messages.po (POEditor.com)
kaiyou 80c57b597b Update messages.po (POEditor.com)
kaiyou 0566b00664 Update messages.po (POEditor.com)
kaiyou c939b30e6b Update messages.po (POEditor.com)
kaiyou 308521ff9a Update messages.po (POEditor.com)
kaiyou 0ca18035e1 Update messages.po (POEditor.com)
kaiyou 8bcb4deb7e Update messages.po (POEditor.com)
kaiyou 65a61ad5c8 Added translation using Weblate (Icelandic)
kaiyou 57385df15c Deleted translation using Weblate (Icelandic)
kaiyou cfc224352a Added translation using Weblate (Icelandic)
Zhuang Yuyao 67d5c8fcb3 distinguish disabled user in user list view by row color
Dario Ernst e22324adcd Make aliases case-insensitive (too)
Even though RFC5321 2.4 explains that local-parts are to be case-sensitive,
this does not seem to be how EMail is used today. Thus, instead of reverting
user-emails back to being case sensitive, let’s make aliases case-insensitive
too. Not only more consistent, this also allows users to enjoy receiving EMails
from large airlines or car-rental agencies onto their already existing aliases.

For the rare case of case sensitive aliases existing, let’s query for the
forced-lowercase alias only in the event that the preserved-case one isn’t
found …

closes 
hoellen 167e5a87e1 add sidebar toggle button
hoellen 92ef73fa74 update AdminLTE to version 2.4
mariooos 253ae9fad8 Open some admin sidebar links (Antispam, Webmail, Website, Help) in a new browser tab
Ionut Filip ac0fc41421
Merge branch 'master' into replace-gethostbyname
Ionut Filip dd7710951e
Replaced double quotes with single ones
Daniel Huber 7dcb2eb006
Add authentication for email relays
Ionut Filip 8d34756023 Increase dovecot mail max userip
Florian Peschka b9fd29a52f
Add extra newline to main.cf
This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section

see 
Ionut Filip 0ce0b5ec02 Fix addresses in front
Ionut Filip 4c25c83419 HOST_* and *_ADDRESS variables cleanup
Ionut Filip f9e3cd3c5d Use corret host_* variables
Ionut Filip 71d63c6e45 Fix redis resolve in imap
Ionut Filip ef49357eb3 Update redis urls
Ionut Filip 43abbf4d63 Resolve redis and add logging
bors[bot] 211136f9b1 Merge
934: Pass optional arguments to domain model r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Passing optional args to domain model when using cli.

### Related issue(s)
Fixes 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
bors[bot] d129733fac Merge
919: Install bash in alpine based images. r=mergify[bot] a=firvida

This fixes 

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.

## What type of PR?

bug-fix

## What does this PR do?

### Related issue(s)
- closes  

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Abel Alfonso Fírvida Donéstevez <abel@merchise.org>
hoellen 62511b723b
Merge branch 'master' into fix-doc-commands-1
Ionut Filip 4d2844c1f5 Fixed arguments passed to domain
Roman Hoellen 1dfef1609a add domain cli to docs
Ionut Filip cebc64a280 Resolve HOST_WEBMAIL in admin
Roman Hoellen bc617cf8ec replace _ with - in cli options
Tim Möhlmann 111dae351a
Fix typo in migration file
Fixes 
Abel Alfonso Fírvida Donéstevez 39444c794e Install bash in alpine based images.
This fix https://github.com/Mailu/Mailu/issues/918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.
bors[bot] 86b4242f82 Merge
886: Ipv6 support r=mergify[bot] a=muhlemmer

## What type of PR?

(Feature, enhancement, bug-fix, documentation) -> A bit of everything

## What does this PR do?

Document how to use ipv6nat. This, however triggers some kind of flaky behavior with the Docker DNS resolver, resulting in lookup failures between containers.  So all resolving needs to be done during container startup/configuration.

In order not to pollute every single start.py file, we've created a small library called [Mailu/MailuStart](https://github.com/Mailu/MailuStart). As an addition, this library also defines the template generation function, including its logging facility.

Note: `docker-compose.yml` downgrade is necessary, as IPv6 settings are not supported by the Docker Compose file format 3 😞  

### Related issue(s)
Supersedes  PR 
- Fixes  
- Hopefully helps with  and 

## No backport yet

This PR directly imports MailuStart from git. This makes it a bit more simple to implement on the short term an do some testing and probably some future improvements. When everything is proved stable, we will create a proper PyPi package with versioning and consider back porting.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
Tim Möhlmann 06457e9617
Merge branch 'master' into fix_fetches_create
cr1st1p 9b65a6c862
Merge branch 'master' into admin_create_user_enhancement
Ionut Filip f8dffe5a19
Resolve hosts in admin
Ionut Filip 004a431e97
Change to mailustart functions
Dario Ernst 34b31727c4 Fix password validator for creating fetched accounts
cristi a071181c61 Allow to automatically create admin account during startup.
hoellen fba246e9a1 add wildcard option to cli (alias)
Ionut Filip 9684ebf33f Use mailustart package from git
hoellen 808092c65e
Merge pull request from hoellen/token-ipv6
allow ipv6 addresses for tokens
Tim Möhlmann e341e0141f
Merge remote-tracking branch 'upstream/master' into token-ipv6
Manuel Vázquez Acosta dfe5ddb18e
Check if sender address is not null before trying to check the domain.
Tim Möhlmann fd236e4ea5
Fix syntax error
Tim Möhlmann 7a9685bcb9
Resolve admin during start to work around Docker DNS flaky-ness
nathan-sain 23bad0e042
Set value for SQLALCHEMY_DATABASE_URI in admin DEFAULT_CONFIG to SQLite URI
nathan-sain db8977e17a
Update SQLite DB file in DEFAULT_CONFIG and DB_TEMPLATES
hoellen 6dea8b422a
Merge pull request from hoellen/fix-create-onupdate-default
fix default value for created_at and updated_at
hoellen 79c4edcaf1
Merge pull request from hoellen/schema-maxUserQuota-1
Change quota columns type to BigInteger
hoellen 54169db7e3
Merge branch 'master' into fix-forward-validation
hoellen 9721df0bc5 fix default value for created_at and updated_at
Use date instead of datetime for created_at and updated_at.
hoellen cfa7ca3838 Merge branch 'master' into schema-maxUserQuota-1
hoellen f1e1c96c3b create migration file for changing quota to big integer
Ionut Filip 2d34f0ee52 Fixed auto-forward email validation
hoellen c8758a6526 allow ipv6 addresses for tokens
hoellen 2af540a1c9 change quota columns to bigint
Dario Ernst 66df7a31b0 Unify and coerce booleans from env used in admin
At some places, the string that DOMAIN_REGISTRATION is got used like a boolean
(an easy misassumption to make while in python and dealing with the config
dict), making `DOMAIN_REGISTRATION=False` act as a truthy value. To stop such
future problems from happening, coerce environment config strings to real
bools.

closes 
mergify[bot] 9175b15d49
Merge pull request from Nebukadneza/reverse_user_alias_pref
Reverse the resolution order of user and alias
mergify[bot] 278bcfb13a
Merge pull request from Nebukadneza/fix_delimiter_alias
Deliver mails to alias-stripped-of-delimeter, even if catchall exists
Dario Ernst 276dc3ffda Reverse the resolution order of user and alias
Since it’s common for wildcard~ish systems to prefer concrete objects over
wildcards, and aliases can be broad-wildcards (think catchall, %@xxx.tld), it
may be more intuitive for users that user-names rank higher than aliases. This
makes it impossible for user-names to be unreachable, since they can be
completely overridden by a catchall otherwise.

This changes default behavior, and is not configurable.

closes 
Tim Möhlmann 8541ae2c46
Fix migration order after merge
mergify[bot] 99cd1d714b
Merge pull request from hoellen/fix-domain-negative-values-1
don't allow negative values on domain creation/edit
Tim Möhlmann 2567646f47
Merge branch 'master' into fix-domain-negative-values-1
Ionut Filip 50343f354e Merge remote-tracking branch 'upstream/master' into feat-psql-support
Dario Ernst b8d1beed29 Simplify alias-wildcard detection to not consider actual % anymore
Dario Ernst 10d2601963 Unsimplify alias precedence handling
As discussed with hoellen on matrix, since postfix indeed supports including
the recipient delimiter character in a verbatim alias, we should support so too
— and handle its precedence correctly. The clearer and simpler formulation of
the precedence-clauses are credit to @hoellen. Thanks!
mergify[bot] b4822ad43e
Merge pull request from HorayNarea/fix-remove-fts
remove (broken) FTS
mergify[bot] 161394a774
Merge pull request from hoellen/fix-fetch-passwordfield-1
fix edit of fetched acc without changing password
Thomas Sänger 492f3867d8
remove (broken) FTS
Dario Ernst ac64a75743 Simplify alias precedence handling; Remove bogus changelog