aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* bugfix: recognise ssl is used even when `enableSSL` is not set.stuebinm2021-03-091-1/+1
| | | | | | | | Previously, I had expected that `enableSSL` would be set to true even if ssl was handled through some other option (e.g. `forceSSL`). This is apparently not the case, so the module explicitely checks for other options as well now.
* small bugfixesstuebinm2021-03-082-2/+1
| | | | | - delete copy of example folder in picarones-elm which broke the build - actually check if the service should be enabled before building it
* new option: backend proxy is now optionalstuebinm2021-03-082-5/+9
|
* Added basic nixos module (and restructured some files)stuebinm2021-03-0711-80/+186
| | | | | | | | | Right now, this is capable of setting up a running instance of picarones in a couple lines of config (both backend server and the webapp, using nginx). More options should still be added, especially to make the backend's port configurable (but this requires adding features to the haskell code)
* add example pdftoppm command to the coverstuebinm2021-03-071-3/+5
|
* Add simple cover which lets users create new linksstuebinm2021-03-075-5/+117
|
* do not load all slides at oncestuebinm2021-03-071-1/+5
| | | | | | | | to prevent noticable load times when switching slides, picarones previously loaded all slides at once, and then only displayed whichever one was applicable. This cause problems with larger slidesets; instead, it now loads the current slides and the two previous and next slides (wrapping around at the end/beginning).
* Load slides from url given in uri fragmentstuebinm2021-03-073-10/+17
| | | | | | Syntax is: https://domain-to-app#<prefix-for-slides>#<number-of-slides> Slides must be .png image files numbered as 01.png, 02.png ...
* Join subtrees and integrate meta info / gitignorestuebinm2021-03-079-2/+350
|\ | | | | | | | | | | git-subtree-dir: picarones-elm git-subtree-mainline: 2ad5d413aa958a1c2fe75ce7aa155576e9a80345 git-subtree-split: f4a1ee55987b7c58745dc5865c4ecf30874a3564
| * add default.nixstuebinm2021-03-072-0/+2
| | | | | | | | | | Somewhat basic for now, but it does build a directory with a functioning website inside of it.
| * nix derivation with elm2nixstuebinm2021-02-195-1/+89
| | | | | | | | | | (modified, to make it work again — elm2nix generates somewhat obstuse and occasionally useless code)
| * Simple Slide-changing clientstuebinm2021-02-196-0/+260
| | | | | | | | Everything works, EXCEPT: - choosing slidesets - choosing rooms - choosing the number of slides at runtime.
* Add server to general repositorystuebinm2021-03-073-0/+0
| | | | Idea: have all components of this program in one repository
* Added nix build expressionstuebinm2021-03-073-1/+35
| | | | makes a derivation with a functioning server inside of it.
* Better handling of jsonstuebinm2021-03-071-20/+47
| | | | | (mostly to reduce the number of record types needed, and to deal with multiple possible types of client messages)
* Send JSON instead of bare textstuebinm2021-02-191-4/+5
| | | | | (before, the server just sent "state [n]" on state change, instead of a properly serialised json value)
* Seperate room states from global server statestuebinm2021-02-171-51/+78
| | | | | | | | The main server state is now a `HashMap` of `Text` to `MVar Room` instead of just `Room`. This allows for changing room states independently from the server state, which should make the entire thing scale better on multi-core architectures (nevermind that "switching slides" is presumably not something in much need of multicore servers ...)
* initial commitstuebinm2021-02-173-0/+193
So far, it is fairly inefficient — for each message, the global state of the application is changed (i.e. a read-write action on a HashMap). Since clients can't change rooms after joining anyways, this should probably be changed.