Commit Graph

627 Commits

Author SHA1 Message Date
FinnStutzenstein
fba043fedf
Log APIExceptions on the server 2020-05-25 09:16:37 +02:00
Joshua Sangmeister
3f03f27cdb added jitsi settings to template and readme 2020-05-14 19:41:35 +02:00
Joshua Sangmeister
b0bf4990f8 fixed formatting after flake update 2020-05-13 16:16:03 +02:00
FinnStutzenstein
b78372f8a3
Load configs before models 2020-04-27 09:41:23 +02:00
Joshua Sangmeister
6eae497abe adds more permissive html validation 2020-04-16 10:26:48 +02:00
FinnStutzenstein
bb2f958eb5 Redis: Wait for replication on writes
Since channels_redis does not support dedicated read-redis instances, the
autoupdate message may be received before the data was replicated. All workers
read the autoupdate message from the write host, so there is a race between
getting this message and a finished replication. For large payloads, the
replication is slower in the most cases (even more in a distributed setup, where
the master and replica are on different nodes). The easy way is to wait for
replication. But there is one difficulty: The number of replicas has to be
known. There is a new settings-variable "AMOUNT_REPLICAS" which defaults to 1.
It needs to be set correctly! If it is too high, every autoupdate will be
delayed by 1 seconds because of a timeout witing for non-existent replicas. If
it is too low, some autoupdates may be wrong (and not detectable by the client!)
becuase of reading from non-synchronised relicas.

The other possibility is to fork channel_redis and add the feature of a
read-only redis. This ould help, because on a single redis instance all commands
are ordered: First, the data is synced, then the autoupdate message. Attention:
This means, if redis-replicas are scaled up, one must make sure to read from the
same instance. I think this is not possible in the way how dockers overlay
networks work. The only way would be to open one connection and reuse the
connection from channels_redis in OpenSlides. This would mean a heavy
integration of channels_redis (meaning including the source code in our repo).

For the first fix, this one is easy and should work.
2020-04-01 13:09:48 +02:00
Joshua Sangmeister
b48ca8c434 added chart projection for polls 2020-03-17 07:24:45 +01:00
Joshua Sangmeister
b16afaa285 number poll candidates depending on setting 2020-03-17 07:24:40 +01:00
FinnStutzenstein
e2585fb757 Projector for polls: Server, client structure and data modeling 2020-03-17 07:24:40 +01:00
Joshua Sangmeister
682db96b7c added vote per user table and progress for polls
added update for options after stopping a poll
2020-03-17 07:24:39 +01:00
FinnStutzenstein
7ab5346198 disable caching for reverse relations 2020-03-17 07:24:39 +01:00
FinnStutzenstein
fafb81daca Fix assignment access permissions
Also improves unnecessary history-savings of users in the list of speakers
2020-03-17 07:24:37 +01:00
FinnStutzenstein
b50cf42543 Prevent stopping an analog poll
Fixed too much logging with the new autoupdate bundling
2020-03-17 07:24:37 +01:00
jsangmeister
09ef3c5071 add settings variable ENABLE_ELECTRONIC_VOTING 2020-03-17 07:24:36 +01:00
FinnStutzenstein
046a152ec5 generate less queries in the autoupdate system 2020-03-17 07:24:36 +01:00
jsangmeister
6605934a33 added count query decorator 2020-03-17 07:24:35 +01:00
FinnStutzenstein
ced40cab74 Initial work for supporting voting 2020-03-17 07:24:34 +01:00
Emanuel Schütze
e2630faead
Merge pull request #5149 from FinnStutzenstein/deleteUsersWithWSConnection
Fixed late autoupdates with deleted users
2019-12-09 10:41:59 +01:00
FinnStutzenstein
cc4ca61964 Adding a second optional redis for read only accesses 2019-12-03 12:30:31 +01:00
FinnStutzenstein
f7cdfb7c02 Locking service and locks the history build process (fixes #4039) 2019-12-03 12:14:49 +01:00
FinnStutzenstein
0d38b784bc Fixed late autoupdates with deleted users 2019-11-29 13:15:20 +01:00
FinnStutzenstein
c54e2621f2 Added html validation for users and personal notes 2019-11-08 15:39:18 +01:00
GabrielMeyer
b806b8406b Fixes python3.7 tests 2019-10-29 15:05:52 +01:00
FinnStutzenstein
4a77bf1a61 saml 2019-10-21 13:34:01 +02:00
FinnStutzenstein
3f41890541 Fixed typing from parse_qs 2019-10-18 14:41:55 +02:00
FinnStutzenstein
e4c4bc0aa0 Closing websocket connections to unknown urls 2019-10-15 10:54:31 +02:00
GabrielMeyer
c8d02788dc Enhances the autoupdate of projector by change-id 2019-10-02 16:30:30 +02:00
Emanuel Schütze
1ff616fe4f Allow <del> and <ins> html tags. 2019-09-24 12:53:15 +02:00
Emanuel Schütze
e16ca335de Updated requirements
- Added websockets to production.txt
- Import channels_redis in redis.py only for big mode (if use_redis=true)
2019-09-13 10:29:19 +02:00
FinnStutzenstein
0319deba23 no semaphore 2019-09-10 15:00:55 +02:00
FinnStutzenstein
9323bdef20 Added config for more verbose errors on reset password
- Added settings.py docs
- Fixed left-overs from #4920
- Reworked all server messages to a new argument formet, so that the
client can translate server messages
2019-09-03 14:47:45 +02:00
FinnStutzenstein
5baae14156 Skip autoupdates on foreign personal notes 2019-09-02 13:57:12 +02:00
FinnStutzenstein
366777ebfd Fixed bug sending always all data to users, who get restricted data
Due to changes in an iterator, a RuntimeError was thrown but interpred al a too low change id. Fixed the bug and make a custom exception for this.
2019-09-02 09:05:29 +02:00
Finn Stutzenstein
93fae8ef3b
Merge pull request #4961 from FinnStutzenstein/loggingRedis
Logging prefix and handling redis connection errors
2019-09-02 08:28:12 +02:00
FinnStutzenstein
2aa0275dca Logging prefix and handling redis connection errors 2019-09-02 08:09:28 +02:00
FinnStutzenstein
c73b04c005 Just autoupdate changed models on sorting 2019-08-29 15:11:18 +02:00
Emanuel Schütze
d3c56efdc5
Merge pull request #4920 from emanuelschuetze/configDefaults
Rework config defaults.
2019-08-21 13:48:55 +02:00
Emanuel Schütze
f981106524 Rework config defaults.
- move motion setttings from settings.py to config that user can change
  it while runtime
- show help text for config fields as tooltip
2019-08-21 13:19:44 +02:00
FinnStutzenstein
d4dc13706f Ensures change id across multiple workers 2019-08-19 09:42:51 +02:00
FinnStutzenstein
1d718dcb74 Fixed two little issues with relations and reverse mapping
- Reverse setup for normal autoupdates (no initial loading)
- reverse "set null" to be reflected to the mapping

Also fixed a bug with redis
2019-08-15 12:51:59 +02:00
FinnStutzenstein
daabbaff28 Added missing ResetCache-handling 2019-08-12 15:01:57 +02:00
FinnStutzenstein
5aef823807 Major cache rewrite:
- Removed the restricted data cache (it wasn't used since OS 3.0)
- unify functions for restricted and full data: Just one function, which
  accteps an optional user_id: If it is None, full data is returned, and
  with a user id given, the restricted data
- More atomic access to redis, especially for:
- Check for data-existance in redis and do an auto-ensure-cache.
- Speedup through hashing of scripts and redis' script cache.
- Save schema version into the redis cache and rebuild, if the version
  changed

Client changes:
- Simplified the ConstantsService
- Fixed bug, when receiving an autoupdate with all_data=True from the
  Server
2019-08-08 08:35:02 +02:00
FinnStutzenstein
b4e9b28397 Fix mediafiles for non superadmins 2019-07-13 19:37:49 +02:00
FinnStutzenstein
56c1da352e Directories and access permissions for mediafiles 2019-07-12 13:08:07 +02:00
Emanuel Schütze
a8af0595a6
Merge pull request #4808 from emanuelschuetze/email
New email sender name and reply-to config options.
2019-06-26 16:30:17 +02:00
Emanuel Schütze
29dd81ba39 New email sender name and reply-to config options. 2019-06-25 17:26:38 +02:00
FinnStutzenstein
b7e98a565a Fix restriction without restricted data cache 2019-06-25 16:57:29 +02:00
FinnStutzenstein
8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +02:00
FinnStutzenstein
ff98ee1b96 Refactured client 2019-06-13 10:09:08 +02:00
Norman Jäckel
5a5bc77e62 Refactored OpenSlides history (HistoryInformation is not a root rest element anymore.). 2019-06-13 09:14:58 +02:00