Commit Graph

1023 Commits

Author SHA1 Message Date
Jens Langhammer 406f69080b Revert "*: providers and sources -> channels, PolicyModel to PolicyBindingModel that uses custom M2M through"
This reverts commit 7ed3ceb960.
2020-05-16 16:02:42 +02:00
Jens Langhammer 2ce31dfaa5 root: upgrade django-dbbackup 2020-05-16 14:54:18 +02:00
Jens Langhammer 7ed3ceb960 *: providers and sources -> channels, PolicyModel to PolicyBindingModel that uses custom M2M through 2020-05-16 14:03:57 +02:00
Jens Langhammer 615cd7870d stages/email: add field to select E-Mail and subject 2020-05-15 14:50:23 +02:00
Jens Langhammer b907105f4a policies/expression: expose python requests via expression, remove webhook policy 2020-05-15 12:02:41 +02:00
Jens Langhammer 023423c6e7 stages/password: show password forgotten prompt when recovery flow configured 2020-05-15 11:01:02 +02:00
Jens Langhammer a5319fc2fe *: rename templatetags to clearly identify 2020-05-15 10:54:31 +02:00
Jens Langhammer 814c797c64 stages/prompt: add policy verification logic 2020-05-14 15:48:23 +02:00
Jens Langhammer 776ad3cfbf policies/expression: add pb_log function to debug 2020-05-14 15:48:08 +02:00
Jens Langhammer 74ddf70cb7 policy: add context to PolicyRequest 2020-05-14 15:47:56 +02:00
Jens Langhammer a7a839a29c stages/prompt: promptstage based on PolicyBindingModel 2020-05-14 13:51:35 +02:00
Jens Langhammer 9859c5db0a policies: add API for policybindings 2020-05-14 13:51:05 +02:00
Jens Langhammer 43a583e2d2 stages/invitation: add unittests 2020-05-13 23:20:27 +02:00
Jens Langhammer f289025d8e stages/user_delete: fix missing API, fix missing tests 2020-05-13 23:20:07 +02:00
Jens Langhammer 80c3246333 policies/expression: add pb_flow_plan variable 2020-05-13 18:44:36 +02:00
Jens Langhammer 461fed5567 admin: remove more duplicate code 2020-05-13 13:45:57 +02:00
Jens Langhammer d5f6714ed7 admin: remove redundant code 2020-05-13 11:57:19 +02:00
Jens Langhammer c42ed6bc99 admin: sort types, minor fixups 2020-05-13 11:57:10 +02:00
Jens Langhammer 57fed2b92b stages/user_delete: fix formatting 2020-05-12 15:23:17 +02:00
Jens Langhammer e45b33c6c2 stages/user_delete: add user delete stage, remove view from core 2020-05-12 14:50:00 +02:00
Jens Langhammer 137e90355b flows: default-auth -> default-authentication 2020-05-12 14:49:47 +02:00
Jens Langhammer 7500e622f6 stages/invitation: start extracting invitation from core 2020-05-11 21:58:02 +02:00
Jens Langhammer d49c58f326 flows: fix linting 2020-05-11 21:27:46 +02:00
Jens Langhammer 9814d3be03 flows: add Planner and Executor unittests 2020-05-11 15:01:14 +02:00
Jens Langhammer fc9f86cccc lib: use TemplateResponse for bad_request_message 2020-05-11 14:08:04 +02:00
Jens Langhammer 6fd19c0a37 flows: add caching of plan, add planner unittests 2020-05-11 11:39:58 +02:00
Jens Langhammer 10cb412532 flows: fix linting of migrations 2020-05-11 09:08:15 +02:00
Jens Langhammer e12780f78f flows: add invalidation designation, use as default logout action 2020-05-11 01:12:57 +02:00
Jens Langhammer 9dec13c225 stages/user_logout: add logout stage 2020-05-11 01:12:14 +02:00
Jens Langhammer 69120da45c core: remove redundant views/forms 2020-05-11 00:49:48 +02:00
Jens Langhammer 5b2bf7519a stages/user_create -> user_write: Stage can create and update existing users 2020-05-10 23:38:15 +02:00
Jens Langhammer 631cf77f89 stages/captcha: add tests 2020-05-10 21:43:30 +02:00
Jens Langhammer 6676e95011 stages/email: add tests, cleanup 2020-05-10 21:43:22 +02:00
Jens Langhammer 3219cffb52 stages/email: add logic to verify token 2020-05-10 21:00:04 +02:00
Jens Langhammer d4f149bc02 stages/email: add form for sending email to prevent spam
stages/email: make token validity configurable
2020-05-10 20:50:27 +02:00
Jens Langhammer 206cf4967d stages/identification: add more templates 2020-05-10 20:24:47 +02:00
Jens Langhammer a67c53f46a stages/email: start rewriting templates, add template tags to embed CSS and images 2020-05-10 20:16:58 +02:00
Jens Langhammer e989c61793 core: reduce default nonce time to 30 minutes 2020-05-10 20:15:56 +02:00
Jens Langhammer 99bab03cce flows: add check if current plan matches current flow 2020-05-10 20:15:24 +02:00
Jens Langhammer a7567ad8c6 stages/identification: add recovery support 2020-05-10 18:45:16 +02:00
Jens Langhammer 2ffa2fc6b8 admin: update templates and stage views 2020-05-10 18:44:58 +02:00
Jens Langhammer 8de87d9acb stages/identification: test signup notice 2020-05-10 18:17:24 +02:00
Jens Langhammer 1d03b36750 stages/identification: show sign up url when related flow exists 2020-05-10 18:14:10 +02:00
Jens Langhammer 8dc3c49a2f stages/user_create: add stage to create user after prompts 2020-05-10 18:04:23 +02:00
Jens Langhammer f6461b08d7 stages/prompt: add unittests 2020-05-10 17:52:26 +02:00
Jens Langhammer a3a3dde1c8 stages/dummy: add unittests
stages/password: improve coverage
stages/user_login: improve coverage
2020-05-10 17:02:01 +02:00
Jens Langhammer f111604b70 stages/login: -> stages/user_login: rename login to user_login for user_create stage 2020-05-10 16:20:44 +02:00
Jens Langhammer 4315d1a03c stages/prompt: add prompt stage: dynamically created forms based on database 2020-05-10 16:20:17 +02:00
Jens Langhammer 9def45c8d7 stages/identification: fix label for inputs 2020-05-10 15:29:27 +02:00
Jens Langhammer 358922b09b lib/ui: fix human_list for lists with one item 2020-05-10 15:29:10 +02:00
Jens Langhammer fbc3ac6b30 flows: make FlowExecutor fully working without pending user 2020-05-10 15:28:52 +02:00
Jens Langhammer 4f785da452 root: fix migrations for CI 2020-05-10 13:06:38 +02:00
Jens Langhammer ff4bd1c91f root: increase testing verbosity to debug CI 2020-05-10 12:50:58 +02:00
Jens Langhammer 7a96f9e894 policies/dummy: fix migrations 2020-05-10 12:27:10 +02:00
Jens Langhammer c27d257146 core: fix migrations 2020-05-10 12:07:40 +02:00
Jens Langhammer 9bccf9bb0a policies/dummy: separate dummy policy from core into app 2020-05-10 02:14:55 +02:00
Jens Langhammer c0b05a62f4 stages/password: add unittests 2020-05-10 02:00:38 +02:00
Jens Langhammer c140c39d07 stages/login: add unittests 2020-05-10 01:02:04 +02:00
Jens Langhammer 9a700e506b stages/identification: simplify unittests 2020-05-10 01:01:58 +02:00
Jens Langhammer 8e488670ad stages/identification: load uid_fields from stage in form, add more unit tests 2020-05-10 00:05:36 +02:00
Jens Langhammer fd5b2298e5 flows: fix unittests and migrations 2020-05-09 23:31:35 +02:00
Jens Langhammer caeaf8d5a9 stages/identification: optimise User lookup query 2020-05-09 23:20:20 +02:00
Jens Langhammer c46f0781fc flows: separate final login step from flow executor 2020-05-09 23:19:36 +02:00
Jens Langhammer 0aad0604d8 stages/identification: migrate from core to separate stage 2020-05-09 21:31:29 +02:00
Jens Langhammer 131c3fdb32 stages/password: fix broken authentication 2020-05-09 21:30:12 +02:00
Jens Langhammer 8a6009c278 flows: enum to django TextChoices 2020-05-09 20:54:56 +02:00
Jens Langhammer 3456527f10 providers/saml: fix minor typing issue 2020-05-09 20:54:11 +02:00
Jens Langhammer 28b913136d root: set log level based on DEBUG flag 2020-05-09 20:53:47 +02:00
Jens Langhammer f700899640 stages/password: fix possibility of password in logs 2020-05-09 20:53:32 +02:00
Jens Langhammer 212e966dd4 factors: -> stage 2020-05-08 20:59:51 +02:00
Jens Langhammer 08c0eb2ec6 admin: add flows 2020-05-08 18:45:53 +02:00
Jens Langhammer 872ecd93a6 flows: add to api and add forms 2020-05-08 18:29:18 +02:00
Jens Langhammer f8af9d6ce0 flows: make sure flow_slug is logged consistently 2020-05-08 17:18:43 +02:00
Jens Langhammer c3e43a7c2f flows: fix denied view not being registered 2020-05-08 16:50:50 +02:00
Jens Langhammer 273af0f1cb core/auth: fix unittests for flows 2020-05-08 16:43:22 +02:00
Jens Langhammer 2a85e5ae87 flows: complete migration to FlowExecutorView, fully use context 2020-05-08 16:10:27 +02:00
Jens Langhammer 114bb1b0bd flows: implement planner, start new executor 2020-05-08 14:33:14 +02:00
Jens Langhammer 97b5d120f8 providers/oauth: fix default cors settings 2020-05-08 11:26:26 +02:00
Jens Langhammer e1f0fe45cb static: fix dashes being removed from slugs 2020-05-08 11:26:12 +02:00
Jens Langhammer 5400882d78 flows/: more migration progress, consolidate views 2020-05-07 21:30:52 +02:00
Jens Langhammer 8de66b27ad flows/*: Initial flows stage1 implementation 2020-05-07 20:51:06 +02:00
Jens Langhammer 179f0097c0 provider/samlv2: more samlv2 progres 2020-05-07 19:25:15 +02:00
Jens Langhammer b40bffdf38 providers/samlv2: start implementing new SAML Provider 2020-05-07 01:20:08 +02:00
Jens Langhammer 813dd2894f *: add pyright type checking 2020-05-07 00:32:03 +02:00
Jens Langhammer 80d90b91e8 core: add general admin.py loader, remove individual files 2020-05-07 00:05:10 +02:00
Jens Langhammer fff05e35ac providers/saml: optionally verify SAML Signature 2020-05-06 18:03:12 +02:00
Jens Langhammer 75bb59a22a ui: fix help text not being shown for checkboxes 2020-05-06 17:59:19 +02:00
Jens Langhammer aac7e6be90 lib: fix ram usage due to bootstrap
bootstrap now exits (0) when all services are up, instead continuously running. This is combined with a simple bash script, which does this job instead.

This also adds /bootstrap.sh as docker ENTRYPOINT
2020-04-22 11:45:11 +02:00
Jens Langhammer c77f4204c0 new release: 0.8.15-beta 2020-04-10 21:57:20 +02:00
Jens Langhammer 5f4452470b providers/saml: fix metadata rendering when no singing keypair is selected
closes PASSBOOK-44
2020-04-10 21:54:23 +02:00
Jens Langhammer 9a1270c693 providers/saml: fix wrong signing property being checked
closes PASSBOOK-45
2020-04-10 21:52:03 +02:00
Jens Langhammer 7b9d1a1159 new release: 0.8.14-beta 2020-04-10 21:23:55 +02:00
Jens Langhammer e43db2e065 new release: 0.8.13-beta 2020-04-10 21:11:24 +02:00
Jens Langhammer d1c74d2160 lib: fix imports being changed every time 2020-03-05 17:28:03 +01:00
Jens Langhammer f2119ce567 providers/saml: fix signing_kp typo 2020-03-05 17:09:08 +01:00
Jens Langhammer f2154d9875 crypto: add property for private_key 2020-03-04 19:43:18 +01:00
Jens Langhammer 80a50f9bdb providers/saml: switch to new crypto 2020-03-03 23:35:50 +01:00
Jens Langhammer dc8b89a6b9 sources/saml: switch to new crypto 2020-03-03 23:35:38 +01:00
Jens Langhammer 8df55f22aa crypto: implement simple certificate-key pair for easier management 2020-03-03 23:35:25 +01:00
Jens Langhammer f6c322be27 providers/oidc: fix skip_authorization not being synced to oidc_client 2020-03-02 17:40:38 +01:00
Jens Langhammer a144552059 providers/oidc: fill claims with userinfo 2020-03-01 22:55:56 +01:00
Jens Langhammer 535d529193 ui: fix title, fix navigation on user settings 2020-02-29 14:46:58 +01:00
Jens Langhammer 6ed2e137a2 new release: 0.8.12-beta 2020-02-28 11:54:03 +01:00
Jens Langhammer 45bd63c720 api: update old field names 2020-02-28 11:48:55 +01:00
Jens Langhammer 736e13fc35 ui: add template for csrf errors 2020-02-28 11:41:28 +01:00
Jens Langhammer 966fff008c ui: re-enable branding on navbar 2020-02-28 11:37:07 +01:00
Jens Langhammer 64f15eadbd providers/saml: fix CSRF errors with POST binding 2020-02-28 10:50:16 +01:00
Jens Langhammer 81b66ecdcd core: remove some more dead code, add more help texts for factors 2020-02-27 16:39:30 +01:00
Jens Langhammer 53e5cf7826 admin: fix some models not being paginated 2020-02-27 15:30:28 +01:00
Jens Langhammer 82654b3fd9 ui: re-organize some of the navigation to make it cleaner for end-users 2020-02-27 14:59:34 +01:00
Jens Langhammer 9b72c604dd docs: fix some typos 2020-02-27 13:00:55 +01:00
Jens Langhammer 5fb1b8044c new release: 0.8.11-beta 2020-02-25 11:38:50 +01:00
Jens Langhammer b8daab4377 providers/saml: fix AccessRequiredView.dispatch not being called 2020-02-25 11:38:26 +01:00
Jens Langhammer c5b91bdae8 providers/saml: fix CannotHandleAssertion Error still being sent to sentry 2020-02-24 19:14:43 +01:00
Jens Langhammer 39a208c55f providers/saml: fix wrong key being used for params 2020-02-24 17:48:03 +01:00
Jens Langhammer a5bfef9b6b providers/saml: fix leftover data in session, fix IdP initiated login
move can_handle calls to binding endpoints (/login/ and /login/initiate/), so that /login/authorize/ works either way, can clean up the session and audit
2020-02-24 17:34:52 +01:00
Jens Langhammer f1f4cbef9b lib/sentry: fix SentryIgnoredException not being ignored correctly 2020-02-24 17:01:31 +01:00
Jens Langhammer 8388120b06 new release: 0.8.10-beta 2020-02-24 15:30:57 +01:00
Jens Langhammer 2bf96828f1 root: fix logging.basicConfig being called by pyjwkest 2020-02-24 15:30:28 +01:00
Jens Langhammer 22838e66fe providers/saml: fix users being able to authenticate without audit logs being created 2020-02-24 14:40:12 +01:00
Jens Langhammer 484dd6de09 providers/oidc: add error template 2020-02-24 14:19:02 +01:00
Jens Langhammer b743736c26 lib/logging: fix typo 2020-02-24 14:10:58 +01:00
Jens Langhammer af91e2079b core: sort provider by pk when selection application provider 2020-02-24 14:10:51 +01:00
Jens Langhammer 120d32e4dc new release: 0.8.9-beta 2020-02-24 13:23:20 +01:00
Jens Langhammer 238b489e07 root: add process ID to logging output 2020-02-24 13:20:32 +01:00
Jens Langhammer 4daa70c894 core: fix saving of policy not correctly clearing it's cache 2020-02-24 13:15:52 +01:00
Jens Langhammer f8599438df ui: fix lists not being rendered correctly 2020-02-24 13:13:42 +01:00
Jens Langhammer 155c9a4c3f ui: update remaining forms, completely remove jQuery 2020-02-24 13:13:28 +01:00
Jens Langhammer 8433b5e583 ui: fix automatic slug generation 2020-02-24 12:40:16 +01:00
Jens Langhammer dc5ba144f1 ui: fix height of multiple select input 2020-02-24 12:40:06 +01:00
Jens Langhammer 521a8b5356 ui: update more remaining templates 2020-02-23 22:49:56 +01:00
Jens Langhammer 3453077d7b root: set SameSite to None when debugging 2020-02-23 22:49:33 +01:00
Jens Langhammer 70ede8581a core: sort sources on login view 2020-02-23 20:19:01 +01:00
Jens Langhammer 6a7545fd43 lib: add bootstrap command 2020-02-23 19:52:41 +01:00
Jens Langhammer a8926cbd07 lib: add more errors to sentry ignore 2020-02-23 19:48:14 +01:00
Jens Langhammer 64d7b009ab sources/oauth: fix invalid headers, fix invalid function signature 2020-02-23 19:42:57 +01:00
Jens Langhammer 2b5fddb7bf policies: add unittests for evaluator 2020-02-23 15:54:26 +01:00
Jens Langhammer b99d23c119 all: remove dead code 2020-02-23 15:32:20 +01:00
Jens Langhammer 03905b74ff admin: exclude anonymous user from listing 2020-02-23 15:27:28 +01:00
Jens Langhammer 6b8a59cfbd admin: show prettified yaml 2020-02-23 15:27:11 +01:00
Jens Langhammer d6fdcd3ef9 ui: re-add automatic slug generation 2020-02-23 15:20:41 +01:00
Jens Langhammer 53ebc551d2 ui: fix icon sizing on login 2020-02-23 15:13:18 +01:00
Jens Langhammer 3d4f43d6e3 ui: show default icon for source without icon 2020-02-23 15:09:58 +01:00
Jens Langhammer 074cde7cd5 audit: save model's name or string representation 2020-02-23 15:04:30 +01:00
Jens Langhammer 382e563590 new release: 0.8.8-beta 2020-02-23 14:45:45 +01:00
Jens Langhammer ca61a7cc21 audit: don't pop password as its censored already 2020-02-23 14:43:33 +01:00
Jens Langhammer fa2870afe0 sources: remove policies as they are not used currently 2020-02-23 14:40:06 +01:00
Jens Langhammer 0f46207ea4 admin: fix provider list not having pagination 2020-02-23 14:29:21 +01:00
Jens Langhammer f4a676e2fb sources/oauth: slugify provider type instead of just lowercase 2020-02-23 13:53:16 +01:00
Jens Langhammer b2c10e2387 ui: add missing discord and twitter icons 2020-02-23 13:47:21 +01:00
Jens Langhammer 8c329dca7d core: add migration to fix null fields in core.application 2020-02-22 19:26:34 +01:00
Jens Langhammer 83da175749 policies/expression: add pb_client_ip field 2020-02-22 19:26:16 +01:00
Jens Langhammer 995c87938f core: fix default Null causing issues in translation 2020-02-21 23:10:00 +01:00
Jens Langhammer 40678b2f84 new release: 0.8.7-beta 2020-02-21 22:17:11 +01:00
Jens Langhammer 8dbbe9102b ui: fix application grid icons, fix SAML Authorize 2020-02-21 22:16:58 +01:00
Jens Langhammer 2f51f354de ui: fix app icon not showing 2020-02-21 22:02:44 +01:00
Jens Langhammer 04b815a33e admin: show object usage count instead of list 2020-02-21 22:02:03 +01:00
Jens Langhammer 2a4d68911b helm: change static healthcheck and port 2020-02-21 21:50:16 +01:00
Jens Langhammer 4d5a2d61ff new release: 0.8.6-beta 2020-02-21 21:36:04 +01:00
Jens Langhammer efd88c27ad audit: *crit* fix audit log not being protected correctly 2020-02-21 21:33:42 +01:00
Jens Langhammer 80d361ccd2 audit: fix failed login events not being logged 2020-02-21 21:27:25 +01:00
Jens Langhammer 6ed4501615 ui: fix branding viewport 2020-02-21 21:18:55 +01:00
Jens Langhammer a3ae827839 ui: centrally load CodeMirror and init via data tag 2020-02-21 21:02:03 +01:00
Jens Langhammer 88c1ad4c1c providers/saml: fix 500 when SAML Provider not assigned to application 2020-02-21 20:54:00 +01:00
Jens Langhammer 1147c4901b ui: clean up some more remaining templates 2020-02-21 20:40:40 +01:00
Jens Langhammer 063181d7a7 ui: use compact templates 2020-02-21 20:24:02 +01:00
Jens Langhammer 1285ba6fbb ui: include font-awesome 2020-02-21 18:00:09 +01:00
Jens Langhammer a09a1793ec ui: update templates for jinja2-related fields 2020-02-21 15:36:37 +01:00
Jens Langhammer 50caa3ac3e ui: update static docker image to download NPM modules 2020-02-21 15:33:54 +01:00
Jens Langhammer 9440d24358 static: use codemirror from npm 2020-02-21 15:18:13 +01:00
Jens Langhammer 26bf6fd22f all: add more helpful help_text to models 2020-02-21 15:12:16 +01:00
Jens Langhammer e2f836feae all: fix left over references to error templates 2020-02-21 15:05:32 +01:00
Jens Langhammer b6326f399c ui: clean up more generic forms, remove is_login everywhere 2020-02-21 15:00:45 +01:00
Jens Langhammer ea6a1422f7 ui: rewrite admin templates to pf4, add some helper scripts 2020-02-21 14:20:16 +01:00
Jens Langhammer 8fd86a28ff ui: fixup minor issues, add static app 2020-02-21 11:20:55 +01:00
Jens Langhammer d88283a7a9 Merge branch 'master' into pf4
# Conflicts:
#	passbook/core/static/img/logos/discord.svg
#	passbook/core/static/js/passbook.js
#	passbook/core/templates/login/with_sources.html
#	passbook/core/templates/overview/index.html
#	passbook/core/views/authentication.py
2020-02-21 09:05:40 +01:00
Jens Langhammer 32a15f84c0 root: run bandit as part of pre-commit 2020-02-21 09:03:59 +01:00
Jens Langhammer 93ba4b7f62 root: use defusedxml's defuse_stdlib globally 2020-02-21 09:00:28 +01:00
Jens Langhammer 187780dab2 new release: 0.8.5-beta 2020-02-20 21:39:13 +01:00
Jens Langhammer d988f37afc lib: add SentryIgnoredException, to easily ignore exceptions from sentry 2020-02-20 21:38:53 +01:00
Jens Langhammer 295c0bae3f sources/saml: validate SAMLResponse signature 2020-02-20 21:34:25 +01:00
Jens Langhammer 38a22ddf13 providers/saml: cleanup encoding 2020-02-20 21:33:10 +01:00
Jens Langhammer d06f1abb89 providers/saml: add POST binding support to Metadata 2020-02-20 17:38:42 +01:00
Jens Langhammer 027a64fad2 providers/saml: change default NameID Format to emailAddress 2020-02-20 17:37:09 +01:00
Jens Langhammer 84fc54ddaa sources/saml: entity_id -> issuer 2020-02-20 17:23:27 +01:00
Jens Langhammer 0b5caa85f5 all: sort imports and cleanup 2020-02-20 17:23:05 +01:00
Jens Langhammer 14e0a17dbc ui: don't remove dashes when auto generating slug 2020-02-20 17:13:50 +01:00
Jens Langhammer 3c04afa31f root: use different cookie names for dev instance 2020-02-20 17:08:11 +01:00
Jens Langhammer 40a2a26904 sources/saml: fix Metadata cert including PEM header 2020-02-20 17:05:11 +01:00
Jens Langhammer c8b3c6e51a sources/saml: fix `build_full_url` using incorrect URL parameter 2020-02-20 17:04:54 +01:00
Jens Langhammer e0272a6422 providers/saml: Show error message when trying to get metadata without assigning application 2020-02-20 17:04:20 +01:00
Jens Langhammer b290bbf6d7 new release: 0.8.4-beta 2020-02-20 16:17:23 +01:00
Jens Langhammer 8d875cb01d providers/saml: fix /login/ pointing to wrong view 2020-02-20 16:13:55 +01:00
Jens Langhammer 36b1f8ba36 new release: 0.8.3-beta 2020-02-20 15:14:49 +01:00
Jens Langhammer 6c889eff27 core: fix application icons not loading, fix with_sources being broken 2020-02-20 14:30:06 +01:00
Jens Langhammer 9d8675e54b new release: 0.8.2-beta 2020-02-20 13:57:46 +01:00
Jens Langhammer 22ae986c0b root: add logger name to log output 2020-02-20 13:52:14 +01:00
Jens Langhammer 2bef5f3911 policies: struct -> types to match core 2020-02-20 13:52:05 +01:00
Jens Langhammer 3c2b8e5ee1 all: prefix all UI related methods with ui_, switch to property and return dataclass 2020-02-20 13:51:41 +01:00
Jens Langhammer c96571bdba core: fix discord logo being hard to see 2020-02-20 13:50:05 +01:00