Commit Graph

4457 Commits

Author SHA1 Message Date
Joshua Sangmeister a31fa7dda6 Adds reverse relations for motions and blocks 2020-06-02 14:44:56 +02:00
Emanuel Schütze 7665634d42
Merge pull request #5375 from FinnStutzenstein/autoupdatePerformance
Autoupdate performance
2020-05-29 17:31:32 +02:00
Finn Stutzenstein 9c7b9b0920
Merge pull request #5387 from FinnStutzenstein/hugeautoupdatesInRedis
Inserting changed and deleted elements into redis in batches (fixes #5386)
2020-05-29 15:48:21 +02:00
FinnStutzenstein 0eee839736
Small improvements and first attempt to make to poll progress responsive
to massive autoupdates. The "optimization" didn't help, so this has to
be continued in another PR.
2020-05-29 15:46:19 +02:00
FinnStutzenstein 600b9c148b
Inserting changed and deleted elements into redis in batches (fixes #5386) 2020-05-28 14:00:57 +02:00
FinnStutzenstein d8b21c5fb5
(WIP) Ordered and delayed autoupdates:
- Extracted autoupdate code from consumers
- collect autoupdates until a AUTOUPDATE_DELAY is reached (since the first autoupdate)
- Added the AUTOUPDATE_DELAY parameter in the settings.py
- moved some autoupdate code to utils/autoupdate
- moved core/websocket to utils/websocket_client_messages
- add the autoupdate in the response (there are some todos left)
- do not send autoupdates on error (4xx, 5xx)
- the client blindly injects the autoupdate in the response
- removed the unused autoupdate on/off feature
- the clients sends now the maxChangeId (instead of maxChangeId+1) on connection
- the server accepts this.
2020-05-27 16:05:27 +02:00
FinnStutzenstein fba043fedf
Log APIExceptions on the server 2020-05-25 09:16:37 +02:00
FinnStutzenstein bf88cea200
Rewrite projector code to be cache friendly
This speeds up the requests/seconds by a factor of 100
2020-05-22 15:23:54 +02:00
FinnStutzenstein 23842fd496
Synchronize autoupdate code in the client
If autoupdates are too fast, the first one may not be fully executed. Especially when the maxChangeId is not yet updated, the second Autoupdate will trigger a refresh, because for the client it "lay in the future". This can be prevented by synchronizing the autoupdate-handling code with a mutex.
2020-05-22 15:23:53 +02:00
Joshua Sangmeister e52697ad7e Adds migration to remove deprecated slides 2020-05-19 12:55:47 +02:00
Emanuel Schütze 0c93c44f0d
Merge pull request #5374 from emanuelschuetze/translations-20200514
Updated translations
2020-05-14 20:09:36 +02:00
Emanuel Schütze 4b95398ac1
Merge pull request #5371 from jsangmeister/jitsi-settings
Added jitsi settings to template and readme
2020-05-14 19:59:28 +02:00
Emanuel Schütze 37c3ac5aff Updated translations 2020-05-14 19:52:18 +02:00
Joshua Sangmeister 3f03f27cdb added jitsi settings to template and readme 2020-05-14 19:41:35 +02:00
Emanuel Schütze 1ca3196a75
Merge pull request #5370 from tsiegleauq/tags-for-agenda
Add tags for agenda items
2020-05-14 15:23:55 +02:00
Sean b6bb1fe767 Add tags for agenda items
Adds tags for agnda items, adds tag filter in agenda list view, server
changes, client relations, adjust agenda csv exporter
2020-05-14 15:07:59 +02:00
Joshua Sangmeister fa63ef0307 added config for default poll type 2020-05-14 07:38:14 +02:00
Joshua Sangmeister b0bf4990f8 fixed formatting after flake update 2020-05-13 16:16:03 +02:00
FinnStutzenstein 2910701422
Fix unnecessary and unfunctional lock for production usage with gunicorn 2020-05-06 16:57:50 +02:00
Emanuel Schütze f415fd0554 Updated translations 2020-04-30 17:43:48 +02:00
Sean 38ee6bb2f1 Show first contribution hint in list of speaker
Shows a hint in the list of speakers if a speaker contributes for the
first time.
2020-04-30 14:06:37 +02:00
Emanuel Schütze a47285c0ff
Merge pull request #5309 from tsiegleauq/integrate-jitsi-meet-client
Integrate jitsi-meet in OpenSlides
2020-04-30 13:05:12 +02:00
Sean 1439444b2e Integrate jitsi-meet in OpenSlides
- minimal jitsi client in the bottom right of the screen
- can be shown and hidden like a messenger
- allows to mute, unmute, call, stop call
- automatically connects to a conference
- shows a list of users connected to the room
- jitsi iframe is currently hidden
- "open in jitsi meet" link
- only one connection will be opened if using multiple tabs
- JITSI_DOMAIN and JITSI_ROOM_NAME must be present in the settings.py
- config variables in settings
2020-04-30 11:07:32 +02:00
FinnStutzenstein aa1a2cec89
Removed vote weight from votes_cast 2020-04-30 08:10:39 +02:00
FinnStutzenstein b78372f8a3
Load configs before models 2020-04-27 09:41:23 +02:00
Emanuel Schütze 2057150076
Merge pull request #5322 from FinnStutzenstein/delete-all-speakers
delete all speakers of all lists of speakers
2020-04-24 12:25:49 +02:00
FinnStutzenstein 4221351223 Fixed validation of options in asignment polls
Also fixed #5334
2020-04-24 09:31:39 +02:00
FinnStutzenstein 38486463bc delete all speakers of all lists of speakers 2020-04-23 09:43:04 +02:00
Sean 97c2299aec Implement vote weight in client
Implements vote weight in client
The user detail page has a new property
change deserialize to parse floats
change "yes"-voting to send "Y" and "0" instead of "1" and "0"
add vote weight to user list, filter, sort
add vote weight to single voting result
votesvalid and votescast respect the individual vote weight
fix parse-poll pipe and null in pdf
2020-04-22 16:54:50 +02:00
Joshua Sangmeister 42fbe93314 fixes the voting autoupdate bug 2020-04-17 16:38:38 +02:00
Emanuel Schütze 6cdf9a5582
Merge pull request #5315 from emanuelschuetze/prepare-3.2
Prepare new 3.2 release
2020-04-16 13:55:24 +02:00
Emanuel Schütze 75ebf5bc77 Prepare new 3.2 release 2020-04-16 13:41:56 +02:00
Joshua Sangmeister 6eae497abe adds more permissive html validation 2020-04-16 10:26:48 +02:00
Joshua Sangmeister 9864ff3847 fixed pseudoanonymize on client 2020-04-15 09:42:22 +02:00
FinnStutzenstein 7a97aa1b79 Cleanup for #5300 2020-04-07 09:53:16 +02:00
Joshua Sangmeister b7b8620153 removed race condition & cleanup 2020-04-07 07:27:54 +02:00
FinnStutzenstein 7882ea1a25 Added vote weight and fixed named voting 2020-04-07 07:27:54 +02:00
Finn Stutzenstein 83d57e9da7
Merge pull request #5290 from FinnStutzenstein/redisWaitForReplication
Redis: Wait for replication on writes
2020-04-01 13:32:11 +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
Emanuel Schütze 4419e76223
Merge pull request #5289 from FinnStutzenstein/fixMissingMigrations
Added missing migrations
2020-03-30 11:16:38 +02:00
FinnStutzenstein 3be28ec50a Added missing migrations 2020-03-30 10:58:42 +02:00
Emanuel Schütze baa1787189 Updated Translations 2020-03-30 10:57:10 +02:00
Sean 39ccfe3147 Add set present toggle in user menu
adds a "is present" toggle to the user menu
Refactor user menu into own component
Add a config variable to determine if the user is allowed
to set themselve as present
2020-03-30 09:57:57 +02:00
FinnStutzenstein 123df7660f Changed the default projector aspect ratio to 16:9 on initial database creation 2020-03-24 12:09:11 +01:00
Emanuel Schütze 5a6d2d2e42 Updated translations 2020-03-20 17:19:12 +01:00
Sean 072ec937a1 Rework assignment poll slide
Reworked assignment poll slide
and refactored the assignment poll detail table
into an own component
2020-03-20 16:53:31 +01:00
FinnStutzenstein 64f2720b1a Last changes and cleanup some todos 2020-03-17 07:24:50 +01:00
Emanuel Schütze d15c9892ed Updated translation strings and German translation. 2020-03-17 07:24:49 +01:00
Sean Engelhardt ee4c6aa0bf Even more voting refinement
Various additional refinements for a more well rounded
voting experience
2020-03-17 07:24:49 +01:00
FinnStutzenstein a05662a0f8 Show global votes in the single votes table 2020-03-17 07:24:49 +01:00