Commit Graph

90 Commits

Author SHA1 Message Date
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
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
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
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
046a152ec5 generate less queries in the autoupdate system 2020-03-17 07:24:36 +01:00
FinnStutzenstein
ced40cab74 Initial work for supporting voting 2020-03-17 07:24:34 +01:00
GabrielMeyer
c8d02788dc Enhances the autoupdate of projector by change-id 2019-10-02 16:30:30 +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
Norman Jäckel
197ff7264c Fixed deletion of motions with change recommendations. Fixed #4415. 2019-02-27 20:16:51 +01:00
Oskar Hahn
209105efc3
Merge pull request #4103 from FinnStutzenstein/client-projector-ui
Client projector ui (WIP)
2019-01-20 11:39:49 +01:00
FinnStutzenstein
74e0bea108 Wirst work for the projector system on the client 2019-01-19 21:26:05 +01:00
Norman Jäckel
9db12293a3 Added history information for some motion views. 2019-01-19 16:41:58 +01:00
Oskar Hahn
7df842f2e2 delete wrong file 2019-01-19 14:48:01 +01:00
Oskar Hahn
11ba7b9841 Autoupdate on element deletion
Make sure, that a related element gets an autoupdate, when the main object is deleted
2019-01-19 14:46:59 +01:00
Oskar Hahn
a0f554674b New projector system. Add first slides 2019-01-12 21:21:43 +01:00
Oskar Hahn
eddbd86d3a Run black 2019-01-08 21:51:52 +01:00
Norman Jäckel
060856628b OpenSlides history mode.
Also containing auth check and viewpoint to clear history.
2018-11-30 09:51:10 +01:00
Oskar Hahn
eead4efe6a Remove CollectionElement
* Use user_id: int instead of Optional[CollectionElment] in utils
* Rewrote autoupdate system without CollectionElement
2018-11-04 01:06:01 +01:00
Norman Jäckel
30c0773838 Split up autoupdate functions (sync and async). 2018-10-30 13:07:24 +01:00
Oskar Hahn
b034839ac8 Remove old projector code 2018-10-29 13:10:15 +01:00
Oskar Hahn
e7d14a8081 Change_id API
* Improve AutoUpdateFormat
* Receive autoupdate requested via websocket
* Support change_id in query string
* Disable autoupdate at default
* Add websocket protocoll to turn on or off autoupdate
2018-10-26 06:30:01 +02:00
Oskar Hahn
9af6bf1606 ensures test on startup 2018-09-23 16:57:49 +02:00
Oskar Hahn
aac9dcabf5 drop python 3.5 2018-08-23 17:51:30 +02:00
Oskar Hahn
10b3bb6497 Update to channels 2
* geis does not work with channels2 and never will be (it has to be python now)
* pytest
* rewrote cache system
* use username instead of pk for admin user in tests
2018-08-22 06:30:11 +02:00
Oskar Hahn
92a39a3fc6 support python 3.7
fix new pep8 stype
2018-08-08 21:46:56 +02:00
FinnStutzenstein
252ba02e86 Scroll projector to a given line 2018-06-12 13:02:22 +02:00
FinnStutzenstein
83edfc2af0 Remove projector from projector-all 2018-04-24 11:20:15 +02:00
Oskar Hahn
5aa8f6193e Add methods to delete the restricted_data_cache 2018-02-24 18:04:32 +01:00
Oskar Hahn
c47d054c67 Activate the restricted_data_cache again.
restricted_data_cache.update_element(...) only adds an element to the cache, when
there are already other elements in the cache. So then add_element is never used,
the cache is never created.
2018-02-24 16:57:18 +01:00
Oskar Hahn
6c3ae7cb4e fix mypy 2018-02-24 16:38:17 +01:00
Norman Jäckel
d381ca36dd Added autoupdate bundle middleware. 2018-01-25 23:09:28 +01:00
Norman Jäckel
aaeb85db61 Split send_data channel into send_data_projector and send_data_site for projector prioritization. Fixed #3426. 2018-01-20 11:07:28 +01:00
Emanuel Schütze
279c2ba796 Adds elements to restricted data cache only if cache already exists (hotfix for #3427).
Prevents corrupt cache if restricted data cache is cleared while runtime.
2017-11-12 17:39:46 +01:00
FinnStutzenstein
5862e054e3 Naive projector prioritization 2017-09-27 14:46:16 +02:00
Oskar Hahn
d7db714562 CollectionElement and Autoupdate cleanups
* change get_restricted_data and get_projector_data to always use a list
* Add typings to all get_restricted_data and get_projector_data methods
* Replace CollectionElementList with a real list
* Fixed arguments of inform_deleted_data
* Moved CollectionElementCache to cache.py and refactored it
* Run tests with cache enabled (using fakeredis)
2017-09-15 12:11:32 +02:00
Oskar Hahn
0978cfd5d5 Add restricted_data_cache
This replaces the startup cache
2017-09-06 18:06:57 +02:00
Oskar Hahn
be94e97889 more typings 2017-09-03 18:34:55 +02:00
Oskar Hahn
87b889fbf2 Rewrite config to have id field 2017-08-24 15:02:42 +02:00
Oskar Hahn
8920ffac66 Block anonymous from websocket, if they are deactivated 2017-06-10 09:25:27 +02:00
Norman Jäckel
ebabc291c5 Refactoring of data parsing for startup and autoupdate. 2017-05-03 08:58:29 +02:00
Oskar Hahn
4963bfa7bf Changed restricted data parsing. Cached full data on startup. 2017-05-01 21:52:16 +02:00
Emanuel Schütze
9387f83f8a Merge pull request #3212 from normanjaeckel/Notify
Added notify system.
2017-04-27 15:07:15 +02:00
FinnStutzenstein
349505ac3d Added a warning, if another user edits the same motion. 2017-04-27 13:09:24 +02:00
Oskar Hahn
74c1cc63dc Open websocket connections immediately
Also made a performance boost to get_model_from_collection_string()
2017-04-27 12:54:16 +02:00
Norman Jäckel
bd68997a5d Added notify system. 2017-04-27 09:30:02 +02:00
Norman Jäckel
14ec6c0f44 Improved autoupdate on permission change. 2017-03-06 17:42:27 +01:00
FinnStutzenstein
bcc85f9cad Autoupdate on user permission change. 2017-03-06 15:08:23 +01:00
Oskar Hahn
26b7f2879c Let CollectionElement fail early
Fixes #2835
Fixes #2904
2017-02-12 14:15:58 +01:00
Oskar Hahn
2daafa8db9 Created a function to convert anything possible to a user-collectoin-element or None
Changed user.has_perm(...) to has_perm(user, ...) at any place.

Removed old code
2017-01-26 18:57:10 +01:00
Norman Jäckel
df60700612 Merge pull request #2882 from normanjaeckel/ChannelSendWait
Let channels' send method wait and retry if channel layer is full.
2017-01-25 16:40:43 +01:00