Commit Graph

22 Commits

Author SHA1 Message Date
Finn Stutzenstein 1380812924
Fixes offline bar on successful reconnections (closes #5810). 2021-02-02 11:56:04 +01:00
FinnStutzenstein e225a57f97
OpenSlides3+: External Autoupdate Service
- Removing channels. Going back to a wsgi deployment
- Removed server projector code
- Autoupdate throttling is now in the client
- New communication stack in the client
- Adopted all deployment methods: Docker stack and docker compose (prod and dev)
- Added autoupdate service as submodule
2021-01-14 07:55:41 +01: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 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 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
Sean Engelhardt e1acf6e9d6 Update to Anulgar 9
Updates Angular to version 9.1
Updates most-to-all npm components
Removes deprecated components and npm commands
Updates travis node version
Adjust the whole code base to angular 9 standard
Increase TypeScipt version to 3.8
2020-04-01 14:50:15 +02:00
FinnStutzenstein 7af74fb07a Use Proxies for ViewModels
Also reworked creation of assignments, motions and users.
2019-10-16 09:11:02 +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 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 51a3fbdf3e New linting rules and ordering of imports 2019-07-30 09:53:14 +02:00
FinnStutzenstein 77dee0d977 Recover-strategy to detect an updated server without a reload 2019-07-11 19:23:25 +02:00
Sean Engelhardt bc0fea3310 Update to Angular 8.0.6
Updates to angular 8 and updates all used components

- removed wrapper class for ngx/pwa LocalStorrace
- removed database lock service due to bugs
- tried to work around a cycle of dependancies
- changed some structure to be more close to default angular
- removed legacy angular packages
- removed date-picker since it was not currently used and
  is not compatible anymore
- upgrade tinyMCE
2019-07-04 14:20:57 +02:00
FinnStutzenstein 9f12763f8b Split AgendaItem and ListOfSpeakers
Server:
- ListOfSpeakers (LOS) is now a speprate model, containing of an id,
speakers, closed and a content_object.
- Moved all speaker related views from ItemViewSet to the new
ListOfSpeakersViewSet.
- Make Mixins for content objects of items and lists of speakers.
- Migrations: Move the lists of speakers from items to the LOS model.

Client:
- Removed the speaker repo and moved functionality to the new
ListOfSpeakersRepositoryService.
- Splitted base classes for agenda item content objects to items and
LOS.
- CurrentAgendaItemService -> CurrentListOfSpeakersSerivce
- Cleaned up the list of speakers component.
2019-05-24 08:21:59 +02:00
FinnStutzenstein 5ad94cb2f4 Handles 'change id too high' and generic websocket error message format 2019-05-15 14:25:54 +02:00
FinnStutzenstein fe81ea6ff9 Speedup DS and repo updates, DSUpdateSlots, lazyloading history objects 2019-05-06 16:33:36 +02:00
FinnStutzenstein 2a73c194dd Fixed requesting all data after a connection lost 2019-04-26 09:51:44 +02:00
FinnStutzenstein a715c0e432 Refresh clients cache when the database was migrated 2019-04-15 16:13:52 +02:00
FinnStutzenstein dfaf8b552a Fixed handling of unregistered resources 2019-04-09 16:15:23 +02:00
FinnStutzenstein cc4d5a5739 Fix issues with minification 2019-02-12 09:28:54 +01:00
FinnStutzenstein 090bf49d97 Removed OpenSlidesComponent 2019-02-08 18:31:46 +01:00
FinnStutzenstein d0991936d6 ViewModelStore, register repositories, improve view model relations 2019-02-08 11:02:56 +01:00
FinnStutzenstein 97f60c1e6c Restructure the client, register Repositories and map to collection
strings.
2019-02-01 10:19:17 +01:00