profile
viewpoint

BigMichi1/Autokosten 1

Android-App for tracking costs of cars

BigMichi1/assetic 0

Asset Management for PHP

BigMichi1/assetmanager 0

AssetManager written for Laminas. Managing assets for Laminas application

BigMichi1/BazingaGeocoderBundle 0

Integration of the Geocoder library into Symfony2.

BigMichi1/DoctrineORMModule 0

Laminas Module for Doctrine ORM

BigMichi1/documentation 0

📘 Nextcloud documentation

BigMichi1/ftp-deployment 0

A tool for automated deployment of web applications to an FTP server.

BigMichi1/modoboa 0

Mail hosting made simple

issue commentbsorrentino/maven-confluence-plugin

links are not rendered correctly when link name contains []

the issue with the macro disappeared, very good, the only thing that is left is the wrong indention of "Happy Coding"

- An Aspect bean does not contain any `@Transactional` annotation

Happy Coding

## Properties

still shows this when published to confluence:

Screenshot_20200918_125652

but according to the md file it should render like this (screenshot taken from intellij):

Screenshot_20200918_125802

BigMichi1

comment created time in 7 days

issue commentbsorrentino/maven-confluence-plugin

links are not rendered correctly when link name contains []

using the fixed commonmark implementation works for the link issue, but 3 new issues appeared, I'm not sure if this is related to this ticket or it should be a new one:

  • after the end of an enumeration, the next paragraph/sentence/headline will be indented, so that it looks like it is included in the enumeration
  • a whitespace between two words is missing when there is a line break in an enumeration between these two words
  • when there is a { or } in an inline text the server fails with error 500 and says macro unknown

see sample markdown file in this file which contains all three issues check.zip

there 500 error is: Response{protocol=h2, code=500, message=, url=https://localhost/confluence/rest/api/content/1146889} [ERROR] {"statusCode":500,"data":{"authorized":false,"valid":true,"allowedInReadOnlyMode":true,"errors":[],"successful":false},"message":"com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro ' \"foo\", \"bar\" ' is unknown.","reason":"Internal Server Error"}

when removing this line the result looks like: Screenshot_20200916_090717 you can see here the missing whitespace between type and has, so on the page it is typehas, and also the wrong indention of "Happy Coding"

BigMichi1

comment created time in 9 days

issue commentbsorrentino/maven-confluence-plugin

deploy fails because page was not refreshed

we are hitting this issue https://jira.atlassian.com/browse/CONFSERVER-59196

BigMichi1

comment created time in 9 days

startedmabe02/lanterna

started time in 17 days

startedmabe02/lanterna

started time in 17 days

delete branch BigMichi1/modoboa

delete branch : patch-1

delete time in 19 days

issue commentnextcloud/server

Contacts sync broken since NC 19upgrade

is it possible to exclude contactsinteraction from being discovered?

BigMichi1

comment created time in 21 days

issue openedbsorrentino/maven-confluence-plugin

links are not rendered correctly when link name contains []

i have in a markdown file the following lines which are rendered

## Properties

| name | description | type | default values | since |
|------|-------------|------|----------------|-------|
| packagePatterns | regular expression | [String[]][stringArray] | `[]` | 1.2.0 |
| annotationNames | full qualified class name or simple class name of an annotation | [String[]][stringArray] | `[]` | 1.0.0 |

[stringArray]: https://checkstyle.sourceforge.io/property_types.html#String.5B.5D

these will be rendered as

Screenshot_20200904_104035

created time in 21 days

issue openedbsorrentino/maven-confluence-plugin

deploy fails because page was not refreshed

sometimes we have a strange issue when we are deploying the pages to confluence which results in the following error during deploy

[INFO] [ERROR] Response{protocol=h2, code=501, message=, url=https://confluence.mydomain.de/rest/api/content/361499519}
[INFO] [ERROR] {"statusCode":501,"message":"Unable to save changes to unreconciled page ContentId{id=361499519}. Refreshing the page should fix this.","reason":"Not Implemented"}
[INFO] [ERROR] -> [Help 1]

when this happens we found out that simply opening the page with the browser fixes this problem, so it means every time we are getting the error we open the link provided in the message which response with a JSON containing the name of the page we need to open with a web-browser.

it would be really really helpful if this step can be included as part of handling deploy failures, getting the URL from the failure response and doing a get call to this page

created time in 22 days

push eventBigMichi1/ftp-deployment

Renovate Bot

commit sha 17ee249b60720974d44669069ca42901e1887483

Update dependency phpseclib/phpseclib to v2.0.28

view details

Michael Cramer

commit sha 2d97c174fea38214696f42e4ac01e727e649688f

Merge pull request #3 from BigMichi1/renovate/phpseclib-phpseclib-2.x Update dependency phpseclib/phpseclib to v2.0.28

view details

push time in 25 days

PR merged BigMichi1/ftp-deployment

Update dependency phpseclib/phpseclib to v2.0.28 depedendencies devops

This PR contains the following updates:

Package Type Update Change
phpseclib/phpseclib (source) require patch 2.0.27 -> 2.0.28

Release Notes

<details> <summary>phpseclib/phpseclib</summary>

v2.0.28

Compare Source

  • SFTP: realpath('') produced an error (#​1474)
  • SFTP: if /path/to/file is a file then /path/to/file/whatever errors (#​1475)
  • SFTP: speed up uploads (by changing SFTP upload packet size from 4KB to 32KB)
  • ANSI: fix "Number of elements can't be negative" error

</details>


Renovate configuration

:date: Schedule: At any time (no schedule defined).

:vertical_traffic_light: Automerge: Enabled.

:recycle: Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

:no_bell: Ignore: Close this PR and you won't be reminded about this update again.


  • [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

+1 -1

0 comment

1 changed file

renovate[bot]

pr closed time in 25 days

push eventBigMichi1/ftp-deployment

Renovate Bot

commit sha 361c38b706dad6ef96494cf3bb96587c6e5585a6

Pin dependencies

view details

Michael Cramer

commit sha 527f06e1af2c711e308a1c53713e7430f69fa73a

Merge pull request #2 from BigMichi1/renovate/pin-dependencies Pin dependencies

view details

push time in 25 days

PR merged BigMichi1/ftp-deployment

Pin dependencies depedendencies devops

This PR contains the following updates:

Package Type Update Change
nette/tester (source) require-dev pin ^2.0 -> 2.3.3
phpstan/phpstan require-dev pin ^0.12 -> 0.12.40

:pushpin: Important: Renovate will wait until you have merged this Pin PR before creating any upgrade PRs for the affected packages. Add the preset :preserveSemverRanges to your config if you instead don't wish to pin dependencies.


Renovate configuration

:date: Schedule: At any time (no schedule defined).

:vertical_traffic_light: Automerge: Enabled.

:recycle: Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

:ghost: Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

This PR has been generated by WhiteSource Renovate. View repository job log here.

+2 -2

0 comment

1 changed file

renovate[bot]

pr closed time in 25 days

push eventBigMichi1/ftp-deployment

Renovate Bot

commit sha 988791214e000c2a61d2f7353e73f839273c3c72

Add renovate.json

view details

Michael Cramer

commit sha 2583b118b290f128db0ab82f55ee48ae724782ac

Update renovate.json

view details

Michael Cramer

commit sha 1e1f19b897bcb4cd2d6b37f71d1da6b0f2b41d40

Merge pull request #1 from BigMichi1/renovate/configure Configure Renovate

view details

push time in 25 days

PR merged BigMichi1/ftp-deployment

Configure Renovate

Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

:vertical_traffic_light: To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


Detected Package Files

  • composer.json (composer)

Configuration

:abcd: Renovate has detected a custom config for this PR. Feel free to ask for help if you have any doubts and would like it reviewed.

Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

What to Expect

With your current configuration, Renovate will create 2 Pull Requests:

<details> <summary>Pin dependencies</summary>

  • Schedule: ["at any time"]
  • Branch name: renovate/pin-dependencies
  • Merge into: master
  • Pin nette/tester to 2.3.3
  • Pin phpstan/phpstan to 0.12.40

</details>

<details> <summary>Update dependency phpseclib/phpseclib to v2.0.28</summary>

  • Schedule: ["at any time"]
  • Branch name: renovate/phpseclib-phpseclib-2.x
  • Merge into: master
  • Upgrade phpseclib/phpseclib to 2.0.28

</details>


:question: Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


This PR has been generated by WhiteSource Renovate. View repository job log here.

+5 -0

0 comment

1 changed file

renovate[bot]

pr closed time in 25 days

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 2583b118b290f128db0ab82f55ee48ae724782ac

Update renovate.json

view details

push time in 25 days

push eventBigMichi1/modoboa

Michael Cramer

commit sha 6298ab76010b9588162782dac0ae66ea400085d3

test against python 3.8

view details

push time in a month

PR opened modoboa/modoboa

bump gevent to 1.5.0

Description of the issue/feature this PR addresses: fixes #1875

Current behavior before PR: failed when running mx check on python 3.8

Desired behavior after PR is merged: mx check works again

+1 -1

0 comment

1 changed file

pr created time in a month

push eventBigMichi1/modoboa

Michael Cramer

commit sha 0cada520d65fda43353820e71d0597684ffc695a

bump gevent to 1.5.0 fixes #1875

view details

push time in a month

fork BigMichi1/modoboa

Mail hosting made simple

https://modoboa.org

fork in a month

issue commentmodoboa/modoboa

Crontab errors

its an issue in gevent, see https://github.com/gevent/gevent/issues/1491 i manually run pip install gevent===1.5.0 and the issue disappeared but i only got a warning during install that modoboa requires 1.4.0 but i see no issues so far

Compizfox

comment created time in a month

issue openednextcloud/server

Contacts sync broken since NC 19upgrade

<!-- Thanks for reporting issues back to Nextcloud!

Note: This is the issue tracker of Nextcloud, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.

Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.

Guidelines for submitting issues:

  • Please search the existing issues first, it's likely that your issue was already reported or even fixed.

    • Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldn’t find any repositories matching ..." then click "Issues" in the left navigation.
    • You can also filter by appending e. g. "state:open" to the search string.
    • More info on search syntax within github: https://help.github.com/articles/searching-issues
  • This repository https://github.com/nextcloud/server/issues is only for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth

  • SECURITY: Report any potential security bug to us via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/) instead of filing an issue in our bug tracker.

  • The issues in other components should be reported in their respective repositories: You will find them in our GitHub Organization (https://github.com/nextcloud/)

  • You can also use the Issue Template app to prefill most of the required information: https://apps.nextcloud.com/apps/issuetemplate -->

<!--- Please keep this note for other contributors -->

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. upgrade NC 18 to NC 19
  2. sync contacts on a mobile phone
  3. log messages appear that sync is not possible

Expected behaviour

sync contacts should be working again

Actual behaviour

currently it is not possible to sync the contacts withmy mobile phone anymore

Server configuration

Operating system: Ubuntu 18.04.05

Web server: Nginx

Database: PostgreSql 12

PHP version: 7.4.9 Nextcloud version: (see Nextcloud admin page) 19.0.1.1

Updated from an older Nextcloud/ownCloud or fresh install: updated from18

Where did you install Nextcloud from: updater

Signing status: <details> <summary>Signing status</summary>

No errors have been found.

</details>

List of activated apps: <details> <summary>App list</summary>

Enabled:
  - accessibility: 1.5.0
  - activity: 2.12.0
  - admin_audit: 1.9.0
  - announcementcenter: 3.8.1
  - apporder: 0.10.0
  - audioplayer: 2.11.2
  - audioplayer_editor: 0.2.2
  - bookmarks: 3.3.4
  - calendar: 2.0.3
  - circles: 0.19.5
  - cloud_federation_api: 1.2.0
  - comments: 1.9.0
  - contacts: 3.3.0
  - contactsinteraction: 1.0.0
  - dav: 1.15.0
  - deck: 1.0.5
  - extract: 1.2.4
  - federatedfilesharing: 1.9.0
  - federation: 1.9.0
  - files: 1.14.0
  - files_accesscontrol: 1.9.0
  - files_automatedtagging: 1.9.0
  - files_external: 1.10.0
  - files_pdfviewer: 1.8.0
  - files_retention: 1.8.2
  - files_rightclick: 0.16.0
  - files_sharing: 1.11.0
  - files_trashbin: 1.9.0
  - files_versions: 1.12.0
  - files_videoplayer: 1.8.0
  - firstrunwizard: 2.8.0
  - groupfolders: 7.0.0
  - impersonate: 1.6.1
  - logreader: 2.4.0
  - lookup_server_connector: 1.7.0
  - mail: 1.4.1
  - maps: 0.1.6
  - metadata: 0.12.0
  - news: 14.1.11
  - nextcloud_announcements: 1.8.0
  - notes: 3.6.4
  - notifications: 2.7.0
  - oauth2: 1.7.0
  - onlyoffice: 4.3.0
  - password_policy: 1.9.1
  - passwords: 2020.8.0
  - phonetrack: 0.6.4
  - photos: 1.1.0
  - privacy: 1.3.0
  - provisioning_api: 1.9.0
  - recommendations: 0.7.0
  - richdocuments: 3.7.3
  - serverinfo: 1.9.0
  - settings: 1.1.0
  - sharebymail: 1.9.0
  - sociallogin: 3.2.8
  - socialsharing_diaspora: 2.1.0
  - socialsharing_email: 2.1.0
  - socialsharing_facebook: 2.1.0
  - socialsharing_twitter: 2.1.0
  - spreed: 9.0.3
  - support: 1.2.1
  - survey_client: 1.7.0
  - systemtags: 1.9.0
  - tasks: 0.13.3
  - text: 3.0.1
  - theming: 1.10.0
  - twofactor_backupcodes: 1.8.0
  - twofactor_totp: 4.1.3
  - updatenotification: 1.9.0
  - user_external: 0.10.0
  - viewer: 1.3.0
  - workflowengine: 2.1.0
Disabled:
  - encryption
  - keeweb
  - radio
  - user_ldap

</details>

Nextcloud configuration: <details> <summary>Config report</summary>

{
    "system": {
        "debug": false,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "dbindex": 1
        },
        "trusted_domains": [
            "nextcloud"
        ],
        "dbtype": "pgsql",
        "version": "19.0.1.1",
        "overwrite.cli.url": "https:\/\/nextcloud",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mail_smtpmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpsecure": "tls",
        "maintenance": false,
        "theme": "",
        "loglevel": 1,
        "updater.release.channel": "stable",
        "defaultapp": "apporder",
        "user_backends": [
            {
                "class": "OC_User_IMAP",
                "arguments": [
                    "127.0.0.1",
                    143,
                    null,
                    "localhost",
                    true,
                    false
                ]
            }
        ],
        "app_install_overwrite": [
            "calendar",
            "maps",
            "piwik"
        ],
        "mail_sendmailmode": "smtp"
    }
}

</details>

Are you using encryption: no

Are you using an external user-backend, if yes which one: IMAP

Logs

<!--- Reports without logs might be closed as unqualified reports! -->

Nextcloud log (data/nextcloud.log)

<details> <summary>Nextcloud log</summary>

{
  "reqId": "Serl4k8FeffTZ0eEIqg9",
  "level": 4,
  "time": "2020-08-26T17:31:19+00:00",
  "remoteAddr": "127.0.0.1",
  "user": "michael",
  "app": "webdav",
  "method": "REPORT",
  "url": "/remote.php/dav/addressbooks/users/michael/z-app-generated--contactsinteraction--recent/",
  "message": {
    "Exception": "Sabre\\DAV\\Exception\\ReportNotSupported",
    "Message": "The {DAV:}sync-collection REPORT is not supported on this url.",
    "Code": 0,
    "Trace": [
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Sync/Plugin.php",
        "line": 64,
        "function": "syncCollection",
        "class": "Sabre\\DAV\\Sync\\Plugin",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "Sabre\\DAV\\Sync\\{closure}",
        "class": "Sabre\\DAV\\Sync\\Plugin",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 720,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "httpReport",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 474,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 251,
        "function": "invokeMethod",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 319,
        "function": "start",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/apps/dav/lib/Server.php",
        "line": 320,
        "function": "exec",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/apps/dav/appinfo/v2/remote.php",
        "line": 35,
        "function": "exec",
        "class": "OCA\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/remote.php",
        "line": 167,
        "args": [
          "/srv/www/nextcloud/docs/apps/dav/appinfo/v2/remote.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Sync/Plugin.php",
    "Line": 108,
    "CustomMessage": "--"
  },
  "userAgent": "Z-Push CardDAV/0.6.c",
  "version": "19.0.1.1"
}

</details>

created time in a month

issue openedmodoboa/modoboa-amavis

openenig quarantine page results in internal error - KeyError '?'

when the page is shown and a where normally the list with the emails is displayed an internal error appears

enabling debug shows this

KeyError at /quarantine/listing/
'?'

Request Method: GET
Request URL: https://myhost/quarantine/listing/?sort_order=-date&reset_page=true&_=1596699465583
Django Version: 2.2.15
Python Executable: /usr/bin/uwsgi-core
Python Version: 3.6.9
Python Path: ['.', '', '/srv/modoboa/env/lib/python36.zip', '/srv/modoboa/env/lib/python3.6', '/srv/modoboa/env/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/srv/modoboa/env/lib/python3.6/site-packages']
Server time: Do, 6 Aug 2020 09:37:46 +0200
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.sites',
 'django.contrib.staticfiles',
 'reversion',
 'ckeditor',
 'ckeditor_uploader',
 'rest_framework',
 'rest_framework.authtoken',
 'modoboa',
 'modoboa.core',
 'modoboa.lib',
 'modoboa.admin',
 'modoboa.transport',
 'modoboa.relaydomains',
 'modoboa.limits',
 'modoboa.parameters',
 'modoboa.dnstools',
 'modoboa_amavis',
 'modoboa_contacts',
 'modoboa_dmarc',
 'modoboa_pdfcredentials',
 'modoboa_postfix_autoreply',
 'modoboa_sievefilters',
 'modoboa_stats',
 'modoboa_webmail',
 'webpack_loader')
Installed Middleware:
('x_forwarded_for.middleware.XForwardedForMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'modoboa.core.middleware.LocalConfigMiddleware',
 'modoboa.lib.middleware.AjaxLoginRedirect',
 'modoboa.lib.middleware.CommonExceptionCatcher',
 'modoboa.lib.middleware.RequestCatcherMiddleware')


Traceback:

File "/srv/modoboa/env/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/lib/python3.6/contextlib.py" in inner
  52.                 return func(*args, **kwds)

File "/usr/lib/python3.6/contextlib.py" in inner
  52.                 return func(*args, **kwds)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  21.                 return view_func(request, *args, **kwargs)

File "/srv/modoboa/env/lib/python3.6/site-packages/modoboa_amavis/views.py" in _listing
  107.         }, request

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/loader.py" in render_to_string
  62.     return template.render(context, request)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/backends/django.py" in render
  61.             return self.template.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  171.                     return self._render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in _render
  163.         return self.nodelist.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  937.                 bit = node.render_annotated(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  150.             return compiled_parent._render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in _render
  163.         return self.nodelist.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  937.                 bit = node.render_annotated(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  62.                 result = block.nodelist.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  937.                 bit = node.render_annotated(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/loader_tags.py" in render
  188.             return template.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  173.                 return self._render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in _render
  163.         return self.nodelist.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  937.                 bit = node.render_annotated(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/defaulttags.py" in render
  209.                     nodelist.append(node.render_annotated(context))

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render_annotated
  904.             return self.render(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in render
  987.             output = self.filter_expression.resolve(context)

File "/srv/modoboa/env/lib/python3.6/site-packages/django/template/base.py" in resolve
  698.                 new_obj = func(obj, *arg_vals)

File "/srv/modoboa/env/lib/python3.6/site-packages/modoboa_amavis/templatetags/amavis_tags.py" in msgtype_to_html
  140.             color, constants.MESSAGE_TYPES[msgtype], msgtype))

Exception Type: KeyError at /quarantine/listing/
Exception Value: '?'
Request information:
USER: root@myhost

GET:
sort_order = '-date'
reset_page = 'true'
_ = '1596699465583'

POST: No POST data

FILES: No FILES data

COOKIES:
experimentation_subject_id = 'Ijk3NTkxNmQ1LWJiNjYtNGE4Ni1hZTQzLTYyNjNjN2QwMzY0NiI%3D--89c5beb075786790f5bf63e019b11781178c6cce'
csrftoken = 'sTV9r72yvvxeWIrWg4V6QCXGSs4XynnaEdloEw5VA1lgAVdlIVUedv0IVaR8lJRo'
sessionid = '7ae4h6e3grxne4s5chhpzkou5s0wi8uw'

META:
CONTENT_LENGTH = ''
CONTENT_TYPE = ''
CSRF_COOKIE = 'sTV9r72yvvxeWIrWg4V6QCXGSs4XynnaEdloEw5VA1lgAVdlIVUedv0IVaR8lJRo'
DOCUMENT_ROOT = '/srv/modoboa/instance'
HTTPS = 'on'
HTTP_ACCEPT = 'application/json, text/javascript, */*; q=0.01'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'de,en-US;q=0.9,en;q=0.8'
HTTP_CACHE_CONTROL = 'no-cache'
HTTP_COOKIE = 'experimentation_subject_id=Ijk3NTkxNmQ1LWJiNjYtNGE4Ni1hZTQzLTYyNjNjN2QwMzY0NiI%3D--89c5beb075786790f5bf63e019b11781178c6cce; csrftoken=sTV9r72yvvxeWIrWg4V6QCXGSs4XynnaEdloEw5VA1lgAVdlIVUedv0IVaR8lJRo; sessionid=7ae4h6e3grxne4s5chhpzkou5s0wi8uw'
HTTP_HOST = 'myhost'
HTTP_PRAGMA = 'no-cache'
HTTP_REFERER = 'https://myhost/quarantine/'
HTTP_SEC_FETCH_DEST = 'empty'
HTTP_SEC_FETCH_MODE = 'cors'
HTTP_SEC_FETCH_SITE = 'same-origin'
HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
PATH_INFO = '/quarantine/listing/'
QUERY_STRING = 'sort_order=-date&reset_page=true&_=1596699465583'
REMOTE_ADDR = '213.95.133.22'
REMOTE_PORT = '41816'
REQUEST_METHOD = 'GET'
REQUEST_SCHEME = 'https'
REQUEST_URI = '/quarantine/listing/?sort_order=-date&reset_page=true&_=1596699465583'
SCRIPT_NAME = ''
SERVER_NAME = 'myhost'
SERVER_PORT = '443'
SERVER_PROTOCOL = 'HTTP/2.0'
UWSGI_APPID = 'myhost|'
UWSGI_SCRIPT = 'instance.wsgi:application'
uwsgi.node = b'i7-4770'
uwsgi.version = b'2.0.15-debian'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7ff314915c48>
wsgi.multiprocess = True
wsgi.multithread = False
wsgi.run_once = False
wsgi.url_scheme = 'https'
wsgi.version = '(1, 0)'

Settings:
Using settings module instance.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = [('Administrator', 'root@myhost')]
ALLOWED_HOSTS = ['myhost']
AMAVIS_DEFAULT_DATABASE_ENCODING = 'utf8'
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = "('django.contrib.auth.backends.ModelBackend',)"
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'core.User'
BASE_DIR = '/srv/modoboa/instance'
BYTEA2BYTES = <psycopg2._psycopg.type 'BYTEA2BYTES' at 0x7ff31b72c3b8>
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
CKEDITOR_ALLOW_NONIMAGE_FILES = False
CKEDITOR_BROWSE_SHOW_DIRS = True
CKEDITOR_CONFIGS = {'default': {'allowedContent': True, 'toolbar': 'Modoboa', 'width': None, 'toolbar_Modoboa': [['Bold', 'Italic', 'Underline'], ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], ['BidiLtr', 'BidiRtl', 'Language'], ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent'], ['Undo', 'Redo'], ['Link', 'Unlink', 'Anchor', '-', 'Smiley'], ['TextColor', 'BGColor', '-', 'Source'], ['Font', 'FontSize'], ['Image'], ['SpellChecker']]}}
CKEDITOR_IMAGE_BACKEND = 'pillow'
CKEDITOR_RESTRICT_BY_USER = True
CKEDITOR_UPLOAD_PATH = 'uploads/'
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = True
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'modoboa', 'USER': 'modoboa', 'PASSWORD': '********************', 'HOST': '127.0.0.1', 'PORT': '', 'ATOMIC_REQUESTS': True, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}, 'amavis': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'amavis', 'USER': 'amavis', 'PASSWORD': '********************', 'HOST': '127.0.0.1', 'PORT': '', 'ATOMIC_REQUESTS': True, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
DATABASE_ROUTERS = ['modoboa_amavis.dbrouter.AmavisRouter']
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISABLE_DASHBOARD_EXTERNAL_QUERIES = False
DISALLOWED_USER_AGENTS = []
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS = []
INSTALLED_APPS = "('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.sites', 'django.contrib.staticfiles', 'reversion', 'ckeditor', 'ckeditor_uploader', 'rest_framework', 'rest_framework.authtoken', 'modoboa', 'modoboa.core', 'modoboa.lib', 'modoboa.admin', 'modoboa.transport', 'modoboa.relaydomains', 'modoboa.limits', 'modoboa.parameters', 'modoboa.dnstools', 'modoboa_amavis', 'modoboa_contacts', 'modoboa_dmarc', 'modoboa_pdfcredentials', 'modoboa_postfix_autoreply', 'modoboa_sievefilters', 'modoboa_stats', 'modoboa_webmail', 'webpack_loader')"
INTERNAL_IPS = []
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'de'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LOCALE_PATHS = []
LOGGING = {'version': 1, 'formatters': {'syslog': {'format': '%(name)s: %(levelname)s %(message)s'}}, 'handlers': {'mail-admins': {'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True}, 'syslog-auth': {'class': 'logging.handlers.SysLogHandler', 'facility': 4, 'address': '/dev/log', 'formatter': 'syslog'}, 'modoboa': {'class': 'modoboa.core.loggers.SQLHandler'}}, 'loggers': {'django': {'handlers': ['mail-admins'], 'level': 'ERROR', 'propagate': False}, 'modoboa.auth': {'handlers': ['syslog-auth', 'modoboa'], 'level': 'INFO', 'propagate': False}, 'modoboa.admin': {'handlers': ['modoboa'], 'level': 'INFO', 'propagate': False}}}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = '/accounts/profile/'
LOGIN_URL = '/accounts/login/'
LOGOUT_REDIRECT_URL = None
MANAGERS = []
MEDIA_ROOT = '/srv/modoboa/instance/media'
MEDIA_URL = '/media/'
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE = "('x_forwarded_for.middleware.XForwardedForMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'modoboa.core.middleware.LocalConfigMiddleware', 'modoboa.lib.middleware.AjaxLoginRedirect', 'modoboa.lib.middleware.CommonExceptionCatcher', 'modoboa.lib.middleware.RequestCatcherMiddleware')"
MIGRATION_MODULES = {}
MODOBOA_API_URL = '********************'
MODOBOA_APPS = "('modoboa', 'modoboa.core', 'modoboa.lib', 'modoboa.admin', 'modoboa.transport', 'modoboa.relaydomains', 'modoboa.limits', 'modoboa.parameters', 'modoboa.dnstools', 'modoboa_amavis', 'modoboa_contacts', 'modoboa_dmarc', 'modoboa_pdfcredentials', 'modoboa_postfix_autoreply', 'modoboa_sievefilters', 'modoboa_stats', 'modoboa_webmail')"
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT_DAYS = '********************'
PREPEND_WWW = False
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication', 'rest_framework.authentication.SessionAuthentication')}
ROOT_URLCONF = 'instance.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'postmaster@myhost'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = True
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'instance.settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = ['security.W019', 'fields.W342']
SITE_ID = 1
STATICFILES_DIRS = "('/srv/modoboa/env/lib/python3.6/site-packages/modoboa/bower_components',)"
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/srv/modoboa/instance/sitestatic'
STATIC_URL = '/sitestatic/'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'modoboa.core.context_processors.top_notifications'], 'debug': False}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'Europe/Berlin'
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WEBPACK_LOADER = {'CONTACTS': {'CACHE': False, 'BUNDLE_DIR_NAME': 'modoboa_contacts/', 'STATS_FILE': '/srv/modoboa/env/lib/python3.6/site-packages/modoboa_contacts/static/modoboa_contacts/webpack-stats.json', 'IGNORE': ['.+\\.hot-update.js', '.+\\.map']}, 'CALENDAR': {'CACHE': False, 'BUNDLE_DIR_NAME': 'modoboa_radicale/', 'STATS_FILE': '/srv/modoboa/env/lib/python3.6/site-packages/modoboa_radicale/static/modoboa_radicale/webpack-stats.json', 'IGNORE': ['.+\\.hot-update.js', '.+\\.map']}}
WSGI_APPLICATION = 'instance.wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y'


You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.

created time in 2 months

push eventBigMichi1/spring-boot

Michael Cramer

commit sha d3a6ae8ff744744477bafbd6d9c7973384bbe722

Upgrade AspectJ to 1.9.6 AspectJ 1.9.6 provides support for Java 14

view details

push time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

Michael Cramer

commit sha 189fbed260ac4114bf7da27dd7059e6459271c87

clarification of meta-annotations meta-annotations on meta-annotations are not supported

view details

push time in 2 months

issue commentEasyCorp/EasyAdminBundle

ChoiceFilter not recognized and rendered wrong when manually configured

as the filter does not have a method to format the value the only thing that I can do now is to translate the array before setting the choices.

BigMichi1

comment created time in 2 months

issue commentEasyCorp/EasyAdminBundle

ChoiceFilter not recognized and rendered wrong when manually configured

yes the field is defined as an integer in the entity

    /**
     * @var int
     * @Assert\NotNull()
     * @ORM\Column(name="STATUS", type="integer", nullable=false)
     */
    private $status = self::STATUS_ACTIVE;

maybe for now I will got with the translation approach mentioned in #3495, was just curious that translation is applied when the choice is rendered in edit / details vies but not when it is a filter

BigMichi1

comment created time in 2 months

issue openedEasyCorp/EasyAdminBundle

ChoiceFilter not recognized and rendered wrong when manually configured

Describe the bug I added a ChoiceField to the field list where it is working very fine, keys are translated, values are correctly saved. But when I add this field to the list of filters the filter is of the wrong type. Only specifying the name of the field results in a filter for numbers and the values passed to setChoices() are ignored. When I tried to add a dedicated ChoiceFilter to the filter list for status field and also setting the same values with setChoices() the filter is displayed correctly except that the keys are not translated. i think the filter should be correct even without the need of creating a dedicated ChoiceFilter() and when this is technically hard to achieve at least the keys should be translated when a ChoiceFilter is used in the same way like it is done for normal choices in the forms

To Reproduce I'm using EasyAdmin version 3.1.0

class DepartmentCrudController extends AbstractCrudController
{
    /** @var array<string, int> */
    private static $status = [
        'department.status.lead' => Department::STATUS_LEAD,
        'department.status.active' => Department::STATUS_ACTIVE,
        'department.status.retired' => Department::STATUS_RETIRED,
        'department.status.external' => Department::STATUS_EXTERNAL,
        'department.status.teenager' => Department::STATUS_TEENAGER,
        'department.status.child' => Department::STATUS_CHILD,
    ];

    public static function getEntityFqcn(): string
    {
        return Department::class;
    }

    public function configureCrud(Crud $crud): Crud
    {
        return $crud
            ->setEntityLabelInSingular('Department')
            ->setEntityLabelInPlural('Departments')
            ->setSearchFields(['name', 'shortName', 'status'])
            ->overrideTemplate('layout', 'admin/layout.html.twig');
    }

    public function configureFilters(Filters $filters): Filters
    {
        // must be added in that way because status filter is displayed as a number filter
        return $filters->add(ChoiceFilter::new('status')->setChoices(self::$status));
    }

    public function configureActions(Actions $actions): Actions
    {
        return $actions->add(Crud::PAGE_INDEX, Action::DETAIL);
    }

    public function configureFields(string $pageName): iterable
    {
        $name = TextField::new('name', 'department.name');
        $status = ChoiceField::new('status', 'department.status')->setChoices(self::$status);
        $shortName = TextField::new('shortName', 'department.short.name');

        return [$name, $shortName, $status];
    }
}

created time in 2 months

pull request commentOpenFeign/feign-annotation-error-decoder

Meta annotations support

the PR is now also against master as it is easier to add this functionality

BigMichi1

comment created time in 2 months

pull request commentOpenFeign/feign-annotation-error-decoder

Meta annotations support

@saintf i added some more test cases and also added the meta-annotations support to the README, would be nice if you can check again and let me know about further improvements

BigMichi1

comment created time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

Michael Cramer

commit sha 2752941244a5c3740249f9dfa763e47e72c9bbe5

add meta-annotations support to README

view details

push time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

Michael Cramer

commit sha 99e944244274b99e3fe5d08910e54ba171e1f0b4

add inheritance tests

view details

push time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

Michael Cramer

commit sha 1473a3268bdf79bae766693f90d249f9658df520

apply formatting rules

view details

push time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

Michael Cramer

commit sha ac110139e21c43ebc14463eee29bb25619bb2784

meta-annotation support

view details

push time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

saintf

commit sha 4cf668077feb6add29e04a5abade22d08de31576

[maven-release-plugin] prepare release 1.0.3

view details

saintf

commit sha d605ea50c9df6edba48a24ea3684a3e73bef0970

[maven-release-plugin] prepare for next development iteration

view details

Karl Muscat

commit sha 9edf93726c401e1ad1adbc5d8c60d2918bd31d96

- Fix for issue #4

view details

Karl Muscat

commit sha 66b86e9f13f60ef9f5a6e24bb7921f043b0ef557

Added missing license headers

view details

Fernando Saint-Jean

commit sha 59c0f701a9449e2ffcc416ee9022beff2546789b

Merge pull request #1 from karlmuscat/master merge karlmuscat's changes in

view details

Fernando Saint-Jean

commit sha 0bf4a75d6db238a15bef8550fa13baaf2f5e3427

updates things to work with new parent, but we do ignore gpg... not great.

view details

Fernando Saint-Jean

commit sha d046a08d4b659aa8aeef654097e25f964ee88f8d

inserts documentation change requested in #8

view details

Karl

commit sha 1eb0551273d9a73ec94ad498b1e72e580720534e

Merge pull request #1 from saintf/master changes required to compile with new parent pom (but ignores gpg...)

view details

Fernando Saint-Jean

commit sha 2768e45d8c0de9927d8a42f65a46a07f57ad229f

makes annotation be 'inherited' as requested in #10

view details

Fernando Saint-Jean

commit sha 956ce37df893f085b7d128b8228859d997aef354

Merge pull request #12 from karlmuscat/master upgrades to Feign 10.2.0

view details

Fernando Saint-Jean

commit sha c4f569a2ec0ef8e0d882b99b92c4d56d577df309

Merge pull request #2 from karlmuscat/master Merge pull request #1 from saintf/master

view details

Fernando Saint-Jean

commit sha e79b4ac19530e29b956669bc8dc751abdecfb123

Merge remote-tracking branch 'origin/master'

view details

Fernando Saint-Jean

commit sha 3295ddf7d590420b67d66fe8e44e41d90f831678

adds the ignoring of gpg to travis file

view details

Fernando Saint-Jean

commit sha e5f98c3f0c49230cb86b2a409fb29dd4d18e977a

updating version in preparation for release

view details

Fernando Saint-Jean

commit sha 329f344aa5e4b99ae8843d0cd864d210f7332d84

Merge pull request #15 from saintf/master ignores gpg signing which shouldn't be part of the build at this stage

view details

Fernando Saint-Jean

commit sha 20aa9838dac2f812698b098dff96913c32158e1c

resyncs the travis publish file

view details

Fernando Saint-Jean

commit sha ca73225a76c3924fd6f1779448e7690519bb8710

given tag is no longer usable, update the version manually

view details

Fernando Saint-Jean

commit sha 200e6a613dec9133d3403da2eadea543c218a5b4

given tag is no longer usable, update the version manually

view details

Fernando Saint-Jean

commit sha 4ce8f64abd1f8ca11768f1ded316fe2008105849

changes formatting as per java code style required

view details

Fernando Saint-Jean

commit sha ddd6dab306bc8915d969a3862b599f9fd4c2774a

Merge pull request #16 from saintf/master resyncs the travis publish file

view details

push time in 2 months

push eventBigMichi1/feign-annotation-error-decoder

SimY4

commit sha 878e0bfec62d3c51a8b14b5a9469fed9a99f949a

Fix compatibility with 10.7.0

view details

Fernando Saint-Jean

commit sha 546752425238f3d42d0ceec91d5c5af05841803e

Merge pull request #28 from SimY4/master Fix compatibility with 10.7.0

view details

push time in 2 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 90a84f3e51f5025a595b66398b848ca813a129a7

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 0665603220190b7f2cd9d5eaca048a2f0662d05a

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 9389363280a76de37a2877b38a55469dfb985b31

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 42ae50ddfeeeeedbfddf2a653f910d7113f4b31c

add phpseclib

view details

push time in 3 months

PR opened dg/ftp-deployment

additional server type using phpseclib
  • bug fix / new feature? #87
  • BC break? no

a first draft of implementing phpseclib/phpseclib to use as an additional way (similar to pecl ssh2 extension) of deploying, currently only username with a password is implemented.

i know that there were some discussions already ongoing to replace ssh2 PHP extension with that one, but this is not the idea of this extension. maybe to not include this server implementation, ftp-deployment can offer a way to add own implementations as a plugin

+168 -2

0 comment

4 changed files

pr created time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 5f43ecfbf34047e08747108e1d2663ec9a91096c

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 8864c8e446a871cdf4c178935a8ca0bbe0f23b6c

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha e2d74fdac7dd9320e888da49add9efc0afda77cc

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 5576ab99311c16047b8947f07ecf4f8af7b950b7

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 0640c74b26aae094e52a7e6d6c83b0ab188cf973

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 6f10a03ad649abca349020d940b6ffa7a399ebf1

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha e3ff45b08b5963808636f631d1a628ea50889655

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha d8a6a18b167474f5bfb675f98f8fd38622d516bc

add phpseclib

view details

push time in 3 months

push eventBigMichi1/ftp-deployment

Michael Cramer

commit sha 79e6a8aa968dfe7bb0cc815092157a958592ea94

add phpseclib

view details

push time in 3 months

fork BigMichi1/ftp-deployment

A tool for automated deployment of web applications to an FTP server.

https://nette.org

fork in 3 months

fork BigMichi1/phpseclib

PHP Secure Communications Library

http://phpseclib.sourceforge.net

fork in 3 months

issue commentFasterXML/jackson-databind

JsonCreator in Enums issues (allow JSON integer to be passed to `String` creator)

Ah. Hmmh. This is interesting case; 2.12 will add CoercionConfigs system to allow configuring these aspects, which up to 2.11 are implicit (although with some patchwork of global Features to try to disable). Most of my work so far has been to make String->Number/Boolean coercions explicit, but I haven't put much thought to Number->String, which for most purpose has been allowed (at least for String valued properties).

So I think such coercion should indeed work for Enums, especially given that only one Creator is processed. With that, I think I agree that:

  • In 2.11, String taking Creator for Enums SHOULD accept JSON Integer number values too
  • In 2.12, this coercion would check CoercionConfigs, defaulting to "allow".

Does this make sense?

makes sense, I would say String is some kind of fallback for everything in that case as also the BasicDeserializerFactory for enum keys is checking for a creator with a String argument, so it means String is an expected type anyway

BigMichi1

comment created time in 3 months

issue commentFasterXML/jackson-databind

JsonCreator in Enums issues

thats interesting that it worked by "accident".

So it means for 2.11.1 (assuming only one JsonCreator is allowed to be used):

  • when Object is used as an argument type everthing works
  • when JsonNode is used as an argument type everthing works
  • when Long is used a String can not be used anymore while in 2.10.4 it was calling the String creator
  • when String is used as an argument type the normal deserialization doesn't work anymore as it sends a number to the method

any chance to restore the behaviour from 2.10.4 when a Number is deserialized that it will call a String creator?

BigMichi1

comment created time in 3 months

issue openedFasterXML/jackson-databind

JsonCreator in Enums issues

after #2725 was finally resolved and released with 2.11.1 I had another try to upgrade from 2.10.4, as far as I have seen and tested it map keys are now working quite well but the upgrade broke the "normal" JsonCreator behaviour from 2.10.4 in enums.

It is quite hard to explain under which conditions it works and it doesn't but I was able to create one reproduced for the issue:

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Stream;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonVersionEnumUTest {
    public enum Foo {
        BAR(1), BAR2(2);

        private final long id;

        Foo(final long id) {
            this.id = id;
        }

        @JsonValue
        public long getId() {
            return id;
        }

        @JsonCreator
        public static Foo getByString(final String id) {
            return Stream.of(values()).filter(p -> Objects.equals(id, p.name())).findFirst().orElseGet(() -> getByLong(Long.parseLong(id)));
        }

        // @JsonCreator
        public static Foo getByObject(final Object id) {
            return getByString(id.toString());
        }

        // @JsonCreator
        public static Foo getByLong(final Long id) {
            return Stream.of(values()).filter(p -> p.id == Long.parseLong(id.toString())).findFirst().orElse(null);
        }
    }

    static class FooBar {
        private Map<Foo, String> fooStringMap;

        public Map<Foo, String> getFooStringMap() {
            return fooStringMap;
        }

        public void setFooStringMap(final Map<Foo, String> fooStringMap) {
            this.fooStringMap = fooStringMap;
        }

        @Override
        public String toString() {
            return "FooBar{" +
                    "fooStringMap=" + fooStringMap +
                    '}';
        }
    }

    // These tests are failing currently
    // with 2.10.4 because of a non working map deserialization
    // with 2.11.1 map deserialization is working but multiple creators are still not supported
    // multiple JsonCreators inside an enum are not considered as only on creator will be used for all creations
    // (cached and also inspection stops when the first one is found) order of the methods is not deterministic
    public static void main(@Nonnull final String[] args) throws JsonProcessingException {
        final ObjectMapper mapper1 = new ObjectMapper();
        final Foo foo1 = mapper1.readValue("1", Foo.class);
        System.out.println(foo1);

        final ObjectMapper mapper2 = new ObjectMapper();
        final Foo foo2 = mapper2.readValue("\"2\"", Foo.class);
        System.out.println(foo2);

        final ObjectMapper mapper3 = new ObjectMapper();
        final Foo foo3 = mapper3.readValue("\"BAR2\"", Foo.class);
        System.out.println(foo3);

        final HashMap<Foo, String> fooStringMap = new HashMap<>();
        fooStringMap.put(Foo.BAR, "Hello");
        fooStringMap.put(Foo.BAR2, "Hello");
        final FooBar fooBar = new FooBar();
        fooBar.setFooStringMap(fooStringMap);
        final ObjectMapper mapper4 = new ObjectMapper();
        final String fooBarJson = mapper4.writeValueAsString(fooBar);
        final ObjectMapper mapper5 = new ObjectMapper();
        final FooBar fooBar1 = mapper5.readValue(fooBarJson, FooBar.class);
        System.out.println(fooBar1);
    }

it would be nice if the original behaviour from 2.10.4 can be restored somehow plus also getting the map keys working as it is now with 2.11.1

created time in 3 months

more