about summary refs log tree commit diff
path: root/corp
AgeCommit message (Collapse)AuthorFilesLines
2023-06-10 r/6255 fix(corp/rih): correct structure of frontend requestVincent Ambo1-4/+11
Gotta use a shared crate for this .. Change-Id: I57669bdcace9676ff1311f3171c015702c934f56 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8734 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6254 feat(corp/rih): add UUIDs to records from frontendVincent Ambo4-2/+22
This UUID stays the same even if a user submits the form multiple times (unless they edit it manually in local storage, of course). Change-Id: I4190fbfeb1027ce8a8d87bc283099539e8722b39 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8733 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6250 feat(corp/rih): persist data in storage bucketVincent Ambo3-6/+533
Change-Id: Ide7a21b97e845681584378d348cc36aba951d69f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8730 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-09 r/6249 chore(corp/ops): pipe secrets through to backend containerVincent Ambo1-0/+14
Change-Id: Idcaa4a7213b53fe1e818c6a81754d29b6249e957 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8729 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6248 feat(corp/ops): configure data storage bucketVincent Ambo1-7/+77
Note that there doesn't seem to be a TF resource type for the IAM binding between the bucket and the service account itself (other than applying to all buckets in the folder, which I don't want). For this reason I've added the `storage.uploader` IAM binding to the `rih-backend` service account *on the bucket* manually. Change-Id: I9fb06c7857e61dc642d9ea0d89159a0e343dc984 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8728 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6247 feat(corp/ops): configure hosting setup for backend domainVincent Ambo1-0/+64
Change-Id: Ia0298e3be2e16ac5dbc2b8aec1e840aa3af947e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8719 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6246 feat(corp/ops): initial resources for running rih containerVincent Ambo1-0/+36
Change-Id: Ie7276396bbfcff64d91ca8cc655cad6927fd6599 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8718 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6238 chore(corp/rih): bootstrap backend application with rouilleVincent Ambo4-0/+905
Change-Id: I48b0c432a843db5a44b3a3de09f18e1232644a44 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8715 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-06 r/6237 chore(corp/rih): move frontend to a separate folderVincent Ambo11-0/+0
Change-Id: Ic7467f459015c39c73f87c61a048319eaf1243be Reviewed-on: https://cl.tvl.fyi/c/depot/+/8714 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6236 feat(corp/rih): submit form data to backendVincent Ambo4-3/+74
Change-Id: I0c74deea8debf9acbcf6eabf225969dbfe9cc34c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8703 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6235 feat(corp/rih): activate submit button when data is completeVincent Ambo2-1/+14
The completion detection is very naive for now, but baby steps etc. Change-Id: Iec6eae77fca13f3fc0ee1225268eef04277b504a Reviewed-on: https://cl.tvl.fyi/c/depot/+/8702 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6234 feat(corp/rih): wire up captcha solving callbackVincent Ambo2-11/+35
This turned out a lot nicer than I expected it to be. Change-Id: I427670644eba789ea2037423fa9af8e632b19b34 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8695 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6233 feat(corp/rih): display & load captcha element inside the formVincent Ambo5-7/+39
Change-Id: Ifd0f85d9e4f785c4cb1ae56ae67e6d999ff43c85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8694 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6232 chore(corp/rih): reverse form orderVincent Ambo1-31/+34
This makes more sense to me. Change-Id: I013bf9457f20a31a9762768607f4094358e1b7cb Reviewed-on: https://cl.tvl.fyi/c/depot/+/8693 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-05-31 r/6225 feat(corp/ops): configure bucket hosting configurationVincent Ambo1-0/+17
This doesn't have redirects for weird routes yet, but I think that's doable somehow. Change-Id: Iaaac711304f9b2bd8ea04302940e9e9259cd67c9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8663 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-05-27 r/6212 feat(corp/rih): implement routing support for privacy policyVincent Ambo1-2/+27
Mounts the privacy policy at `/privacy-policy`. Using yew_router "properly" is difficult in components that don't make use of macros and context magic, so I've opted to use the gloo history handling directly to parse the location here. Change-Id: Icde11485f9947bc860a7b2c43772bb0f4cdf2ea1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8653 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-05-27 r/6211 feat(corp/rih): add initial privacy policyVincent Ambo1-0/+100
Change-Id: I0c5bade3521300d1a9d91009686770b845f88d74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8652 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-05-27 r/6210 feat(corp/ops): initial hosting bucket & TLS configurationVincent Ambo2-7/+52
Doesn't actually have bucket serving or access configuration yet, one step at a time! Change-Id: I0ce9b3b077252395bd807fad44cbdca40cdeac49 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8649 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-05-27 r/6209 feat(corp/rih): add macro to render Markdown->yew::Html staticallyVincent Ambo5-0/+518
This makes it possible to embed long texts from Markdown files instead of dealing with writing the weird HTML-tags inside the yew macros, which will be much easier for content editors to deal with. Change-Id: Idc4e67404fcfe2b8d5083cf556df1c701ba17660 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8648 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-05-27 r/6208 feat(corp/rih): implement initial frontend applicationVincent Ambo10-0/+2057
This doesn't actually submit anything to the (not-yet-existing) backend, but will help the designers figure out what we're actually looking for here. Change-Id: I680d88151fb0706953f18eb6256da6f205da7ffb Reviewed-on: https://cl.tvl.fyi/c/depot/+/8489 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-05-23 r/6176 chore(corp/ops): yc-cli: 0.104 -> 0.106Vincent Ambo1-2/+2
Change-Id: If783a7a4315ecab70f20347a66fb72f682dbd97c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8609 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-05-23 r/6174 chore(corp): update copyright yearsVincent Ambo1-1/+1
Change-Id: I59a93c5c41562f5c7c65c9fd6a4d4409df904beb Reviewed-on: https://cl.tvl.fyi/c/depot/+/8607 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-05-11 r/6134 chore(tvix/*): bump to smol_str 0.2.0Florian Klink1-62/+4
Change-Id: Ic9ac1b6fecb564eafb41b265bf317cd385fdc170 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8560 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-04-24 r/6111 feat(corp/ops): add NixOS profile for Yandex Cloud machinesVincent Ambo3-0/+89
Sets up a virtual machine image that is bootable on Yandex Cloud. There are some slightly wonky behaviours still, like cloud-init apparently putting all keys into root's authorized_keys no matter what is specified in the metadata, but it does work now. Change-Id: I57dcb7fcfa6872a28855dc1347f73a6db3c56828 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8496 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-04-24 r/6110 chore(corp/ops): move terraform config into subfolderVincent Ambo4-0/+2
Change-Id: Iad5ad8d9a48c300faf2e4be7003879656817b518 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8495 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-04-24 r/6109 feat(corp/ops): configure state bucket for terraformVincent Ambo3-0/+72
This was a bit trickier than I anticipated, because there's no good ways to avoid passing the credentials around manually. What's basically happening now is that the credentials for the state bucket are checked in (encrypted), and sourcing `creds.fish` uses the cloud HSM to decrypt and load them into the environment. Change-Id: I3f5ce1c9bd9d5efbf1013414f94771a09ea3a488 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8494 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-04-24 r/6108 feat(corp/ops): add yc-cliVincent Ambo1-0/+16
Change-Id: If6578693a5d5ef49d059735eeade3bebf13c4d16 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8493 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-04-24 r/6107 feat(corp/ops): bootstrap separate corp terraform configVincent Ambo4-0/+37
Doesn't actually contain any configuration yet, just setting up TF with the right providers and so on. Change-Id: Ia7128dd977b4ff69eebaa36c6cad6ac104cafcdb Reviewed-on: https://cl.tvl.fyi/c/depot/+/8492 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-03-10 r/5947 fix(predlozhnik): use correct link to source code after moveVincent Ambo1-1/+1
Change-Id: I74da72818d9afa96d6bfbfd02f0110707ef8b721 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8248 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-03-07 r/5899 feat(tvix/eval): introduce generators moduleVincent Ambo1-2/+76
This module contains the request/response types for generators requesting actions from the VM. For most of these, an async helper function is added that will be used inside of generator functions to make use of these requests/responses instead of constructing them directly. Change-Id: I1e085f88adaf784a34867957a0e82532d3a83d7c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8148 Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2023-02-07 r/5839 chore(3p/sources): bump nixpkgs & overlays (2023-02-07)Vincent Ambo4-22/+22
Included fixes: * //3p/overlays: tdlib override no longer needed (bump has landed upstream) * //corp/{predlozhnik,tvixbolt}: bump wasm-bindgen to match nixpkgs Home-manager has not been bumped as it has introduced an incompatibility with Nix 2.3 Change-Id: I96ac3462b82c73db1ba23be03d7968f10abc9b53 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8033 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-02-03 r/5835 feat(corp/tvixbolt): link to tvl.su tooFlorian Klink1-0/+11
Make it clear that Tvixbolt is a project of TVL LLC, and link to the community website too. See https://b.tvl.fyi/issues/248 Change-Id: Iefefe0263fa5ef01587d49c5a130a38b78ca7981 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8019 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-02-03 r/5834 docs(corp/website): distinguish TVL LLC and TVLFlorian Klink1-2/+2
See https://b.tvl.fyi/issues/248 Change-Id: Iacc10841bdcdf1dbc8eab659d82e076fa2151979 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8020 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-02-01 r/5820 chore(corp/tvixbolt): update Cargo.lockFlorian Klink1-52/+52
Change-Id: Ie6bb2df16f79f7d977a7e95187a6b81e3ac0108f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8011 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-01-29 r/5774 docs(corp/website): update website contentVincent Ambo4-41/+222
Adds a multi-lingual version of the page, with the standard English page being served at `/` and `/en`, and the new Russian version at `/ru`. Change-Id: I54ceea91d1442ee7b8717b59083e5d07c36ca8b0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7940 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-25 r/5755 fix(corp/data-import): `rank` is an integer fieldVincent Ambo2-2/+2
Change-Id: Ifc9cd46e5b5521096db19628bd8bcf026106dcc9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7926 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-25 r/5754 feat(tvix/eval): implement builtins.fromTOMLFlorian Klink1-0/+53
This allows parsing TOML from Tvix. We can enable the eval-okay-fromTOML testcase from nix_tests. It uses the `toml` crate, and the serde integration it brings with it. Change-Id: Ic6f95aacf2aeb890116629b409752deac49dd655 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7920 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-25 r/5753 feat(tvix/eval): use lexical-core to format floatFlorian Klink1-0/+72
Apparently our naive implementation of float formatting, which simply used {:.5}, and trimmed trailing "0" strings not sufficient. It wrongly trimmed numbers with zeroes but no decimal point, like `10000` got trimmed to `1`. Nix uses `std::to_string` on the double, which according to https://en.cppreference.com/w/cpp/string/basic_string/to_string is equivalent to `std::sprintf(buf, "%f", value)`. https://en.cppreference.com/w/cpp/io/c/fprintf mentions this is treated like this: > Precision specifies the exact number of digits to appear after > the decimal point character. The default precision is 6. In the > alternative implementation decimal point character is written even if > no digits follow it. For infinity and not-a-number conversion style > see notes. This doesn't seem to be the case though, and Nix uses scientific notation in some cases. There's a whole bunch of strategies to determine which is a more compact notation, and which notation should be used for a given number. https://github.com/rust-lang/rust/issues/24556 provides some pointers into various rabbit holes for those interested. This gist seems to be that currently a different formatting is not exposed in rust directly, at least not for public consumption. There is the [lexical-core](https://github.com/Alexhuszagh/rust-lexical) crate though, which provides a way to format floats with various strategies and formats. Change our implementation of `TotalDisplay` for the `Value::Float` case to use that. We still need to do some post-processing, because Nix always adds the sign in scientific notation (and there's no way to configure lexical-core to do that), and lexical-core in some cases keeps the trailing zeros. Even with all that in place, there as a difference in `eval-okay- fromjson.nix` (from tvix-tests), which I couldn't get to work. I updated the fixture to a less problematic number. With this, the testsuite passes again, and does for the upcoming CL introducing builtins.fromTOML, and enabling the nix testsuite bits for it, too. Change-Id: Ie6fba5619e1d9fd7ce669a51594658b029057acc Reviewed-on: https://cl.tvl.fyi/c/depot/+/7922 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-01-24 r/5752 feat(corp/data-import): map OR word types to sets of OC grammemesVincent Ambo1-0/+13
Change-Id: I674f3a66fcd65314431a2ebd747e3830aa2dd7a1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7924 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-01-24 r/5751 feat(corp/data-import): map OC lemma grammemes to OR form typesVincent Ambo1-15/+103
Change-Id: Ie804d185269336b0d9fe417754e5e795918e65b8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7923 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-24 r/5750 feat(corp/data-import): map OC word grammemes to OR form typesVincent Ambo2-0/+85
This table maps the grammemes for individual word forms (*not* for lemmata in either corpus!) to the corresponding grammemes from the other dataset. These have drastically different shapes, so the mapping is not perfect, but will help in determining which forms are intended to be the same on both sides. Change-Id: Ib0717e2f7a79d96bcb5e955a20f551e391fcd759 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7918 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-01-22 r/5733 fix(corp/tvixbolt): set output to eval value.Aaqa Ishtyaq1-0/+5
This CL fixes the bug where output of a nix evaluation is not set. Change-Id: I8ae2759a7ec26e1de2e57dd43302129347a8c302 Signed-off-by: Aaqa Ishtyaq <aaqaishtyaq@gmail.com> Reviewed-on: https://cl.tvl.fyi/c/depot/+/7896 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-01-22 r/5732 feat(corp/data-import): add import of OR 'translations' tableVincent Ambo3-0/+70
The original dataset contains translations into different languages, but only the English ones are imported here. Note that translations are for lemmata only. Change-Id: Ifb9c32c25fda44c38ad899efca9d205c520c0fa3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7895 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-21 r/5730 feat(corp/data-import): add import of OR 'words_forms' tableVincent Ambo3-6/+69
This is the full morphological set table for all the words from the lemmata table, which they don't call it that. Change-Id: I6f5be673c5f59f11e36bd8c8c935844a7d4fd170 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7894 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-01-21 r/5729 feat(corp/data-import): add import of OpenRussian 'words' tableVincent Ambo6-30/+348
This is actually the lemmata table of this corpus, not the forms of all words (they're in a separate table). Change-Id: I89a2c2817ccce840f47406fa2a636f4ed3f49154 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7893 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-21 r/5728 chore(corp/data-import): make OR data archive available in envVincent Ambo1-8/+15
Change-Id: Idacf42743051eae0cf7010f952a4f91af17ad708 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7892 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-18 r/5703 docs(corp/data-import): document OpenRussian formatVincent Ambo1-4/+53
This is the second dataset I want to integrate as it contains some more practically useful, but somewhat less structured, information. Change-Id: Ib46b2597a33e76f59e030f889a0961ecc5a144eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/7873 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2023-01-18 r/5702 chore(corp/data-import): namespace tables for OpenCorpora dataVincent Ambo2-22/+22
I'm changing strategies to importing both OC and another dataset before continuing to normalise the data, as it might be easier to do in a set of table-constructing queries inside of SQLite with all raw data in place. Change-Id: I26b41af80586fc1bfd8e26a6be20579068a82507 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7872 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-18 r/5693 feat(corp/data-import): build morphology database in derivationVincent Ambo1-6/+10
This makes the actual imported database of the ~whole Russian language (all lemmas, grammemes, forms etc.) a Nix build target which is built in CI. This still needs schema normalisation (it's fairly directly mapped to the raw data), but it's already starting to be a useful data set. This also happens to be a pretty cool demonstration of the power of Nix. You can do `nix-build -A corp.russian.data-import.database` and out comes a perfectly valid SQLite database with a valid external data import! Change-Id: I5d6d15e67d0e4a7ff590fad06252be34f5d561fd Reviewed-on: https://cl.tvl.fyi/c/depot/+/7866 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-18 r/5692 feat(corp/data-import): let users specify output pathVincent Ambo1-6/+14
Change-Id: I61ad021c7a5318b099f3adc8bc6aedef65500974 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7865 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>