Commit graph

1300 commits

Author SHA1 Message Date
Jens L 268de20872
Proxy v2 (#189) 2020-09-03 00:04:12 +02:00
Jens Langhammer 14e47f3195 flows: fix default flows not having titles 2020-09-02 13:05:34 +02:00
Jens Langhammer c39d136383 flows: add title field 2020-08-28 15:23:03 +02:00
Jens Langhammer a977184577 flows: export export/import functions in UI 2020-08-28 15:06:25 +02:00
dependabot-preview[bot] b2cb794865
build(deps): bump @patternfly/patternfly in /passbook/static/static (#192)
Bumps [@patternfly/patternfly](https://github.com/patternfly/patternfly) from 4.31.6 to 4.35.2.
- [Release notes](https://github.com/patternfly/patternfly/releases)
- [Changelog](https://github.com/patternfly/patternfly/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/patternfly/patternfly/compare/prerelease-v4.31.6...prerelease-v4.35.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-27 10:38:27 +02:00
Jens L 0e0898c3cf
Flow exporting/importing (#187)
* stages/*: Add SerializerModel as base model, implement serializer property

* flows: add initial flow exporter and importer

* policies/*: implement .serializer for all policies

* root: fix missing dacite requirement
2020-08-22 00:42:15 +02:00
dependabot-preview[bot] 8b17e8be99
build(deps): bump codemirror in /passbook/static/static (#185)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.56.0 to 5.57.0.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.56.0...5.57.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-21 10:52:03 +02:00
Jens Langhammer 9826bb4d01 root: fix sentry's being passed incorrectly 2020-08-20 23:12:54 +02:00
Jens Langhammer f7c629ec9b root: when error_reporting is enabled, don't sent pii data by default 2020-08-20 22:19:49 +02:00
Jens Langhammer e2aeb96a6a root: fix invalid import for clean_expired_models 2020-08-20 21:53:20 +02:00
Jens L ff810c689f
Replace Elastic APM with Sentry APM (#183) 2020-08-20 20:39:21 +02:00
Jens Langhammer 0eb94df1f7 providers/oauth2: fix redirect_uri not being checked correctly if multiple redirect_uris are configured 2020-08-20 16:41:00 +02:00
Jens Langhammer 0394adaf46 *: fix general Linting errors 2020-08-19 10:49:14 +02:00
Jens L c7a2410b1d
OAuth Provider Rewrite (#182) 2020-08-19 10:32:44 +02:00
dependabot-preview[bot] b9076b5fd4
build(deps): bump @patternfly/patternfly from 4.31.4 to 4.31.6 in /passbook/static/static (#179)
Bumps [@patternfly/patternfly](https://github.com/patternfly/patternfly) from 4.31.4 to 4.31.6.
- [Release notes](https://github.com/patternfly/patternfly/releases)
- [Changelog](https://github.com/patternfly/patternfly/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/patternfly/patternfly/compare/prerelease-v4.31.4...prerelease-v4.31.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-18 21:42:39 +02:00
Jens Langhammer 7923468a01 admin: fix incorrect view name for groups 2020-08-16 17:41:48 +02:00
Jens Langhammer bd25cadb71 lib: fix config possibly iterating None 2020-08-15 21:12:38 +02:00
Jens Langhammer 7334599efd *: update JSON fields to django 3.1 2020-08-15 21:04:22 +02:00
dependabot-preview[bot] 086a3c0548
build(deps): bump @patternfly/patternfly in /passbook/static/static
Bumps [@patternfly/patternfly](https://github.com/patternfly/patternfly) from 4.23.3 to 4.31.4.
- [Release notes](https://github.com/patternfly/patternfly/releases)
- [Changelog](https://github.com/patternfly/patternfly/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/patternfly/patternfly/compare/prerelease-v4.23.3...prerelease-v4.31.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-14 20:58:38 +00:00
Jens Langhammer 45df127f18 e2e: lock mailhog docker image 2020-08-14 17:55:44 +02:00
Jens Langhammer 55cf49bb8a root: attempt to fix broken e2e tests 2020-08-14 17:39:41 +02:00
Jens Langhammer 316ac78e49 new release: 0.9.0-stable 2020-08-01 22:17:59 +02:00
Jens Langhammer de2b67b111 providers/app_gw: improve templates 2020-08-01 22:13:12 +02:00
Jens Langhammer e1bbbe6671 providers/app_gw: disable client authz to use passbook 2020-08-01 20:53:55 +02:00
Jens Langhammer 8b3839343c providers/oidc: remove static lookup for OIDCProvider, get related object for app_gw 2020-08-01 20:53:33 +02:00
Jens Langhammer 7897ca4744 providers/app_gw: fix Client scopes and URLs 2020-08-01 20:33:38 +02:00
Jens Langhammer 1a21012911 providers/app_gw: fix URL Validation not working for internal and external host 2020-08-01 20:02:43 +02:00
Jens Langhammer d4a5269bf1 *: Adjust forms to only show respective types of Flows and PropertyMappings 2020-08-01 20:02:23 +02:00
Jens Langhammer fcf70a3cd4 providers/app_gw: Fix K8s template labels, add missing ISSUER_URL 2020-08-01 19:47:40 +02:00
Jens Langhammer 1a6dd00681 providers/saml: fix X509Data container linebreaks 2020-08-01 19:38:59 +02:00
Jens Langhammer 330bd0932b providers/saml: fix NotOnOrAfter using incorrect timestamp 2020-08-01 19:38:41 +02:00
Jens Langhammer c58658d820 new release: 0.9.0-rc2 2020-07-26 23:34:36 +02:00
Jens Langhammer a9b5e6ea13 flows: fix shell not showing spinner after submit 2020-07-26 22:15:50 +02:00
Jens Langhammer ddb0fdee98 providers/app_gw: generate docker-compose in code 2020-07-26 22:01:37 +02:00
Jens Langhammer 83205f1b49 providers/app_gw: use full URL with protocol for internal/external_host 2020-07-26 22:01:20 +02:00
Jens Langhammer ae629d1159 providers/oauth: remove LoginRequired from AuthorizationFlowInitView as user is redirected within 2020-07-25 21:36:50 +02:00
Jens Langhammer 72a6f9cbe0 providers/saml: remove LoginRequired from SAMLSSOView as user is redirected within 2020-07-25 21:36:28 +02:00
Jens Langhammer 9793b7461b providers/oidc: remove LoginRequired from AuthorizationFlowInitView as user is redirected within 2020-07-25 21:35:38 +02:00
Jens Langhammer 9c1a824dc4 providers/app_gw: fix Issuer URL being incorrect, fix incorrect length cookie secret 2020-07-25 21:34:14 +02:00
dependabot-preview[bot] 94f3e6d0c5
build(deps): bump codemirror in /passbook/static/static
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.55.0 to 5.56.0.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.55.0...5.56.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 05:16:34 +00:00
Jens Langhammer ffff69ada0 stages/consent: add unittests for new modes 2020-07-20 18:47:52 +02:00
Jens Langhammer 37a432267d Squashed commit of the following:
commit 88029a4335
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 16:55:55 2020 +0200

    admin: update to work with new form

commit 4040eb9619
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 16:43:30 2020 +0200

    *: remove path-based import from all PropertyMappings

commit c9663a08da
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 16:33:34 2020 +0200

    flows: update work with new stages

commit a3d92ebc0a
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 16:23:30 2020 +0200

    stages/*: remove path-based import from all stages

commit 6fa825e372
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 16:03:55 2020 +0200

    providers/*: remove path-based import from all providers

commit 6aefd072c8
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 15:58:48 2020 +0200

    policies/*: remove path-based import from all policies

commit ac2dd3611f
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 15:11:27 2020 +0200

    sources/*: remove path-based import from all sources

commit 74e628ce9c
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 14:43:38 2020 +0200

    ui: allow overriding of verbose_name

commit d4ee18ee32
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Mon Jul 20 14:08:27 2020 +0200

    sources/oauth: migrate from discordapp.com to discord.com
2020-07-20 18:17:14 +02:00
Jens Langhammer 50612991fa stages/consent: start implementing user consent 2020-07-20 13:19:58 +02:00
Jens Langhammer 37b2400cdb lib: move SAML timestring utils into lib 2020-07-20 11:35:16 +02:00
Jens Langhammer c60d1e1f9a core: separate expiry logic from tokens and make re-usable 2020-07-20 10:57:12 +02:00
dependabot-preview[bot] 5552aca079
build(deps): bump @patternfly/patternfly in /passbook/static/static
Bumps [@patternfly/patternfly](https://github.com/patternfly/patternfly) from 4.16.7 to 4.23.3.
- [Release notes](https://github.com/patternfly/patternfly/releases)
- [Changelog](https://github.com/patternfly/patternfly/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/patternfly/patternfly/compare/prerelease-v4.16.7...prerelease-v4.23.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 05:14:37 +00:00
Jens Langhammer ff2456dcfa root: clean log output, always show logger 2020-07-19 22:48:52 +02:00
dependabot-preview[bot] aff074420b
build(deps): bump @fortawesome/fontawesome-free
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.13.1 to 5.14.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.13.1...5.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 05:15:24 +00:00
Jens Langhammer edbea9ccff audit: fix list not having loginrequired
closes #127
2020-07-15 18:34:53 +02:00
Jens Langhammer 6b26e10ea2 new release: 0.9.0-rc1 2020-07-15 12:00:47 +02:00
Jens Langhammer e15f7d7f28 flows: fix potential open redirect vuln 2020-07-14 21:57:28 +02:00
Jens Langhammer fbf9554a9e flows: fix SESSION_KEY_GET being deleted too early 2020-07-14 21:42:47 +02:00
Jens Langhammer b452e751ea flows: add SESSION_KEY_APPLICATION_PRE
whenever a user tries to access an application without being authenticated to passbook, we now show notice which application they are going to continue to.
2020-07-12 22:47:46 +02:00
Jens Langhammer a3baa100d4 sources/saml: remove unused import 2020-07-12 18:55:26 +02:00
Jens Langhammer f7b9de1261 */saml: fix MetadataProcessor having generic namespace prefixes 2020-07-12 18:40:43 +02:00
Jens Langhammer 47ca566d06 sources/saml: fix MetadataProcessor not working, add unittests 2020-07-12 18:40:18 +02:00
Jens Langhammer a943d060d2 core: add separate autosubmit form for use without flows 2020-07-12 18:24:36 +02:00
Jens Langhammer 1675dab314 providers/saml: fix encoding for POST bindings 2020-07-12 17:58:38 +02:00
Jens Langhammer 996aa367d3 core: fix autosubmit_form loading full template 2020-07-12 17:45:03 +02:00
Jens Langhammer be6f342e58 providers/saml: fix RelayState being included when None given 2020-07-12 17:22:14 +02:00
Jens Langhammer 464b558a02 */saml: fix typo 2020-07-12 17:20:41 +02:00
Jens Langhammer d1151091cd providers/saml: Generate NameID Value based on NameID Policy received 2020-07-12 17:06:35 +02:00
Jens Langhammer f8e5383ba2 providers/saml: parse NameID Policy from AuthnRequest 2020-07-12 17:05:48 +02:00
Jens Langhammer 06f73512df lib/evaluator: add support for IP Address comparison 2020-07-12 16:36:49 +02:00
Jens Langhammer 0ff4545bab providers/saml: fix AuthnRequest Signature validation, add unittests 2020-07-12 16:17:53 +02:00
Jens Langhammer ff6e270886 sources/saml: fix AuthnRequest Singing for redirect bindings 2020-07-12 16:17:35 +02:00
Jens Langhammer 91766a2162 sources/saml: automatically add RelayState to build_auth_n_detached 2020-07-12 01:46:46 +02:00
Jens Langhammer a393097504 */saml: start implementing unittests, fix signing 2020-07-12 01:44:34 +02:00
Jens Langhammer 2056b86ce7 providers/saml: rewrite SAML AuthNRequest Parser and Response Processor 2020-07-11 14:06:42 +02:00
Jens Langhammer 1b0c013d8e providers/saml: remove processor_path field 2020-07-11 13:28:10 +02:00
Jens Langhammer 92a09be8c0 sources/saml: rewrite Processors and Views to directly build XML without templates 2020-07-11 01:02:55 +02:00
Jens Langhammer d74366f413 policies/hibp: update for flows, add unittests 2020-07-10 20:57:15 +02:00
Jens Langhammer 5bcf2aef8c policies/password: Add Password Policy tests, update password policy for flows 2020-07-10 20:53:08 +02:00
Jens Langhammer 8de3c4fbd6 sources/ldap: improve unittests 2020-07-10 20:21:51 +02:00
Jens Langhammer 7ac4242a38 e2e: add test for OAuth Enrollment -> OAuth Authentication 2020-07-10 00:14:48 +02:00
Jens Langhammer 4caa4be476 sources/oauth: fix UserOAuthSourceConnection not being assigned to user after enrollment
sources/oauth: separate handle_new_connection into handle_existing_user_link and handle_enroll
2020-07-10 00:07:59 +02:00
Jens Langhammer c6d8bae147 e2e: generate dex config dynamically 2020-07-09 23:15:22 +02:00
Jens Langhammer c70310730a sources/oauth: split up single large "core" views 2020-07-09 23:09:32 +02:00
Jens Langhammer 2d2b2d08f4 core: fix source slug not being unique 2020-07-09 23:05:46 +02:00
Jens Langhammer 8fe6a5b62d stages/prompt: fix checkbox not working, fix date and datetime not using HTML5 input types 2020-07-09 22:55:44 +02:00
Jens Langhammer 64c47a59f8 e2e: add tests for OAuth Source, update tests for new base templates 2020-07-09 00:53:18 +02:00
Jens Langhammer 9518cefdd7 flows: fix default-source-enrollment-if-username expression 2020-07-09 00:20:42 +02:00
Jens Langhammer 32d5c26577 core: fix base_full template missing messages 2020-07-09 00:18:45 +02:00
Jens Langhammer ef2cdf27b3 stages/prompt: add static and separator elements 2020-07-09 00:00:15 +02:00
Jens Langhammer e58ac7ae90 polices: add helper to remove None-value keys from dict for policies 2020-07-08 23:07:16 +02:00
Jens Langhammer d786fa4b7c sources/oauth: rewrite to not directly create user, pre-seed data into flow 2020-07-08 20:39:20 +02:00
Jens Langhammer 0e3e73989d sources/saml: Add NameID Policy field, sent with AuthnRequest 2020-07-08 16:18:09 +02:00
Jens Langhammer d831599608 core: make autosubmit_form generic template 2020-07-08 14:27:58 +02:00
Jens Langhammer 1e57926603 sources/saml: add POST_AUTO binding which auto redirects to IdP 2020-07-08 14:18:08 +02:00
Jens Langhammer 1524880eec core: add generic login/base_full template for static login views 2020-07-08 14:17:29 +02:00
Jens Langhammer 0bfb623f97 providers/saml: fix autosubmit_form using wrong template 2020-07-08 14:12:44 +02:00
Jens Langhammer 429627494c root: fix passbook.footer_links not being rendered 2020-07-08 13:18:33 +02:00
Jens Langhammer c7f078ffcc new release: 0.9.0-pre7 2020-07-07 22:34:44 +02:00
Jens Langhammer 571cb3d65f sources/oauth: disable twitter source while its broken 2020-07-07 22:25:50 +02:00
Jens Langhammer 8c500c38b1 policies/reputation: only change score when credentials contain username 2020-07-07 22:25:37 +02:00
Jens Langhammer 5644e57e6a sources/oauth: directly call AuthorizedServiceBackend instead of authenticate() 2020-07-07 22:23:45 +02:00
Jens Langhammer cfc181eed1 sources/oauth: fix wrong comparions
closes #118
2020-07-07 21:46:16 +02:00
Jens Langhammer 91bea38b8e lib: ignore APM errors 2020-07-07 21:45:36 +02:00
Jens Langhammer d95c5aa739 root: allow changing of APM verify_server_cert setting 2020-07-07 19:59:32 +02:00
Jens Langhammer 0b250b897e new release: 0.9.0-pre6 2020-07-07 19:14:29 +02:00
Jens L c6880a0f16
Merge pull request #117 from BeryJu/apm
Support for Elastic APM
2020-07-07 18:48:40 +02:00
Jens Langhammer 231e448b1a lib/eval: fix import order 2020-07-07 18:05:38 +02:00
Jens Langhammer b3b8cd807d root: expose APM settings in helm chart 2020-07-07 17:54:07 +02:00
Jens Langhammer 9021bbd5de root: implement APM support 2020-07-07 17:43:10 +02:00
Jens Langhammer 169475ab39 crypto: add colon seperator for fingerprint 2020-07-07 17:05:31 +02:00
Jens Langhammer c00e01626e sources/ldap: adjust task schedule name 2020-07-07 17:04:07 +02:00
Jens Langhammer 05d4a9ef62 policies/reputation: rewrite to save score into cache and save into DB via worker 2020-07-07 17:03:57 +02:00
Jens Langhammer 17a2ac73e7 stages/user_write: add signals 2020-07-07 15:49:02 +02:00
Jens Langhammer 6bc6f947dd stages/invitation: move invite signals from core to app 2020-07-07 15:46:13 +02:00
Jens Langhammer 363940ee8d root: fix API requests erroring 2020-07-07 14:02:20 +02:00
Jens Langhammer b12182c1d1 admin: improve overview layout 2020-07-07 13:13:15 +02:00
Jens Langhammer d8f27f595a admin: use django cache for admin version (expiry) 2020-07-07 13:12:54 +02:00
Jens Langhammer 2dc1b65718 ui: fix modal layout 2020-07-06 20:50:14 +02:00
Jens Langhammer af22f507f4 sources/oauth: fix template for user settings 2020-07-06 17:48:53 +02:00
Jens Langhammer 9958019bf3 core: fix user's sidebar links for sources 2020-07-06 17:46:41 +02:00
Jens Langhammer 02d65972cb admin: fix submit button on update form 2020-07-06 17:46:30 +02:00
Jens Langhammer 24ad893350 admin: fix token_list template 2020-07-06 17:43:20 +02:00
Jens Langhammer 094d191bff new release: 0.9.0-pre5 2020-07-06 12:52:34 +02:00
Jens Langhammer 78e5d471e3 core: fix type annotation for user settings 2020-07-05 23:49:33 +02:00
Jens Langhammer 2e2c9f5287 api: add token authentication 2020-07-05 23:37:58 +02:00
Jens Langhammer d5a3e09a98 core: add token Intents 2020-07-05 23:14:57 +02:00
Jens Langhammer 2402cfe29d providers/* use name for __str__ 2020-07-05 23:00:40 +02:00
Jens Langhammer 26613b6ea9 core: fix application overview 2020-07-05 22:58:52 +02:00
Jens Langhammer e5165abf04 stages/user_login: Allow changing of session duration 2020-07-04 15:20:45 +02:00
Jens Langhammer b26882a450 flows: FlowStageBinding group Stage by type 2020-07-04 15:02:21 +02:00
Jens Langhammer 94281bee88 admin: improve policy binding listing by showing Target object type 2020-07-04 00:18:19 +02:00
Jens Langhammer 16b966c16e policies: Show grouped Dropdown for Target 2020-07-04 00:16:16 +02:00
Jens Langhammer d3b0992456 flows: FlowStageBinding: rename .flow to .target to fix select_subclasses() 2020-07-04 00:14:21 +02:00
Jens Langhammer 1d9c92d548 admin: add generic form tests 2020-07-02 22:29:30 +02:00
Jens Langhammer bead19c64c flows: cleanup denied view, use everywhere 2020-07-02 13:48:42 +02:00
Jens Langhammer ae83ee6d31 providers/saml: fix access result not being checked properly 2020-07-02 00:23:52 +02:00
Jens Langhammer 4701374021 admin: remove duplicate code into new base classes 2020-07-02 00:13:33 +02:00
Jens Langhammer bd40585247 providers/samlv2: remove SAMLv2 from master 2020-07-01 23:21:58 +02:00
Jens Langhammer cc0b8164b0 providers/*: use PolicyAccessMixin to simplify 2020-07-01 23:18:10 +02:00
Jens Langhammer 310b31a8b7 core: fix linting 2020-07-01 22:35:38 +02:00
Jens Langhammer 13900bc603 lib: cleanup unused widgets 2020-07-01 22:27:58 +02:00
Jens Langhammer 6634cc2edf root: add group_membership policy 2020-07-01 21:18:05 +02:00
Jens Langhammer 3478a2cf6d admin: add filter to hide classes with __debug_only__ when Debug is disabled 2020-07-01 18:53:13 +02:00
Jens Langhammer 3b70d12a5f *: rephrase strings 2020-07-01 18:40:52 +02:00
Jens Langhammer 219acf76d5 core: fix forms for radio buttons 2020-07-01 12:47:27 +02:00
Jens Langhammer ec6f467fa2 ui: Make Checkbox label click trigger checkbox toggle 2020-07-01 12:37:13 +02:00
Jens Langhammer 0e6561987e admin: fix user and group create not triggering sidebar 2020-07-01 12:36:44 +02:00
Jens Langhammer 62c20b6e67 admin: add list of all tokens 2020-07-01 12:27:30 +02:00
Jens Langhammer 13084562c5 admin: fix Password Recovery function not working 2020-07-01 12:10:12 +02:00
Jens Langhammer 02c1c434a2 core: update styling of impersonate banner 2020-07-01 12:01:58 +02:00
Jens Langhammer 5f04a75878 new release: 0.9.0-pre4 2020-07-01 09:50:21 +02:00
Jens Langhammer 89c33060d4 core: fix user settings sidebar buttons not being enabled 2020-06-30 21:26:43 +02:00
Jens Langhammer b61f595562 core: ensure user settings are sorted by name 2020-06-30 21:24:58 +02:00
Jens Langhammer ce2230f774 stages/otp_*: update user setting design 2020-06-30 21:23:37 +02:00
Jens Langhammer c59c6aa728 stages/*: minor UI updates, cleanup 2020-06-30 19:06:41 +02:00