c186a575f6
A conceptional issue in `get_data_since` leads to incomplete autoupdates. The behaviour was long time in the code, but only with a lot of autoupdates (high concurrency) and the autoupdate delay I noticed the bug during testing. I'm sure, that this issue might have caused incomplete autoupdates (which the user may experience as "lost autoupdates") in previous productive instances. Instead of quering a range (from_change_id to to_change_id) one now can only get data from a change id up to the max change id in the element cache. The max change id gets now returned by `get_data_since`. I also added a get_all_data with the capability of returning the max_change_id at this point of time. As a usability-"fix" (more like a fix the result of a bug, not the bug itself) a refresh button for a poll was added, that issues an autoupdate for the poll and all options. |
||
---|---|---|
.. | ||
e2e | ||
src | ||
.editorconfig | ||
.prettierrc | ||
angular.json | ||
browserslist | ||
karma.conf.js | ||
ngsw-config.json | ||
package.json | ||
proxy.conf.json | ||
README.md | ||
sed_replacements | ||
tsconfig-es5.app.json | ||
tsconfig.app.json | ||
tsconfig.json | ||
tsconfig.spec.json | ||
tsconfig.worker.json | ||
tslint.json |
OpenSlides 3 Client
Prototype application for OpenSlides 3.0 (Client). Currently under constant heavy maintenance.
Development Info
As an Angular project, Angular CLI is highly recommended to create components and services. See https://angular.io/guide/quickstart for details.
Contribution Info
Please respect the code-style defined in .editorconf
and .pretierrc
.
Code alignment should be automatically corrected by the pre-commit hooks.
Adjust your editor to the .editorconfig
to avoid surprises.
See https://editorconfig.org/ for details.
Pre-Commit Hooks
Before commiting, new code will automatically be aligned to the definitions set in the
.prettierrc
.
Furthermore, new code has to pass linting.
Our pre-commit hooks are:
pretty-quick --staged
and lint
See package.json
for details.
Documentation Info
The documentation can be generated by running npm run compodoc
.
A new web server will be started on http://localhost:8080
Once running, the documentation will be updated automatically.
You can run it on another port, with adding your local port after the command. If no port specified, it will try to use 8080.
Please document new code using JSDoc tags. See https://compodoc.app/guides/jsdoc-tags.html for details.
Development server
Run npm start
for a development server. Navigate to http://localhost:4200/
.
The app will automatically reload if you change any of the source files.
A running OpenSlides (2.2 or higher) instance is expected on port 8000.
Start OpenSlides as usual using
python manage.py start --no-browser --host 0.0.0.0
Translation
We are using ngx-translate for translation purposes.
Use npm run extract
to extract strings and update elements an with translation functions.
Language files can be found in /src/assets/i18n
.
Used software
OpenSlides uses the following software or parts of them:
- @angular/animations@9.1.0, License: MIT
- @angular/cdk-experimental@9.2.0, License: MIT
- @angular/cdk@9.2.0, License: MIT
- @angular/common@9.1.0, License: MIT
- @angular/compiler@9.1.0, License: MIT
- @angular/core@9.1.0, License: MIT
- @angular/forms@9.1.0, License: MIT
- @angular/material-moment-adapter@9.2.0, License: MIT
- @angular/material@9.2.0, License: MIT
- @angular/platform-browser-dynamic@9.1.0, License: MIT
- @angular/platform-browser@9.1.0, License: MIT
- @angular/router@9.1.0, License: MIT
- @angular/service-worker@9.1.0, License: MIT
- @ngx-pwa/local-storage@9.0.3, License: MIT
- @ngx-translate/core@12.1.2, License: MIT
- @ngx-translate/http-loader@4.0.0, License: MIT
- @pebula/ngrid-material@2.0.0-rc.1, License: MIT
- @pebula/ngrid@2.0.0-rc.1, License: MIT
- @pebula/utils@1.0.2, License: MIT
- @tinymce/tinymce-angular@3.5.0, License: Apache-2.0
- acorn@7.1.1, License: MIT
- chart.js@2.9.3, License: MIT
- core-js@3.6.4, License: MIT
- css-element-queries@1.2.3, License: MIT
- exceljs@3.8.2, License: MIT
- file-saver@2.0.2, License: MIT
- lz4js@0.2.0, License: ISC
- material-icon-font@0.1.0, License: ISC
- moment@2.24.0, License: MIT
- ng2-charts@2.3.0, License: ISC
- ng2-pdf-viewer@6.1.2, License: MIT
- ngx-file-drop@8.0.8, License: MIT
- ngx-mat-select-search@2.1.2, License: MIT
- ngx-material-timepicker@5.5.1, License: MIT
- ngx-papaparse@4.0.4, License: MIT
- pdfmake@0.1.65, License: MIT
- po2json@1.0.0-beta-2, License: LGPL-2.0-or-later
- rxjs@6.5.4, License: Apache-2.0
- tinymce@5.2.1, License: LGPL-2.1
- tslib@1.11.1, License: Apache-2.0
- zone.js@0.10.3, License: MIT
- @angular-devkit/build-angular@0.901.0, License: MIT
- @angular-devkit/schematics@9.1.0, License: MIT
- @angular/cli@9.1.0, License: MIT
- @angular/compiler-cli@9.1.0, License: MIT
- @angular/language-service@9.1.0, License: MIT
- @biesbjerg/ngx-translate-extract@6.0.3, License: MIT
- @compodoc/compodoc@1.1.11, License: MIT
- @schematics/angular@9.1.0, License: MIT
- @types/jasmine@3.5.10, License: MIT
- @types/jasminewd2@2.0.8, License: MIT
- @types/node@13.9.8, License: MIT
- @types/yargs@15.0.4, License: MIT
- codelyzer@5.2.2, License: MIT
- husky@4.2.3, License: MIT
- jasmine-core@3.5.0, License: MIT
- jasmine-spec-reporter@5.0.1, License: Apache-2.0
- karma-chrome-launcher@3.1.0, License: MIT
- karma-coverage-istanbul-reporter@2.1.1, License: MIT
- karma-jasmine-html-reporter@1.5.3, License: MIT
- karma-jasmine@3.1.1, License: MIT
- karma@4.4.1, License: MIT
- npm-license-crawler@0.2.1, License: BSD-3-Clause
- prettier@2.0.2, License: MIT
- protractor@5.4.3, License: MIT
- resize-observer-polyfill@1.5.1, License: MIT
- ts-node@8.8.1, License: MIT
- tslint@6.1.0, License: Apache-2.0
- tsutils@3.17.1, License: MIT
- typescript@3.8.3, License: Apache-2.0