Commit Graph

79 Commits

Author SHA1 Message Date
Matthew Wild
159976f2d8 Add favicon thingies to <head> 2021-01-22 16:58:27 +00:00
Jonas Schäfer
7e84624f44 Merge branch 'feature/site-name' 2021-01-22 15:30:18 +01:00
Jonas Schäfer
0bb0a66a19 Fix environment example 2021-01-22 15:29:58 +01:00
Jonas Schäfer
0d03cd5227 Add support for setting a human-friendly SITE_NAME 2021-01-22 15:28:06 +01:00
Matthew Wild
b7a870c427 Dockerfile: Move to repo root to match our other projects 2021-01-22 12:00:26 +00:00
Jonas Schäfer
2f7b99c3cc Implement token revocation
Fixes #18.
2021-01-21 19:30:19 +01:00
Jonas Schäfer
47bf47c7b3 Fix unused import 2021-01-21 18:43:20 +01:00
Jonas Schäfer
2eed571fbb Fix type annotation 2021-01-21 18:42:59 +01:00
Jonas Schäfer
b55e7eb966 Add dark mode
Fixes #28.
2021-01-21 18:39:07 +01:00
Jonas Schäfer
e18b733017 Add more features to circle editor
- Manage members
- Update name

(Normally, I’d fix this up into the initial implementation
commit, but things happened in between and the rebase would be
painful.)
2021-01-21 18:09:57 +01:00
Jonas Schäfer
ff870ae71e Update about page
- Show more software versions in debug mode (only)
- Add license links and information
2021-01-21 18:09:57 +01:00
Jonas Schäfer
b6188ed29f Add button to export debug info of a user 2021-01-21 18:09:57 +01:00
Jonas Schäfer
f5d0bfdec7 Remove stray print statement 2021-01-21 18:09:57 +01:00
Jonas Schäfer
f363ff0b38 Fix error handling
Previously, some kinds of errors would throw nice and fun cascades
of exceptions.

We now have a nice, clean error page for 500 and 503 (backend
connectivity) errors which includes minimal debugging information
for productive setups and a traceback for development setups.

In any case, the full exception is logged to the log with an error
ID which is printed on the error page.
2021-01-21 18:09:55 +01:00
Jonas Schäfer
065c065b3b Determine the profile visiblity more conservatively
This will ensure that the user is not incorrectly shown a lower
visibility level than parts of their profile have.
2021-01-21 16:55:11 +01:00
Jonas Schäfer
17efe53106 Implement group support (we call ’em circles) 2021-01-21 16:55:10 +01:00
Jonas Schäfer
006fea97a6 Completely strip the english "translation" 2021-01-21 16:54:39 +01:00
Jonas Schäfer
c1dbec51ab Use icons instead of Unicode symbols for buttons
Fixes #26.
2021-01-18 17:35:03 +01:00
Jonas Schäfer
16f990f475 Fix line height of link buttons to be the same as input buttons
Fixes #27.
2021-01-17 20:27:44 +01:00
Jonas Schäfer
be7be0e16a Add link buttons to demo for comparing styles 2021-01-17 20:22:52 +01:00
Jonas Schäfer
c3cee9b3a2 Add some missing translations 2021-01-17 20:13:35 +01:00
Jonas Schäfer
1b6d340d49 Modify invitation layout
- Make URLs easily copyable
- Do not show XMPP URI
2021-01-17 20:13:05 +01:00
Jonas Schäfer
427f73811c Add support for modifying profile access model
Fixes #17.
2021-01-17 20:12:01 +01:00
Jonas Schäfer
2e047ada8e Add dockerignore to avoid sending the virtual environment to Docker 2021-01-17 20:11:26 +01:00
Jonas Schäfer
e0cfcc6aaa 12-factorize application a little
snikket_web can now be fully configured via the environment alone,
no extra files needed. It is still supported to inject a python
file to generate environment variables though, which may be
useful for generating and reloading a secret key.
2021-01-17 20:11:26 +01:00
Jonas Schäfer
fadbdaf204 Restore compatibility with Python 3.7 2021-01-17 20:11:26 +01:00
Jonas Schäfer
3f44cf5a1f Improve Dockerfile
- Do not use python:X.Y images, they contain *a lot* of
  unnecessary and potentially vulnerable software
- Prepare for a much slimmer image build
2021-01-17 20:11:26 +01:00
Jonas Schäfer
fce7b9a637 Move footer to the bottom if content is not larger than viewport 2021-01-17 20:11:26 +01:00
Jonas Schäfer
fa700bba07 Massive code cleanup
- Avoid fighting import cycles using a factory function
- Collapse useless subpackages into simple modules
- Move flask plugins / infrastructure in own module
- Refactor how blueprints are used to localize information about
  URL routing to app factory
2021-01-17 20:11:25 +01:00
Jonas Schäfer
e476d9b7c2 Implement admin dashboard
Fixes #23.
2021-01-17 20:10:04 +01:00
Jonas Schäfer
16bc3c6990 Add a bunch of CI tests for the code 2021-01-16 16:07:40 +01:00
Jonas Schäfer
9e3fcbaf67 Prepare for fully typechecked codebase 2021-01-16 16:05:54 +01:00
Jonas Schäfer
d3777d3b07 Make flake8 happy 2021-01-16 15:22:46 +01:00
Jonas Schäfer
6660fe76ea Extend and improve stylesheet
- Support for blockquotes
- Support for lists (ol, ul)
- Make tertiary buttons more obvious by using an underline
- Extend demo to showcase new features
2021-01-16 15:16:04 +01:00
Jonas Schäfer
cebb86c5f3 Always build all CSS files if a single SCSS file changes
We don’t have proper dependency tracking for those in Make, and
I don’t care to invest a lot into getting this right, given that
the build for all of them finishes in <1s.
2021-01-16 15:16:04 +01:00
Jonas Schäfer
d8fe169ba4 Add warning box to inform user of password change implications 2021-01-16 15:16:04 +01:00
Jonas Schäfer
00f678a86f Redefine box styles to be independent of primary/accent for semantics 2021-01-16 15:16:04 +01:00
Jonas Schäfer
a88c5b92dd Introduce layer of abstraction in colour definition
The raw values now map to names describing their hue. Only when
mapping them to variable names, we assign semantic meaning. This
allows easy re-use of colour values between different semantic
meanings and changing e.g. accent vs. primary without affecting
the use as warning.
2021-01-16 15:16:04 +01:00
Matthew Wild
7f8b2644e7 Github: test workflow rename to resolve Github errors 2020-05-20 15:16:05 +01:00
Matthew Wild
d79d354d72 docker: Add BUILD_SERIES/BUILD_ID (currently unused) 2020-05-20 14:46:24 +01:00
Matthew Wild
d417736872 Github: Add workflows for build and publish of Docker images 2020-05-20 14:38:24 +01:00
Jonas Schäfer
909a8ef2a7 Update logout comment with relevant feature request 2020-04-30 16:14:14 +02:00
Jonas Schäfer
22a371444d Remove compatibility hacks after bugs got fixed
See-Also: https://issues.prosody.im/1500
See-Also: https://issues.prosody.im/1501
2020-04-30 16:14:14 +02:00
Jonas Schäfer
12276337c1 Partially log requests sent to the API
Payloads containing sensitive content (such as passwords and
tokens) should be hidden.
2020-04-30 16:14:14 +02:00
Jonas Schäfer
d6b1ce8773 Make logging configurable 2020-04-30 16:14:14 +02:00
Jonas Schäfer
ba6ed22de0 Tweak the font sizes on the login page a little
It’s nicer if the domain name is larger than the main text.
2020-04-30 16:14:14 +02:00
Jonas Schäfer
880b4c22d0 Get rid of debug prints 2020-04-30 16:14:14 +02:00
Jonas Schäfer
04d9f9fd9b Properly handle the various login error conditions
Note that this includes setting content types on the sessions,
which is why this spills over into the XML IQ function.
2020-04-30 16:14:14 +02:00
Jonas Schäfer
095970adb4 Convert login page to proper form
- free CSRF protection
- free "empty field" early out
- easier passing on of errors to the view
2020-04-30 16:14:14 +02:00
Jonas Schäfer
280e630b6c Merge pull request #21 from KillianKemps/dockerfile
[Docker] Add Dockerfile
2020-04-30 16:13:48 +02:00