Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | feat(warteraum): implement announcement expiry announcement | sternenseemann | 2020-12-08 | 11 | -56/+280 |
| | | | | | | | | | | | * Accept optional expiry_utc parameter in announcement PUT requests describing the point an announcement is deleted at * Check for expiry everytime some announcement related request is sent * implement announcement logic in announcement.c * implement http_string_t stroul separately in http_string.c * document API changes * reflect API changes in python client | ||||
* | doc(api): document announcement endpoint | sternenseemann | 2020-12-07 | 1 | -0/+99 |
| | |||||
* | test(warteraum): test authentication failures in announcement API | sternenseemann | 2020-12-07 | 1 | -0/+22 |
| | |||||
* | feat(clients): implement announcement API in python client | sternenseemann | 2020-12-07 | 1 | -1/+37 |
| | | | | Towards #5. | ||||
* | feat(warteraum): add announcement endpoint to v2 api | sternenseemann | 2020-12-07 | 2 | -0/+231 |
| | | | | | | | | The announcement endpoint allows to set a static message requestable via the API. This can be used to show a static announcement message in between queue entries for example. Towards #5. | ||||
* | chore(gitignore): ignore redo .lock files | sternenseemann | 2020-12-07 | 1 | -0/+1 |
| | |||||
* | fix(emitjson): add missing header inclusions | sternenseemann | 2020-12-07 | 1 | -0/+1 |
| | |||||
* | feat(anzeigetafel): use unifont pcf font | sternenseemann | 2020-12-01 | 1 | -1/+1 |
| | | | | | | | | | This *should* contain more codepoints than the truetype font, however the desired effect hasn't been achieved: we still have no emojis. I suspect this is an issue with PIL's ImageFont. However I haven't confirmed that the pcf in fact does contain these glyphs. | ||||
* | fix(clients): make FlipdotGschichtlerError behave like a proper Exception | sternenseemann | 2020-12-01 | 1 | -0/+7 |
| | |||||
* | test(warteraum): fix 401 expected exception checking | sternenseemann | 2020-12-01 | 1 | -2/+3 |
| | |||||
* | refactor(warteraum): make trim_whitespace accept a http_string_t | sternenseemann | 2020-11-30 | 1 | -16/+20 |
| | |||||
* | test(warteraum): fix reporting if valgrind reports errors | sternenseemann | 2020-11-30 | 1 | -4/+4 |
| | |||||
* | test(warteraum): add integration tests | sternenseemann | 2020-11-29 | 5 | -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, refactor | sternenseemann | 2020-11-29 | 5 | -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.scripts | sternenseemann | 2020-11-29 | 1 | -0/+9 |
| | |||||
* | refactor(anzeigetafel): use flipdot_gschichtler for API requests | sternenseemann | 2020-11-29 | 3 | -30/+32 |
| | |||||
* | feat(clients): add python client library for REST API | sternenseemann | 2020-11-29 | 3 | -0/+96 |
| | |||||
* | doc(api): document 415 codes where possible | sternenseemann | 2020-11-24 | 1 | -0/+3 |
| | |||||
* | feat(warteraum): trim trailing and leading whitespace of text input | sternenseemann | 2020-11-24 | 1 | -0/+30 |
| | |||||
* | feat(warteraum): impose max length on req body and text input | sternenseemann | 2020-11-24 | 1 | -5/+23 |
| | |||||
* | chore(gitattributes): let linguist ignore vendor and generated code | sternenseemann | 2020-11-24 | 1 | -0/+2 |
| | |||||
* | fix(bahnhofshalle): include favicon | sternenseemann | 2020-11-24 | 1 | -0/+1 |
| | |||||
* | feat(bahnhofshalle): migrate to parcel for building | sternenseemann | 2020-11-24 | 11 | -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.0 | sternenseemann | 2020-11-24 | 1 | -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.0 | sternenseemann | 2020-11-24 | 1 | -1/+1 |
| | |||||
* | doc(README): final 2.0.0 changelog | sternenseemann | 2020-11-24 | 1 | -4/+6 |
| | |||||
* | feat(ci): build all packages declared in default.nix | sternenseemann | 2020-11-14 | 1 | -11/+2 |
| | |||||
* | chore(nixpkgs-pinned): use nixos/nixpkgs master | sternenseemann | 2020-10-15 | 1 | -4/+3 |
| | | | | | TODO: as soon as changes hit nixos-unstable, it should probably be possible to disable the pin altogether. | ||||
* | fix(bahnhofshalle): minimize distracting resizes | sternenseemann | 2020-09-30 | 1 | -2/+4 |
| | | | | | | | * fix header height * reserve space for the queue table thanks @Profpatsch for the suggestions | ||||
* | feat(warteraum): improve error reporting to the api user | sternenseemann | 2020-09-30 | 2 | -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 anzeigetafel | sternenseemann | 2020-09-29 | 2 | -12/+27 |
| | |||||
* | fix(default.nix): use global version for bahnhofshalle | sternenseemann | 2020-09-29 | 1 | -1/+1 |
| | |||||
* | chore(default.nix): remove unnecessary attributes | sternenseemann | 2020-09-29 | 2 | -13/+0 |
| | |||||
* | feat(anzeigetafel): default to GNU Unifont | sternenseemann | 2020-09-29 | 1 | -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 blunders | sternenseemann | 2020-09-28 | 1 | -9/+9 |
| | |||||
* | feat(emitjson): support more int types | sternenseemann | 2020-09-28 | 3 | -10/+79 |
| | |||||
* | fix(emitjson): resolve minimum value of signed type leading to garbage | sternenseemann | 2020-09-28 | 1 | -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_output | sternenseemann | 2020-09-26 | 3 | -603/+0 |
| | |||||
* | refactor(warteraum): replace json_output with own emitjson | sternenseemann | 2020-09-26 | 12 | -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 check | sternenseemann | 2020-09-25 | 5 | -6/+46 |
| | |||||
* | chore(warteraum): clean up header inclusions | sternenseemann | 2020-09-22 | 3 | -1/+5 |
| | |||||
* | fix(warteraum): match segments exactly, not just prefixes | sternenseemann | 2020-09-22 | 3 | -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 endpoint | sternenseemann | 2020-09-21 | 1 | -6/+5 |
| | |||||
* | feat(bahnhofshalle): add favicon | sternenseemann | 2020-09-21 | 2 | -0/+1 |
| | |||||
* | doc(README): note id reassignement | sternenseemann | 2020-09-21 | 1 | -0/+3 |
| | |||||
* | doc(README): add building instructions, smaller updates | sternenseemann | 2020-09-21 | 1 | -9/+139 |
| | |||||
* | feat(ci): build on push and pull request using github actions | sternenseemann | 2020-09-21 | 1 | -0/+29 |
| | |||||
* | chore(default.nix): pin nixpkgs to fork with libscryp-kdf | sternenseemann | 2020-09-21 | 2 | -1/+7 |
| | |||||
* | fix(test): fix test execution in nix | sternenseemann | 2020-09-21 | 2 | -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 tokens | sternenseemann | 2020-09-21 | 16 | -100/+318 |
| | | | | test(test_form): test form parsing functionality in a number of cases |