Also: changes the definition of "getTitle" and "getAgendaTitle" to be more
consistent and easier to guess. getTitle will simply return the title, while getAgendaTitle
returns the title with the agenda-prefix
Integrate live streaming inside the jitsi/rtc components.
Live streaming works without jitsi, but is using the same components for
a fluid integration.
A streaming URL can be set in the settings page.
Users EITHER consume the live stream OR are presend in a jitsi live
conference.
To consume both the live stream and the jitsi conference, users may use
a dedicated jitsi tab in their session.
The jitsi users can be restricted to only allow thouse with the right
the manage speakers or being present on the "current list of speakers",
automatically simulating a virtual plenum
Recent changes to amendment had various bugs.
This one regarded the amendment list, where amendments without amendmend
paragraphs returned several errors.
- 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.
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.
Various cryptic issues that had no usefull debug output.
ngx-translates "translate" directive was causing Firefox ESR
to jump in the "drainMicroTaskQueue" infinite recursion when
using the directive in the same component as nGrid.
Therefore, I changed all uses of the translate directive
to the pipe (arround 700 or so, regex is my best friend now)
open todo: adjust the linter that we may never use the translate
directive again.
There was another cryptic issue with the current version
of exceljs which was also causing firefox to go crash
when loading a workbook object. It was sufficient to
have any Workbook() function declared in a module to cause
firefox to crash.
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
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
Mainly simplify the user counting component.
It seems that counting IndexedDB has no value anymore,
since even Firefox ESR uses IndexedDB just fine and the LS fallback
proves to be reliable enough
- Remove "assignments.can_manage_polls" permission
- Let the client handle some user errors
- Add a send button to manually submit polls
- Show a hint that the user already submitted a vote
- will not (and should not) work for non-nominal voting
- submitting a vote cannot be changed anymore
- user will have to confirm sending
- enable deselecting YNA-votings
- nomainal voting will behace the same as non nominal voting
- submitting empty votes should be possible
Perhaps server side adjustments might still be required
- repaired the PDF Service for ballots
- fixed some permission errors
- analog voting has no "started" option anymore
- more-link as button
- named voting has a progress bar
- Shows the poll type for eVoting
- Moves and declutters meta info
- Enhance the grid and the layout in detail view
- declutter and enhance the dot-menus
- some other layout changes
- remove breadcrumbs in assignment detail
- other cleanups refinements
- Voting in Assignment over instead of forms
(requires more server changes)
- cleaned up a lot of code
- removed required majotiry from forms
- renamed verbose "Majority method" to "Required majority"
- poll-progress-bar only counts present user
- enhanced motion poll tile chart layout
- removed PercentBase.Votes
- added pollPercentBase pipe
- Show the voting percent next to chart in motion detail
- change the head bar to "Voting is open"
and "Ballot is open"
- merged the voting configs to their corresponding config-categories
- re-add ballot paper configs
- Add "more" button to motion polls
- Adjusted the motion results table
- Hide entries without information
- Show icons for Y N A
- Show percentage next to Y N A
For Motion poll:
- Overworked how motion poll chart displays the legend
- Added the vote counter to the motion detail
- Added a progress bar to the vote counter
- Fixed some perm errors with the chart
- Show a "Singe Votes" link as button for published named polls
- Replace the edit-button with a dot-menu
- Having project, Edit, PDF and Delete
For Motion Poll detail:
- enhance search panel
- Remove the breadcrumbs
- Remove the vote counter
- Enhanced the single-vote grid, table and filter bar
- Enhance how the poll state enum was checkend
For the Motion Poll Create/Update Form:
- Remove the selection of poll-methode (whenever possible)
- only show "publish imediately" during creation
Adds an option to the PDF motion list exporter
that allows users to explicitly enforce or prevent
page breaks before a new motion was printed.
The option is enabled by default
Renamed the option
"Show submitters and recommendation in table of contents"
to
"Show submitters and recommendation/state in table of contents"
If the option is selected, the PDF-TOC for motions will print
the name of the current state (if final) rather than the
current recomendation
Allows paragraph based amendments for other paragraph based
amendments.
Amendments to amendments will be amended to the main motion,
but will contain all the changes to the amendments they were
refering to
solves #5171
Adds various changes for a more complete 3.1 release
- cleaner "current slide" description in projector detail (grid with ellipsis)
- show the previously projected slides as ordered lists under the accordion
- fix a bug where everyone could access the projection manage view (although it was unfunctional without the correct permissions)
- assignment list now uses the correct ellipsis
- fixes a bug where the lable "list of speakers" was not translated on the projector slide
- Show a lock on the "list of speaker"-slide if it has been closed
- enable dialog tests that have previously been disabled
Adds the state "back: 'true'" to certain router navigations to set
a custom return point for using the OpenSlides back arrow.
Allows to return to category detail, motion block detail and
amendment detail from a motion detail view.
You will keep the navigation state for as long as you don't change
the view
Adds support for nested PDF lists in motions with line numbering
Numbers and lines can be slightly of in extrem cases.
Lists are supposed to be relatively short lists and are not(!) a replacement
for paragraphs.
Chaning that would require me to create our own implementation of
PDFMake-Lists
- cleans up the choice service and the choice dialogs to make them
simpler and more usable.
- adjusts search-value-selector to also accept lists
- the search value selector allows for better filtering of models in the choice dialog
- fixes an issue where deleting all tags required a selection
Fixes an issue where the "formatMotion" function was working on the wrong
array.
This resulted in unexpected results of both PDF and CSV export
Fixes as issue in the diff services that deleted replaced lines rather than overwriting them
- Updates the `virtual-scroll`-package.
- Updates the `list-view-table.component` for variable row-height.
- Adds config to have optional a subtitle in the `agenda-list`.
- 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