Commit Graph

61 Commits

Author SHA1 Message Date
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
Killian Kemps
9d1d516b5e [Docker] Display messages for missing envvars 2020-04-30 15:52:54 +02:00
Killian Kemps
e86bd1562d [Docker] Add Dockerfile 2020-04-29 15:46:29 +02:00
Jonas Schäfer
9e0ec5ff0f Ensure that the css directory exists
It isn’t part of the repository, so the Makefile should not rely
on it being present.
2020-04-28 19:19:40 +02:00
Jonas Schäfer
00936ccfe8 Add screenshot to readme 2020-03-07 17:06:00 +01:00
Jonas Schäfer
1cb9801fa6 Update examples again 2020-03-07 17:02:14 +01:00
Jonas Schäfer
af08f31cf3 Include language tag in html/@lang 2020-03-07 16:56:15 +01:00
Jonas Schäfer
e07fbb0c97 Start translating the web portal 2020-03-07 16:55:12 +01:00
Jonas Schäfer
1ab3fac939 Update example configuration 2020-03-07 13:36:38 +01:00
Jonas Schäfer
6819a4eec6 Clean up about page 2020-03-07 13:31:40 +01:00
Jonas Schäfer
18279e3478 Add version info to package 2020-03-07 13:31:30 +01:00
Jonas Schäfer
76c38030a8 Improve avatar route handler
- Fix etag attaching (add_etag is actually a coroutine which hashes
  the data payload)
- Add expires header (with now + 1800s default) so that we don’t
  get hit with an avatar request on each load -- also helps with
  page responsiveness.
- Proper handling for HEAD requests.
- CSP to prevent funny SVG attacks.
2020-03-07 13:12:30 +01:00
Jonas Schäfer
56b0b7b669 Correctly handle unset nickname (e.g. on fresh accounts) 2020-03-07 13:12:19 +01:00
Jonas Schäfer
9584503b57 Reverse order of avatar/name display
I think this creates a nice symmetry with the Snikket logo on the
left.
2020-03-07 13:11:50 +01:00
Jonas Schäfer
71733adc90 Fix various edge cases around stale sessions
If a session cookie is set, but prosody doesn’t know about the
session anymore, we could get into fun states. This patch fixes
them by requiring the session to be tested with a ping request
on each HTTP request.
2020-03-07 13:11:45 +01:00
Jonas Schäfer
5ee2d97eb6 Implement support for shim avatar display 2020-03-07 13:11:43 +01:00
Jonas Schäfer
c902c59f8b Implement support for avatars 2020-03-07 12:38:17 +01:00
Jonas Schäfer
8785a99621 Fix incorrect space between buttons 2020-03-07 11:16:51 +01:00
Jonas Schäfer
6e47c8141c Revamp home screen 2020-03-07 11:16:39 +01:00