summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* feat(anzeigetafel): use a PIL bitmap font pil-fontsternenseemann2020-12-013-2/+46
| | | | | Experiment, probably to be abandoned since PIL ImageFonts don't seem to support unicode _at all_.
* fix(clients): make FlipdotGschichtlerError behave like a proper Exceptionsternenseemann2020-12-011-0/+7
|
* test(warteraum): fix 401 expected exception checkingsternenseemann2020-12-011-2/+3
|
* refactor(warteraum): make trim_whitespace accept a http_string_tsternenseemann2020-11-301-16/+20
|
* test(warteraum): fix reporting if valgrind reports errorssternenseemann2020-11-301-4/+4
|
* test(warteraum): add integration testssternenseemann2020-11-295-2/+203
| | | | | | | | | | | | | | Test: * response formats * queue properties * authentication in a sanity-check way using our python client library and pytest. Also we run the warteraum server inside valgrind (which makes the integration tests really slow unfortunately) in order to sanity check for memory leaks.
* feat(default.nix): build new python packages, refactorsternenseemann2020-11-295-102/+140
| | | | | | | | | | | | | * move auxiliary nix files into nix/ * add nix/version.nix as a global version for this repository * build flipdots.script as a python package * move warteraum derivation into its own file * remove with pkgs; prefix everything from nixpkgs explicitly * expose own version of python3 with our own pythonPackages added * build anzeigetafel as a python application * use subdirectories of rootSrc as source instead of the whole rootSrc with sourceRoot changed to minimize rebuilds where possible (bahnhofshalle, anzeigetafel, python packages)
* feat(flipdots): add setup.py to install flipdots.scriptssternenseemann2020-11-291-0/+9
|
* refactor(anzeigetafel): use flipdot_gschichtler for API requestssternenseemann2020-11-293-30/+32
|
* feat(clients): add python client library for REST APIsternenseemann2020-11-293-0/+96
|
* doc(api): document 415 codes where possiblesternenseemann2020-11-241-0/+3
|
* feat(warteraum): trim trailing and leading whitespace of text inputsternenseemann2020-11-241-0/+30
|
* feat(warteraum): impose max length on req body and text inputsternenseemann2020-11-241-5/+23
|
* chore(gitattributes): let linguist ignore vendor and generated codesternenseemann2020-11-241-0/+2
|
* fix(bahnhofshalle): include faviconsternenseemann2020-11-241-0/+1
|
* feat(bahnhofshalle): migrate to parcel for buildingsternenseemann2020-11-2411-2195/+7801
| | | | | | | | | | | | | | | We get * rid of redo * minified assets * output hashes (for aggressive caching) Also we use node2nix instead of yarn2nix. A node_modules directory which contains the entire dependency tree is something required for parcel to work. Unfortunately this is not provided currently by yarn2nix (I'll work on it again sometime). In order to not clutter up the build process and increase the build time with an experimental pinned version of yarn2nix, we'll just use node2nix.
* fix(ci): update cachix actions 2.0.0sternenseemann2020-11-241-2/+2
| | | | | This fixes build failures due to a recent deprecation in github actions: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
* chore(default.nix): set version to 2.0.0sternenseemann2020-11-241-1/+1
|
* doc(README): final 2.0.0 changelogsternenseemann2020-11-241-4/+6
|
* feat(ci): build all packages declared in default.nixsternenseemann2020-11-141-11/+2
|
* chore(nixpkgs-pinned): use nixos/nixpkgs mastersternenseemann2020-10-151-4/+3
| | | | | TODO: as soon as changes hit nixos-unstable, it should probably be possible to disable the pin altogether.
* fix(bahnhofshalle): minimize distracting resizessternenseemann2020-09-301-2/+4
| | | | | | | * fix header height * reserve space for the queue table thanks @Profpatsch for the suggestions
* feat(warteraum): improve error reporting to the api usersternenseemann2020-09-302-7/+12
| | | | | * /queue/add: return 503 if max id has been reached * Distinguish between endpoint not found and queue entry not found
* feat(default.nix): add package for anzeigetafelsternenseemann2020-09-292-12/+27
|
* fix(default.nix): use global version for bahnhofshallesternenseemann2020-09-291-1/+1
|
* chore(default.nix): remove unnecessary attributessternenseemann2020-09-292-13/+0
|
* feat(anzeigetafel): default to GNU Unifontsternenseemann2020-09-291-1/+7
| | | | | | | Bitmap font with the perfect pixel height (16) for our use case. If we get Unifont Upper as fallback font to work, we'll have pretty good unicode coverage as well (some scripts don't work perfectly in Unifont, but for us mostly Latin script plus Emojis is interesting).
* chore(README): fix asciidoc blunderssternenseemann2020-09-281-9/+9
|
* feat(emitjson): support more int typessternenseemann2020-09-283-10/+79
|
* fix(emitjson): resolve minimum value of signed type leading to garbagesternenseemann2020-09-281-2/+4
| | | | | | E. g. for INT8_MIN = -128 -u results (theoretically) in +128 which is greater than INT8_MAX (= 127). To avoid such issues we only invert the individual digits.
* chore(third_party): remove json_outputsternenseemann2020-09-263-603/+0
|
* refactor(warteraum): replace json_output with own emitjsonsternenseemann2020-09-2612-49/+359
| | | | | | | | Still somewhat limited, but implements everything we need in warteraum. API is very similar to json_output, but we choose to not implement buffer handling and use open_memstream instead. The FILE * abstraction suits us very well here since we just want to write chars to some kind of output.
* test(routing): very simple sanity checksternenseemann2020-09-255-6/+46
|
* chore(warteraum): clean up header inclusionssternenseemann2020-09-223-1/+5
|
* fix(warteraum): match segments exactly, not just prefixessternenseemann2020-09-223-22/+13
| | | | | | Previously match_string_segment(n, queue, … ) would match everything from "q" to "queue". This is now fixed by using HTTP_STRING_IS which also matches the strings' lengths.
* doc(README): correct api documentation for queue endpointsternenseemann2020-09-211-6/+5
|
* feat(bahnhofshalle): add faviconsternenseemann2020-09-212-0/+1
|
* doc(README): note id reassignementsternenseemann2020-09-211-0/+3
|
* doc(README): add building instructions, smaller updatessternenseemann2020-09-211-9/+139
|
* feat(ci): build on push and pull request using github actionssternenseemann2020-09-211-0/+29
|
* chore(default.nix): pin nixpkgs to fork with libscryp-kdfsternenseemann2020-09-212-1/+7
|
* fix(test): fix test execution in nixsternenseemann2020-09-212-0/+3
| | | | | redo-c gets confused by all target file being in the source tree, thus not building the ignored test/*.exe.
* feat(form): let form_parse parse a form instead of a sequence of tokenssternenseemann2020-09-2116-100/+318
| | | | test(test_form): test form parsing functionality in a number of cases
* performance(default.nix): redo-c is much faster than redo-shsternenseemann2020-09-211-2/+2
|
* chore(scroll_text): fix /usr/bin/env directivesternenseemann2020-09-201-1/+1
| | | | | | Note: We default to python instead of python3, this requires patching on outdated distributions (like Debian I guess?) which still default to python 2.7.
* refactor(scroll_text): adapt to python 3Robin Kara2020-09-201-3/+3
|
* fix(anzeigetafel): use httpssternenseemann2020-09-181-1/+1
| | | | | | warteraum doesn't like the request after redirection apparently. TODO: investigate how requests handles this and what the issue on warteraum's side is exactly
* feat(nixos,default.nix): configure salt and api tokens from nixsternenseemann2020-09-182-6/+70
|
* feat(nixos): restrict systemcalls furthersternenseemann2020-09-181-2/+2
|
* feat(nixos): draft nixos service for server sidesternenseemann2020-09-183-0/+83
|