diff --git a/CHANGELOG.md b/CHANGELOG.md index e568f9fa..666bb2e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## [0.24.4] - 2023-10-05 + + - Minor bugfixes + +## [0.24.3] - 2023-10-03 + - Fixes for the pyodide upgrade - Libraries updates diff --git a/README.adoc b/README.adoc index e45efc92..726d88ff 100644 --- a/README.adoc +++ b/README.adoc @@ -17,6 +17,129 @@ This repository follows the monorepo pattern and includes the following projects - Or clone the submodules separately after the initial clone by running `git submodule update --init --recursive` in the repository folder - Use one of the development methods below +=== Running on Docker + +You can run this application conveniently packaged with docker compose. + +You can use the existing xref:./docker-compose.yml[docker-compose.yml] as starting point. +Among the typical Rails ENV vars (such as `SECRET_KEY_BASE`), there is also the `IDENTIFICATION_PRIVATE_KEY` env. This is the private key that identifies this bulletin board instance. Keep reading to see how to generate this private key. + +Also, you need to have an additional docker instance running, with the same ENVs, a `sidekiq` instance. This is very important as they are many background jobs created by the bulletin board on every cryptographic transaction. If using the provided xref:./docker-entrypoint.sh[entrypoint], you can use simply the ENV `RUN_SIDEKIQ` in the worker: + +```console +IDENTIFICATION_PRIVATE_KEY=-private-key-for-this-bulletin-board +RUN_SIDEKIQ=true +``` + +==== Configuring a new bulletin board instance + +The parameter that defines the identity of a bulletin board is its private key. This is simply an RSA type of key generated with the OpenSSL library. For convenience you can generate it with the following command: + +```console +bin/rails client:generate_identification_private_key +``` + +You must run this command inside the `bulletin_board/server` folder or, if using docker-compose (you need it up and running first), access to the bash console with `docker-compose exec app bash` and run it there. + +The result will look something like this + +```console +root@8e29f0e27bcd:/code/bulletin_board/server# bin/rails client:generate_identification_private_key + +{"kty":"RSA","n":"xAXGOyY4GbdRqsVDYBvyVDP00eFkEuBN_WAU8IEMndQ-F-Z7K38hzGVrgED02YloFf984bKaLTjyBzpTx5MDA-4Hj1rjxoCRTPUHm-3_ixH511HT0fLI4060MerbFhD1QiQ8V6s-LBt8XicCmNHT-rpxd8zLsFAWnsTP-1FfEzDdzPXFZiL5VFZTUfy-JjXvE1DyCzKIiSFSgM0H2Z6wKgBKEmLt3tzdHZrs2QgaHOmZciPvRy6pXCkcRZs4Sjj0Fr-oaisA--wIcbsnBofkgL--Ncv0w6VfvHmm-r1GPuzX-ucu1IbjPLLaLnE6RpLuq17-W8xpdFbLz9UQ-ZUr0pmvYK5pYprtmqQdG-uagmyOSzFuZCSTEOqeSdeKWRnFubdnEoPP7s6hFqaptpk-Y7WeSamkvtFQ6Ery6CikJWc7kTIhoGpnZH6VeFwLTsKq3t7c2WW7bZio2xlmdo40FFHr_p0Tuf38v0-A-y525jNKriOWC6JZdQN1yJMWnReoReom8ydDqjsepSEgwAmBK38hcXZgHR8otzf_EvGcR2mmwSWnMRk2lu9J1nV2OYBmy1C79vZK8V6MruiRz595Lz-amHbwkikC1GHG9MQUhlUiqKsYLC-ammF01mT9mjZ-fnUcZu09VS9NRq33K9MfXTuZfGlnLEB_848MHr9zDkc","e":"AQAB","kid":"f32df481d9d9d3c73fd88fa819b1ef5a844de5110cd3d72829f5adb90a08ba19","d":"ddca0lgphZwk5kpsNIzYYzJQzRN4O7jIabenHuYVlZQQOAIAradhxCR8Ob_S8iuefQr4Ih5ifSksppez4dhJCcXAmbeEEsMblm3_QwgShaIq1fyFIEOZ7LxVq2SKjHtpVXe_Jtz1JULowxkkgIYzrxkCOYjOMpIS5yNd_LFwPHM2A48EOmBwDvlOYY1VKldl__C7cWvRlM6JcJDRVUwGj1lZLjB223FfI_sMw3QRbqwn6OwdXmd4vMSiEF49urD-W-af8iMkFk5QzT47Obvb7GJYkLKp1CvIn99qOHYskouDU3xDNNRaKxVCAIVlCSQvgqo6syjxhFThdXGbIM9CZestXuYEeo3Ke0wNDzq9crzSK8NKE3hRjX4GiNrIMD1JRpFvpw_rm5cjKs-Bsm5WfF5QiRyJAEJiYsIIEPWgCT6C_k7cCmPyIguJJOvvut4ekMliM8HPvBt_ASgrWpgMQMZ1IEojqNl5Ih6-s02AcxVgV7xzldSmpBERrH6CExWqMn0zyHNg3wFKUaoPY1iVmAJEannxqQq-2FPKji__QdIW5ULZXHtBa6I48JDwR5SfGg4GGJYrlWwEhxKq-GRxhJpZyeOUT94X5ofXPabRXyAc93y_B1adELO7NDRXBSEcXjQHHQg7Ob2W5_gfFNSG2-zJmLh3BfnykOHyOeIufsE","p":"_ieOH8SkgMLld3lpPQ0AU_6oaYrjbDEr5K8HQ5_po44Y6PXnSDHevmuMod3KINs5fr9vEqt10IgvEDlfxbSdIyKqBGWUtJgSCxU4d-al2eDYlbja9uorlzoJeqMmEXaZpUsuXxTyPe1V3dWUhUO3gQJrWOEP5BB2fDc_5ErYV5k3SX-7xFo7zEHM68gby-UQxOqAgCrgCR6JYYAYhscR1FhuU-JqbbJEHldlhAao4nKIAl6BZi7UwEYjq3JK_Y815kWQUwcJF5eJODAnkJq0xvydOS865LjgMQ_5ty8DdNXHIpKs4QVjSG5aWjUGyS1HGjrb4VP71R-yxBV4a3NHsQ","q":"xXIoijqklxLajygaBibOt1XQkVjmZSbsASpBGcob1q_JSHTHRgxspun7r81ah5YTtrprALEuNc1HD3uq1vrR3pMBFG4NFnsIZDkzIq_MXL1Lxf7o-iIkk1pisfrnkJeG2LkLnFtDb1GZ3cmW5jPrWrwYp6zfTrO1lgJKCvuiSaJ9tGea8CBSfdMyFVgjewinFKKXgsRuOEIDnHBiYN5sowL6tgTf50Vunbb34IXmpFSe6uwA-lJU_uXm0ujxWCbQAsduLDcSF0FxmuYn6O0xmJIKZOk3BCGUPJxGjpIVvEg6dVGQ4clJp90vQsDaGIqteq2rXpTr0otd9u7uc3Irdw","dp":"2kBvjRpZxfUYBtQtKm86w-ahCxlpGSTUs6oWi90MTxacj5lzxoyE4nMLLol-pV587jpIkPjK0IvSFpWeh_IFKwH-jI4K-FbKz9emSVi5PfQXKeO3rWgEjPYa48Ss0TxOzyJTrPUY3VMtdLWPuC0hrVi9hHKpKcl1ZlAvvsUDKZ56WtSlEwYF6e7roeKS9DI-h0t1lBq9jzc49JCC_2J-DiLug3ygtpjqZD_a_liVuPhvkdFEP9Khgof446bffQT5XUiJmrMk_Kx1-tlncIdaDLMr9Mp5Qab9Z0R3xfZKeo-GVUstyILO8olJb8Ovkx0dvQmkfsiXLzrsUfS6F1PE0Q","dq":"DkJhVSJJErQE3sPZpUoWMb1b07Nk6Dc4YhkoHHGxMv78_WOZpKBvFFrfl2GwQQyAnfi2k5U4LiCGGkMnImF42KcrM8uC3HXENGDBJacmjigJmeH_91iR5aZobEwffxzCW1J52S_qHdb50r-lSzjCrYnaCfn9IpTt70h5CnQD02eNxoKY-PCMpJOlEU-NOGx2jJH1eTcwcpWp5xlisXY-yEMF0jFl7jDgfTlii2-AKawG0hZ7N5jMlKAL3H2AOIqNCTZX6Y-MmetbBgHLLhI7O7aIU6NYGs9GAl6S5eb89N0Og7yBRx0fWaUqrZp55b3WK37xWmJM6aaxAY1d4S6Enw","qi":"udzzCRwy8Qp-ptLyxpaVy0BCSB8vBAyvYAikYoODil4DkLebcTmGTgXdghTFU5m3T20kEat1mWI4K-wkNSMLRtVRJrM83Jl0bbS_0gMwj0A7fdPM-bm8NWU-CY3lAc4V6iS43RXyJhoakSK2NJOrlvSaRMVYFQDwKP1oL5-ZuEnAPaR0YwDHOkxY40eCk9Ve2x4L9OBUqLTN_l827QrMXldVPnnVwTRDaFGFZ8BniKE4UjFO0I3coe4EH9CaQpFP8TDeLQVDncXuXHHCNi7sH-qzjDOsTLayi4uuxLL4nEZldCHz5geBp7n09GfNQsTKvMEtOC50oPJlkR898mc0vg"} + +Above is the generated identification private key. + +- You should copy it and store that value on the environment variable IDENTIFICATION_PRIVATE_KEY. + +- Ensure that it is not lost between deployments and servers reboots, and that only can be accessed by the application. +``` + +Just copy the content of the generated key, exactly as presented, with no break lines to the ENV `IDENTIFICATION_PRIVATE_KEY` and you are ready to run the bulletin board server. + +If not done yet, you must initialize the PostgreSQL database first with the command `bin/rails db:create db:migrate`. + +Finally, run the bulletin board with `docker-compose up -d`. + +You can connect then to the test server in http://localhost:3000. Note that you can add a proxy on top of it to use a custom domain name. + +For instance, with Ngnix you could use this configuration (although you need to add SSL, for instance using LetsEncrypt) + +```nginx +server { + listen 80; + server_name my-bulletin-board.example.com; + + location / { + proxy_pass http://localhost:3000; + } +} +``` + +Once the bulletin board is up and running, now you need to configure a new Decidim Authority to use it. + +At this point you can connect your browser to http://localhost:3000 (or your configured URL if in production) and you will see the public key corresponding to the private key you used to start the bulletin board. This is the public key that you must use to configure a new Decidim Authority (see next section). + +==== Configuring a new Decidim Authority + +Each bulletin board can host many Decidim Authorities. Each authority represents a Decidim Organization (also known as Tenant) and it is also identified as a unique RSA public/private key pairs. A bulletin board instance can host many authorities. + +To add a new authority you must first create a new RSA key pair. Note that this key represents the Decidim instance so it **must be generated by the Decidim instance** itself and the bulletin board must only know about the public component. You can use the following command to generate a new key pair **in the Decidim server**: + +```console +bin/rails decidim_elections:generate_identification_keys +``` + +The result will look something like this: + +```console +$ bin/rails decidim_elections:generate_identification_keys + +PRIVATE KEY: + +{"kty":"RSA","n":"wbt6n7uvR7O6KgOP_Idq-YzWf4DrjcpQSdQDCn0NB_nVmgDRq5kxe3z63Dpk2nWY8ZfZz5THCkxkz-BllnxuYMjfBHD4zpkn5V3OIMcTpJTHH9kiAOYFFvCKDHlx9GQ86d_U9bkmLq-ucKNhk-tdLZ0qv4FVJyPn6Q-hBnhkGC_lnGhe0vePVHE2nSGHPRhwqE4yFnSGj6L2o11oG2sQvFlM_a0xyTE-PX4P4quJUZo1I3-hQjPZqmniaL9L7bqBdAYkQLC8IEjLfBJC7GeXmRGkm45TmuKDy57JydhOvzLCFG4U6linqdv-8xkkejlzkYwFJc_R3WiuuFT65JmyiIQVVHFWPPl403bnxi5LB3DP9CT7zngd7tdJwSXzndBOpOoLTWbvrQTHhshw-XxPeP548rN2UDyzUtg1Rh__TmGExj3ZlXOqA1H6TPxmy4kjnqcOfgeH-8omWIq2Woa46EfHQ2BsLzqE6uYeiau22cv3SdPKLuZLQ3fnvKNwRmToJ44Q6aglkkOFoyFnEJdg3FlymddMNBMGEWTHC2kLJhlAHTpR0UPtPNsG2fVjDRoIWgBSpQ4-1LaZc3rxPFDKYermpmA6nImuUBaQ4VJ6KXExzBpcubOm8FWYYLWpiOJsReFDZwzI4uIzY1wC172MNhf4tF6ZJ-qJKeBMcIyVDa8","e":"AQAB","kid":"f18965a6a859e284f0ea076d2140e212f1bbd484e029b69c3d9cc06b34e61b0a","d":"Hl3FGEGCdXI59Xjuek49mdUWEBFEmsqB8DiPq3azcrMZ5JRJSSTviSQrbBapFUcGjKPZK7ztv_L-gEjzk3V4laoWrusITNXb14tvElsx_IOnfJn7xvlHBfP5J4BnuL93fs8rYcK-NeYqqRQq6NUlG0-90huzHbn2kWT2P_3h7pqfWndPmbDdIgbG4TVOrehlTDRJjJSCPQR1tWCgP1_2VReIRmD940PZNilK0yRBF23c823_eFGJRjlnmDSX8bDgtq95wjwRmNvgLVftboHEVOVbkFhsSWRE9Ucz6PQDT9vkaPBiTeNMkIbfvPoNai0ULNWuPuGGyzYr4M_NLcTbo10MsR0uK7RyfP_H6JH8FPkH3azPpoA6J7bM18YNPJVXqfQCr3dVOv-qm4_OB-9mkFrqseOC1qsZD8MsVuPx0_L_68ZnSMyfUZzM043M5szwibw35_GRXrbMHWpE0DeVL1SjOoYu_MiSIjXcuLY1REXnzI3c8rxiQ34ERMCrZipPZezJ-iQgkjcyP6DGQxo7BgrPVQLvGKGNg8z2A_ChR_fywSwAJxm7h7oBjpI7T3C31RVB4PQThe9Qpqrx2KE09xMUeAPPiiYtMDe4B6TDR9vo9ehMVXJ886dsfrhw0LMvHUC7dh1ee1y_M2q_BlZV-DasJsvfv9nSeC63vRe9zRE","p":"-fs7WER4ERpmtRn-0EQ9efOuGsh1TODiveexaK2RyOJ1GR04hFRfrCrMURfwdX5dr-wo_o4xmzKngq4nBFhkyA05IyyNsMy8qX82oTUw8xMHua53Xsb1oahU7c7A9888cEIZ9iNSI556-2M-idwHYw7uMJlXUH7Pbfjj5kj77mpwcd1yuieHOkSdNidzuIORr5PKy0_mqyp0kzHC4iFblZ5iM6O43EasMyNBo0XMHCvSUEC2IbXp37LfAyg0XDF6Ll_mYH77qSLVwBg-QD2BDifwYwwwgtMzekqWI29MQyriFCexd9QzJ8czxVCrpK6S6yrfR4x9yGSqU8xQQ1zxnw","q":"xmWN8VnRgJS3Y3FwJZOuKYdWiHd5a2saQV4Cjw67TubtZcd0a0SbQ5BZdrjzKQVScd_EVMGWY84gfm7VolTjUt6K3Z5Cdvb9EFC2hQyuVwgJjpjtye2pr1shy4aoaehddSS2vmrU5seqUbTcrz57KExkN_silruycjuiOddpOPW0HW_jFXMGl_O13CYvHnv-X1KVUsh9fKNlCKm1XY0uulcNVV9Hy3sETOVQB82XBJVS0Nq9nnuvHtuQujYrmn5OvvFPNmITftWCEMlFoq4ukZhirmY8Y5GOhPMANw2v6y59KXwVDt3Q1HafqMcNy_olS8WI1NiP09ungTz7QQkJ8Q","dp":"1pOXojHLmmq-JNA2kREyb_8CwMy3G5GiL_60ozTyAayZdUBG5hgCs6ddEHLrHf-lbb_ahH8MB7sYXK0eorU5dRsco5u32D4154xiGUiuRshcBj_DCWDhMa1rkWG69Dw4Feg3nrc854Q-7pCG-xEaaiZDwQWvFFJ1vWE6Rs75KfLFqIe81hveEN8az4RX6ddN85d6KMDiMKTVwg-hyDd4BNsaUldD9BjZ8V9fFUZxaPEYq3iQniknorRIh843-7cguLPq7YOyg8F6F1T4Am6I29zelDa_YVznQB7L94iuvq0NuN1FkaVdb9SnFMUlQMv1ItX_KMxon94A8sNbVidu4w","dq":"TxPncc3FLaUZO6_ZbYDhqHfjS92jLeewvWFFT9QlYJu3ABxyENd1s4ZzwliRw0X1yKHSVZ4b3Ygpd3uh92Qyf7NoUlFkWJq136zsMzgMvW_cr1PRY-0w904xuDfiJOSTa7_IfzmBxsLK5mpalBcpa7SXNaEJ9l62D8YpMTjlHekBc8JHFyOT-zkOwcMOgO4XQ9Nc5XQ4YFeYS82pFrLRb0CHdgHWUgqkeinkrleJ3C_QpKKrdeICuR_3HeG9m4TAymbQlfKdpq5fe2VeNiuLMEk2_CCP7Xf1AJUC_u6bsfgDt2dX1Wcgd68YkGNW4njAKOWBVqVDHsSsjVzLIO8DYQ","qi":"qTH8QoemBU0Yh7miZuhLTf61g6kqAawJkmZk9-tQk27QjSYfwZ-AvH0DVwfLiM4FfDz3H-rdGPH5Lfgx4IpLMId0HUN0f-kD04i3VcoCo28qb-eLkPWGLbBuGZczgby5jD_sYgVFbrxno4jioBFMJrEhq2czXiAlFz22zACgSgJBVhkW8yeQQhmoEl6GXEuZs2SkqAbcRSI3vVlRGeuKBOBQlGgeQrdvdfc9OXmV_VSlY--1sLt307Fhtw6CMMmgTDIE0W73vzEXm_9nNyxBWdinlWgO7SLWlFoYqHkso2O6csrGwvPGcp90dBeXQvVKctmCCCDSuqPm5VhtrXsBTA"} + +PUBLIC KEY: + +kty=RSA&n=wbt6n7uvR7O6KgOP_Idq-YzWf4DrjcpQSdQDCn0NB_nVmgDRq5kxe3z63Dpk2nWY8ZfZz5THCkxkz-BllnxuYMjfBHD4zpkn5V3OIMcTpJTHH9kiAOYFFvCKDHlx9GQ86d_U9bkmLq-ucKNhk-tdLZ0qv4FVJyPn6Q-hBnhkGC_lnGhe0vePVHE2nSGHPRhwqE4yFnSGj6L2o11oG2sQvFlM_a0xyTE-PX4P4quJUZo1I3-hQjPZqmniaL9L7bqBdAYkQLC8IEjLfBJC7GeXmRGkm45TmuKDy57JydhOvzLCFG4U6linqdv-8xkkejlzkYwFJc_R3WiuuFT65JmyiIQVVHFWPPl403bnxi5LB3DP9CT7zngd7tdJwSXzndBOpOoLTWbvrQTHhshw-XxPeP548rN2UDyzUtg1Rh__TmGExj3ZlXOqA1H6TPxmy4kjnqcOfgeH-8omWIq2Woa46EfHQ2BsLzqE6uYeiau22cv3SdPKLuZLQ3fnvKNwRmToJ44Q6aglkkOFoyFnEJdg3FlymddMNBMGEWTHC2kLJhlAHTpR0UPtPNsG2fVjDRoIWgBSpQ4-1LaZc3rxPFDKYermpmA6nImuUBaQ4VJ6KXExzBpcubOm8FWYYLWpiOJsReFDZwzI4uIzY1wC172MNhf4tF6ZJ-qJKeBMcIyVDa8&e=AQAB&kid=f18965a6a859e284f0ea076d2140e212f1bbd484e029b69c3d9cc06b34e61b0a + +Above are the generated private and public keys. + +See Decidim docs at docs/services/bulletin_board.md in order to set them up. +``` + +You need then to add the private part to you Decidim Server as the ENV var `AUTHORITY_PRIVATE_KEY` (`AUTHORITY_PRIVATE_KEY={"kty":"RSA","n":"wbt...`). Copy verbatim, no break lines. Also, create a new name for you Decidim instance and place it in the ENV `AUTHORITY_NAME`. You will need this identifier to configure the bulletin board server. Other variables are important, see the https://docs.decidim.org/en/develop/services/elections_bulletin_board.html[Decidim docs] for it. + +Then you need to add the public part to the bulletin board server. This is done in the **bulletin board server**. You can do it with the following command: + +```console +bin/rails 'client:add_authority[AuthorityName, public-key] +``` + +- **AuthorityName**; is the name of the authority, for instance, the name of the Decidim tenant. It can be anything as long is the same in Decidim and in the bulletin board. +- **public-key**: is the public key generated in the Decidim server by the previously explained command. + +This command will produce an output like this: + +```console +$ bin/rails 'client:add_authority[AuthorityName,kty=RSA&n=wbt6n7uvR7O6KgOP_Idq-YzWf4DrjcpQSdQDCn0NB_nVmgDRq5kxe3z63Dpk2nWY8ZfZz5THCkxkz-BllnxuYMjfBHD4zpkn5V3OIMcTpJTHH9kiAOYFFvCKDHlx9GQ86d_U9bkmLq-ucKNhk-tdLZ0qv4FVJyPn6Q-hBnhkGC_lnGhe0vePVHE2nSGHPRhwqE4yFnSGj6L2o11oG2sQvFlM_a0xyTE-PX4P4quJUZo1I3-hQjPZqmniaL9L7bqBdAYkQLC8IEjLfBJC7GeXmRGkm45TmuKDy57JydhOvzLCFG4U6linqdv-8xkkejlzkYwFJc_R3WiuuFT65JmyiIQVVHFWPPl403bnxi5LB3DP9CT7zngd7tdJwSXzndBOpOoLTWbvrQTHhshw-XxPeP548rN2UDyzUtg1Rh__TmGExj3ZlXOqA1H6TPxmy4kjnqcOfgeH-8omWIq2Woa46EfHQ2BsLzqE6uYeiau22cv3SdPKLuZLQ3fnvKNwRmToJ44Q6aglkkOFoyFnEJdg3FlymddMNBMGEWTHC2kLJhlAHTpR0UPtPNsG2fVjDRoIWgBSpQ4-1LaZc3rxPFDKYermpmA6nImuUBaQ4VJ6KXExzBpcubOm8FWYYLWpiOJsReFDZwzI4uIzY1wC172MNhf4tF6ZJ-qJKeBMcIyVDa8&e=AQAB&kid=f18965a6a859e284f0ea076d2140e212f1bbd484e029b69c3d9cc06b34e61b0a]' + +Authority 'AuthorityName' successfuly added! +The API key for this authority is: WbyrkuMrn7Pgk-ebKQpQzpSkKSv-T-r0TaclfMFMspV7g6qoFRqFwYmAnb0PZqATDZx3WdIf6SIF-f40s16wBTbdlST-3ZZ3wWzctyvdb4Wha_hranhHPG6sR2Qmq5uk +``` + +Note that an API key is returned, you will also need to add this API key as an ENV var in your Decidim server. This is used to ensure only that Decidim instance can communicate with the bulletin board. + +To summarize, these are the ENV vars you need to add to your Decidim server once all this process has finished: + +===== ENV vars for the Decidim Server + +- `BULLETIN_BOARD_API_KEY`: the API key generated by the bulletin board server when adding an authority. In our example "WbyrkuMrn7Pgk-ebKQpQzpSkKSv-T-r0TaclfMFMspV7g6qoFRqFwYmAnb0PZqATDZx3WdIf6SIF-f40s16wBTbdlST-3ZZ3wWzctyvdb4Wha_hranhHPG6sR2Qmq5uk". +- `BULLETIN_BOARD_SERVER`: the URL of the bulletin board server, for instance, http://localhost:3000/api (note that you need to specify the path to the API). +- `AUTHORITY_NAME`: the name of the authority, for instance, the name of the Decidim tenant. In our examples, "AuthorityName". +- `BULLETIN_BOARD_PUBLIC_KEY`: the public key of the bulletin board (see this value in the homepage of the Bulletin Board). +- There are other variables relative to the elections configuration. Check it at https://docs.decidim.org/en/develop/services/elections_bulletin_board.html. + === Devcontainer This repository ships with a dev container to get you up and running quickly. This make is easy to get the development environment running without having to install all the dependencies. diff --git a/bulletin_board/js-client/package-lock.json b/bulletin_board/js-client/package-lock.json index 34420481..c5e53940 100644 --- a/bulletin_board/js-client/package-lock.json +++ b/bulletin_board/js-client/package-lock.json @@ -1,12 +1,12 @@ { "name": "@decidim/decidim-bulletin_board", - "version": "0.24.1", + "version": "0.24.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@decidim/decidim-bulletin_board", - "version": "0.24.1", + "version": "0.24.4", "license": "ISC", "dependencies": { "@apollo/client": "^3.2.7", diff --git a/bulletin_board/js-client/package.json b/bulletin_board/js-client/package.json index cf88a126..a5258e67 100644 --- a/bulletin_board/js-client/package.json +++ b/bulletin_board/js-client/package.json @@ -1,6 +1,6 @@ { "name": "@decidim/decidim-bulletin_board", - "version": "0.24.1", + "version": "0.24.4", "description": "", "main": "src/index.js", "scripts": { diff --git a/bulletin_board/ruby-client/Gemfile b/bulletin_board/ruby-client/Gemfile index c0b76600..a8fd6082 100644 --- a/bulletin_board/ruby-client/Gemfile +++ b/bulletin_board/ruby-client/Gemfile @@ -5,6 +5,9 @@ source "https://rubygems.org" # Specify your gem's dependencies in decidim-bulletin_board.gemspec gemspec +# Graphql version 2.1 breaks graphql-client compatibility See https://github.com/github/graphql-client/pull/310 +gem "graphql", "~> 2.0.0" + gem "rubocop", "~> 1.28.0" gem "rubocop-faker", "~> 1.1.0" gem "rubocop-rspec", "~> 2.10" diff --git a/bulletin_board/ruby-client/Gemfile.lock b/bulletin_board/ruby-client/Gemfile.lock index 88fb5f1b..39994ec0 100644 --- a/bulletin_board/ruby-client/Gemfile.lock +++ b/bulletin_board/ruby-client/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - decidim-bulletin_board (0.24.1) + decidim-bulletin_board (0.24.4) byebug (~> 11.0) graphlient (~> 0.5.0) jwt (~> 2.5.0) @@ -11,67 +11,67 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.0.4) - actionpack (= 7.0.4) - activesupport (= 7.0.4) + actioncable (7.0.8) + actionpack (= 7.0.8) + activesupport (= 7.0.8) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4) - actionpack (= 7.0.4) - activejob (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + actionmailbox (7.0.8) + actionpack (= 7.0.8) + activejob (= 7.0.8) + activerecord (= 7.0.8) + activestorage (= 7.0.8) + activesupport (= 7.0.8) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4) - actionpack (= 7.0.4) - actionview (= 7.0.4) - activejob (= 7.0.4) - activesupport (= 7.0.4) + actionmailer (7.0.8) + actionpack (= 7.0.8) + actionview (= 7.0.8) + activejob (= 7.0.8) + activesupport (= 7.0.8) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.4) - actionview (= 7.0.4) - activesupport (= 7.0.4) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8) + actionview (= 7.0.8) + activesupport (= 7.0.8) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4) - actionpack (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + actiontext (7.0.8) + actionpack (= 7.0.8) + activerecord (= 7.0.8) + activestorage (= 7.0.8) + activesupport (= 7.0.8) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4) - activesupport (= 7.0.4) + actionview (7.0.8) + activesupport (= 7.0.8) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4) - activesupport (= 7.0.4) + activejob (7.0.8) + activesupport (= 7.0.8) globalid (>= 0.3.6) - activemodel (7.0.4) - activesupport (= 7.0.4) - activerecord (7.0.4) - activemodel (= 7.0.4) - activesupport (= 7.0.4) - activestorage (7.0.4) - actionpack (= 7.0.4) - activejob (= 7.0.4) - activerecord (= 7.0.4) - activesupport (= 7.0.4) + activemodel (7.0.8) + activesupport (= 7.0.8) + activerecord (7.0.8) + activemodel (= 7.0.8) + activesupport (= 7.0.8) + activestorage (7.0.8) + actionpack (= 7.0.8) + activejob (= 7.0.8) + activerecord (= 7.0.8) + activesupport (= 7.0.8) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.4) + activesupport (7.0.8) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -90,7 +90,7 @@ GEM erubi (1.12.0) faker (2.22.0) i18n (>= 1.8.11, < 2) - faraday (1.10.2) + faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -115,13 +115,13 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - globalid (1.0.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) graphlient (0.5.0) faraday (>= 1.0) faraday_middleware graphql-client - graphql (2.0.15) + graphql (2.0.27) graphql-client (0.18.0) activesupport (>= 3.0) graphql @@ -129,67 +129,69 @@ GEM i18n (1.12.0) concurrent-ruby (~> 1.0) jwt (2.5.0) - loofah (2.19.1) + loofah (2.21.3) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.8.0) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) net-imap net-pop net-smtp marcel (1.0.2) method_source (1.0.0) - mini_mime (1.1.2) - mini_portile2 (2.8.0) - minitest (5.16.3) - multipart-post (2.2.3) - net-imap (0.3.4) + mini_mime (1.1.5) + mini_portile2 (2.8.4) + minitest (5.20.0) + multipart-post (2.3.0) + net-imap (0.4.0) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.1) timeout - net-smtp (0.3.3) + net-smtp (0.4.0) net-protocol - nio4r (2.5.8) - nokogiri (1.13.10) - mini_portile2 (~> 2.8.0) + nio4r (2.5.9) + nokogiri (1.15.4) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.13.10-x86_64-darwin) + nokogiri (1.15.4-x86_64-darwin) racc (~> 1.4) - nokogiri (1.13.10-x86_64-linux) + nokogiri (1.15.4-x86_64-linux) racc (~> 1.4) parallel (1.22.1) parser (3.1.2.1) ast (~> 2.4.1) public_suffix (5.0.0) - racc (1.6.2) - rack (2.2.4) - rack-test (2.0.2) + racc (1.7.1) + rack (2.2.8) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.4) - actioncable (= 7.0.4) - actionmailbox (= 7.0.4) - actionmailer (= 7.0.4) - actionpack (= 7.0.4) - actiontext (= 7.0.4) - actionview (= 7.0.4) - activejob (= 7.0.4) - activemodel (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + rails (7.0.8) + actioncable (= 7.0.8) + actionmailbox (= 7.0.8) + actionmailer (= 7.0.8) + actionpack (= 7.0.8) + actiontext (= 7.0.8) + actionview (= 7.0.8) + activejob (= 7.0.8) + activemodel (= 7.0.8) + activerecord (= 7.0.8) + activestorage (= 7.0.8) + activesupport (= 7.0.8) bundler (>= 1.15.0) - railties (= 7.0.4) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + railties (= 7.0.8) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.4) - loofah (~> 2.19, >= 2.19.1) - railties (7.0.4) - actionpack (= 7.0.4) - activesupport (= 7.0.4) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.0.8) + actionpack (= 7.0.8) + activesupport (= 7.0.8) method_source rake (>= 12.2) thor (~> 1.0) @@ -229,21 +231,21 @@ GEM rubocop (~> 1.19) ruby-progressbar (1.11.0) ruby2_keywords (0.0.5) - thor (1.2.1) - timeout (0.3.1) - tzinfo (2.0.5) + thor (1.2.2) + timeout (0.4.0) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.2.0) webmock (3.18.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.5) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wisper (2.0.1) wisper-rspec (1.1.0) - zeitwerk (2.6.6) + zeitwerk (2.6.12) PLATFORMS ruby @@ -252,6 +254,7 @@ PLATFORMS DEPENDENCIES decidim-bulletin_board! + graphql (~> 2.0.0) rake (~> 13.0) rspec (~> 3.7) rubocop (~> 1.28.0) diff --git a/bulletin_board/ruby-client/lib/decidim/bulletin_board/version.rb b/bulletin_board/ruby-client/lib/decidim/bulletin_board/version.rb index a0c30898..5ddef67d 100644 --- a/bulletin_board/ruby-client/lib/decidim/bulletin_board/version.rb +++ b/bulletin_board/ruby-client/lib/decidim/bulletin_board/version.rb @@ -2,6 +2,6 @@ module Decidim module BulletinBoard - VERSION = "0.24.1" + VERSION = "0.24.4" end end diff --git a/bulletin_board/server/Gemfile.lock b/bulletin_board/server/Gemfile.lock index 1f05a40b..5741ea74 100644 --- a/bulletin_board/server/Gemfile.lock +++ b/bulletin_board/server/Gemfile.lock @@ -1,19 +1,19 @@ PATH remote: ../../voting_schemes/dummy/ruby-adapter specs: - voting_schemes-dummy (0.24.1) + voting_schemes-dummy (0.24.4) rails (>= 5.0.0) PATH remote: ../../voting_schemes/electionguard/ruby-adapter specs: - voting_schemes-electionguard (0.24.1) + voting_schemes-electionguard (0.24.4) rails (>= 5.0.0) PATH remote: ../ruby-client specs: - decidim-bulletin_board (0.24.1) + decidim-bulletin_board (0.24.4) byebug (~> 11.0) graphlient (~> 0.5.0) jwt (~> 2.5.0) @@ -23,60 +23,60 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.3) - actionpack (= 6.1.7.3) - activesupport (= 6.1.7.3) + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.3) - actionpack (= 6.1.7.3) - activejob (= 6.1.7.3) - activerecord (= 6.1.7.3) - activestorage (= 6.1.7.3) - activesupport (= 6.1.7.3) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) mail (>= 2.7.1) - actionmailer (6.1.7.3) - actionpack (= 6.1.7.3) - actionview (= 6.1.7.3) - activejob (= 6.1.7.3) - activesupport (= 6.1.7.3) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.3) - actionview (= 6.1.7.3) - activesupport (= 6.1.7.3) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.3) - actionpack (= 6.1.7.3) - activerecord (= 6.1.7.3) - activestorage (= 6.1.7.3) - activesupport (= 6.1.7.3) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) nokogiri (>= 1.8.5) - actionview (6.1.7.3) - activesupport (= 6.1.7.3) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.3) - activesupport (= 6.1.7.3) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) globalid (>= 0.3.6) - activemodel (6.1.7.3) - activesupport (= 6.1.7.3) - activerecord (6.1.7.3) - activemodel (= 6.1.7.3) - activesupport (= 6.1.7.3) - activestorage (6.1.7.3) - actionpack (= 6.1.7.3) - activejob (= 6.1.7.3) - activerecord (= 6.1.7.3) - activesupport (= 6.1.7.3) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.3) + activesupport (6.1.7.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -139,7 +139,7 @@ GEM railties (>= 5.0.0) faker (2.22.0) i18n (>= 1.8.11, < 2) - faraday (1.10.2) + faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -209,7 +209,7 @@ GEM mini_mime (1.1.5) minitest (5.20.0) msgpack (1.5.6) - multipart-post (2.2.3) + multipart-post (2.3.0) net-imap (0.2.3) digest net-protocol @@ -245,20 +245,20 @@ GEM rack rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.3) - actioncable (= 6.1.7.3) - actionmailbox (= 6.1.7.3) - actionmailer (= 6.1.7.3) - actionpack (= 6.1.7.3) - actiontext (= 6.1.7.3) - actionview (= 6.1.7.3) - activejob (= 6.1.7.3) - activemodel (= 6.1.7.3) - activerecord (= 6.1.7.3) - activestorage (= 6.1.7.3) - activesupport (= 6.1.7.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) bundler (>= 1.15.0) - railties (= 6.1.7.3) + railties (= 6.1.7.6) sprockets-rails (>= 2.0.0) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) @@ -267,9 +267,9 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (6.1.7.3) - actionpack (= 6.1.7.3) - activesupport (= 6.1.7.3) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) method_source rake (>= 12.2) thor (~> 1.0) @@ -364,7 +364,7 @@ GEM spring-watcher-listen (2.0.1) listen (>= 2.7, < 4.0) spring (>= 1.2, < 3.0) - sprockets (4.2.0) + sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) sprockets-es6 (0.9.2) @@ -376,7 +376,7 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) strscan (3.0.6) - thor (1.2.1) + thor (1.2.2) thread_safe (0.3.6) tilt (2.0.11) timeout (0.4.0) @@ -401,7 +401,7 @@ GEM rack-proxy (>= 0.6.1) railties (>= 5.2) semantic_range (>= 2.3.0) - websocket-driver (0.7.5) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wisper (2.0.1) diff --git a/docker-compose.yml b/docker-compose.yml index ced26dff..d6dd664c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: context: . dockerfile: Dockerfile environment: + - SECRET_KEY_BASE=8afc23b1d75eec471f9967b0887ca2cf24e2221a5dac375ca7f62656211c11b9d15d1516f6d04d64dae05632938304cc2e14aff636df4e70c84c89f12ddb0dfc - DATABASE_URL=postgresql://postgres:postgres@db/decidim_bulletin_board - RAILS_LOG_TO_STDOUT=1 - RAILS_SERVE_STATIC_FILES=1 @@ -33,6 +34,7 @@ services: context: . dockerfile: Dockerfile environment: + - SECRET_KEY_BASE=8afc23b1d75eec471f9967b0887ca2cf24e2221a5dac375ca7f62656211c11b9d15d1516f6d04d64dae05632938304cc2e14aff636df4e70c84c89f12ddb0dfc - DATABASE_URL=postgresql://postgres:postgres@db/decidim_bulletin_board - RAILS_LOG_TO_STDOUT=1 - RACK_ENV=development diff --git a/voting_schemes/dummy/js-adapter/package-lock.json b/voting_schemes/dummy/js-adapter/package-lock.json index 0ad7ca75..1f96c726 100644 --- a/voting_schemes/dummy/js-adapter/package-lock.json +++ b/voting_schemes/dummy/js-adapter/package-lock.json @@ -1,12 +1,12 @@ { "name": "@decidim/voting_schemes-dummy", - "version": "0.24.1", + "version": "0.24.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@decidim/voting_schemes-dummy", - "version": "0.24.1", + "version": "0.24.4", "license": "ISC", "devDependencies": { "@babel/core": "^7.12.16", diff --git a/voting_schemes/dummy/js-adapter/package.json b/voting_schemes/dummy/js-adapter/package.json index 810cd528..658fc0a2 100644 --- a/voting_schemes/dummy/js-adapter/package.json +++ b/voting_schemes/dummy/js-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@decidim/voting_schemes-dummy", - "version": "0.24.1", + "version": "0.24.4", "description": "", "main": "src/index.js", "scripts": { diff --git a/voting_schemes/dummy/ruby-adapter/Gemfile.lock b/voting_schemes/dummy/ruby-adapter/Gemfile.lock index da295777..ef18f53f 100644 --- a/voting_schemes/dummy/ruby-adapter/Gemfile.lock +++ b/voting_schemes/dummy/ruby-adapter/Gemfile.lock @@ -1,149 +1,185 @@ PATH remote: . specs: - voting_schemes-dummy (0.24.1) + voting_schemes-dummy (0.24.4) rails (>= 5.0.0) GEM remote: https://rubygems.org/ specs: - actioncable (7.0.4) - actionpack (= 7.0.4) - activesupport (= 7.0.4) + actioncable (7.1.0) + actionpack (= 7.1.0) + activesupport (= 7.1.0) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4) - actionpack (= 7.0.4) - activejob (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + zeitwerk (~> 2.6) + actionmailbox (7.1.0) + actionpack (= 7.1.0) + activejob (= 7.1.0) + activerecord (= 7.1.0) + activestorage (= 7.1.0) + activesupport (= 7.1.0) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4) - actionpack (= 7.0.4) - actionview (= 7.0.4) - activejob (= 7.0.4) - activesupport (= 7.0.4) + actionmailer (7.1.0) + actionpack (= 7.1.0) + actionview (= 7.1.0) + activejob (= 7.1.0) + activesupport (= 7.1.0) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.4) - actionview (= 7.0.4) - activesupport (= 7.0.4) - rack (~> 2.0, >= 2.2.0) + rails-dom-testing (~> 2.2) + actionpack (7.1.0) + actionview (= 7.1.0) + activesupport (= 7.1.0) + nokogiri (>= 1.8.5) + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4) - actionpack (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + actiontext (7.1.0) + actionpack (= 7.1.0) + activerecord (= 7.1.0) + activestorage (= 7.1.0) + activesupport (= 7.1.0) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4) - activesupport (= 7.0.4) + actionview (7.1.0) + activesupport (= 7.1.0) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4) - activesupport (= 7.0.4) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.1.0) + activesupport (= 7.1.0) globalid (>= 0.3.6) - activemodel (7.0.4) - activesupport (= 7.0.4) - activerecord (7.0.4) - activemodel (= 7.0.4) - activesupport (= 7.0.4) - activestorage (7.0.4) - actionpack (= 7.0.4) - activejob (= 7.0.4) - activerecord (= 7.0.4) - activesupport (= 7.0.4) + activemodel (7.1.0) + activesupport (= 7.1.0) + activerecord (7.1.0) + activemodel (= 7.1.0) + activesupport (= 7.1.0) + timeout (>= 0.4.0) + activestorage (7.1.0) + actionpack (= 7.1.0) + activejob (= 7.1.0) + activerecord (= 7.1.0) + activesupport (= 7.1.0) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.4) + activesupport (7.1.0) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) ast (2.4.2) + base64 (0.1.1) + bigdecimal (3.1.4) builder (3.2.4) concurrent-ruby (1.1.10) + connection_pool (2.4.1) crass (1.0.6) + date (3.3.3) diff-lcs (1.4.4) - erubi (1.11.0) + drb (2.1.1) + ruby2_keywords + erubi (1.12.0) faker (2.15.1) i18n (>= 1.6, < 2) - globalid (1.0.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) i18n (1.10.0) concurrent-ruby (~> 1.0) - loofah (2.19.0) + io-console (0.6.0) + irb (1.8.1) + rdoc + reline (>= 0.3.8) + loofah (2.21.3) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.2) - method_source (1.0.0) - mini_mime (1.1.2) - mini_portile2 (2.8.0) - minitest (5.16.3) - net-imap (0.3.1) + mini_mime (1.1.5) + mini_portile2 (2.8.4) + minitest (5.20.0) + mutex_m (0.1.2) + net-imap (0.4.0) + date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.1.3) + net-protocol (0.2.1) timeout - net-smtp (0.3.3) + net-smtp (0.4.0) net-protocol - nio4r (2.5.8) - nokogiri (1.13.9) - mini_portile2 (~> 2.8.0) + nio4r (2.5.9) + nokogiri (1.15.4) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.13.9-x86_64-linux) + nokogiri (1.15.4-x86_64-linux) racc (~> 1.4) parallel (1.22.1) parser (3.1.2.1) ast (~> 2.4.1) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) + psych (5.1.0) + stringio + racc (1.7.1) + rack (3.0.8) + rack-session (2.0.0) + rack (>= 3.0.0) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.4) - actioncable (= 7.0.4) - actionmailbox (= 7.0.4) - actionmailer (= 7.0.4) - actionpack (= 7.0.4) - actiontext (= 7.0.4) - actionview (= 7.0.4) - activejob (= 7.0.4) - activemodel (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + rackup (2.1.0) + rack (>= 3) + webrick (~> 1.8) + rails (7.1.0) + actioncable (= 7.1.0) + actionmailbox (= 7.1.0) + actionmailer (= 7.1.0) + actionpack (= 7.1.0) + actiontext (= 7.1.0) + actionview (= 7.1.0) + activejob (= 7.1.0) + activemodel (= 7.1.0) + activerecord (= 7.1.0) + activestorage (= 7.1.0) + activesupport (= 7.1.0) bundler (>= 1.15.0) - railties (= 7.0.4) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + railties (= 7.1.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.4) - actionpack (= 7.0.4) - activesupport (= 7.0.4) - method_source + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.1.0) + actionpack (= 7.1.0) + activesupport (= 7.1.0) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.0.6) + rdoc (6.5.0) + psych (>= 4.0.0) regexp_parser (2.5.0) + reline (0.3.9) + io-console (~> 0.5) rexml (3.2.5) rspec (3.10.0) rspec-core (~> 3.10.0) @@ -175,15 +211,18 @@ GEM rubocop-rspec (2.11.1) rubocop (~> 1.19) ruby-progressbar (1.11.0) - thor (1.2.1) - timeout (0.3.0) - tzinfo (2.0.5) + ruby2_keywords (0.0.5) + stringio (3.0.8) + thor (1.2.2) + timeout (0.4.0) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.2.0) - websocket-driver (0.7.5) + webrick (1.8.1) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.6) + zeitwerk (2.6.12) PLATFORMS ruby diff --git a/voting_schemes/dummy/ruby-adapter/lib/voting_schemes/dummy/version.rb b/voting_schemes/dummy/ruby-adapter/lib/voting_schemes/dummy/version.rb index 2b46dca3..99b0dada 100644 --- a/voting_schemes/dummy/ruby-adapter/lib/voting_schemes/dummy/version.rb +++ b/voting_schemes/dummy/ruby-adapter/lib/voting_schemes/dummy/version.rb @@ -2,6 +2,6 @@ module VotingSchemes module Dummy - VERSION = "0.24.1" + VERSION = "0.24.4" end end diff --git a/voting_schemes/electionguard/js-adapter/package-lock.json b/voting_schemes/electionguard/js-adapter/package-lock.json index 597ef0bd..b97bcf40 100644 --- a/voting_schemes/electionguard/js-adapter/package-lock.json +++ b/voting_schemes/electionguard/js-adapter/package-lock.json @@ -1,12 +1,12 @@ { "name": "@decidim/voting_schemes-electionguard", - "version": "0.24.1", + "version": "0.24.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@decidim/voting_schemes-electionguard", - "version": "0.24.1", + "version": "0.24.4", "license": "ISC", "devDependencies": { "@babel/core": "^7.12.16", diff --git a/voting_schemes/electionguard/js-adapter/package.json b/voting_schemes/electionguard/js-adapter/package.json index 8dc4c5d1..e7ee45a7 100644 --- a/voting_schemes/electionguard/js-adapter/package.json +++ b/voting_schemes/electionguard/js-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@decidim/voting_schemes-electionguard", - "version": "0.24.1", + "version": "0.24.4", "description": "The ElectionGuard voting scheme implementation for the Decidim Bulletin Board.", "main": "src/index.js", "scripts": { diff --git a/voting_schemes/electionguard/ruby-adapter/Gemfile.lock b/voting_schemes/electionguard/ruby-adapter/Gemfile.lock index c6d6ca02..fa5db1f3 100644 --- a/voting_schemes/electionguard/ruby-adapter/Gemfile.lock +++ b/voting_schemes/electionguard/ruby-adapter/Gemfile.lock @@ -1,149 +1,185 @@ PATH remote: . specs: - voting_schemes-electionguard (0.24.1) + voting_schemes-electionguard (0.24.4) rails (>= 5.0.0) GEM remote: https://rubygems.org/ specs: - actioncable (7.0.4) - actionpack (= 7.0.4) - activesupport (= 7.0.4) + actioncable (7.1.0) + actionpack (= 7.1.0) + activesupport (= 7.1.0) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4) - actionpack (= 7.0.4) - activejob (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + zeitwerk (~> 2.6) + actionmailbox (7.1.0) + actionpack (= 7.1.0) + activejob (= 7.1.0) + activerecord (= 7.1.0) + activestorage (= 7.1.0) + activesupport (= 7.1.0) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4) - actionpack (= 7.0.4) - actionview (= 7.0.4) - activejob (= 7.0.4) - activesupport (= 7.0.4) + actionmailer (7.1.0) + actionpack (= 7.1.0) + actionview (= 7.1.0) + activejob (= 7.1.0) + activesupport (= 7.1.0) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.4) - actionview (= 7.0.4) - activesupport (= 7.0.4) - rack (~> 2.0, >= 2.2.0) + rails-dom-testing (~> 2.2) + actionpack (7.1.0) + actionview (= 7.1.0) + activesupport (= 7.1.0) + nokogiri (>= 1.8.5) + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4) - actionpack (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + actiontext (7.1.0) + actionpack (= 7.1.0) + activerecord (= 7.1.0) + activestorage (= 7.1.0) + activesupport (= 7.1.0) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4) - activesupport (= 7.0.4) + actionview (7.1.0) + activesupport (= 7.1.0) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4) - activesupport (= 7.0.4) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.1.0) + activesupport (= 7.1.0) globalid (>= 0.3.6) - activemodel (7.0.4) - activesupport (= 7.0.4) - activerecord (7.0.4) - activemodel (= 7.0.4) - activesupport (= 7.0.4) - activestorage (7.0.4) - actionpack (= 7.0.4) - activejob (= 7.0.4) - activerecord (= 7.0.4) - activesupport (= 7.0.4) + activemodel (7.1.0) + activesupport (= 7.1.0) + activerecord (7.1.0) + activemodel (= 7.1.0) + activesupport (= 7.1.0) + timeout (>= 0.4.0) + activestorage (7.1.0) + actionpack (= 7.1.0) + activejob (= 7.1.0) + activerecord (= 7.1.0) + activesupport (= 7.1.0) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.4) + activesupport (7.1.0) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) ast (2.4.2) + base64 (0.1.1) + bigdecimal (3.1.4) builder (3.2.4) concurrent-ruby (1.1.10) + connection_pool (2.4.1) crass (1.0.6) + date (3.3.3) diff-lcs (1.5.0) - erubi (1.11.0) + drb (2.1.1) + ruby2_keywords + erubi (1.12.0) faker (2.22.0) i18n (>= 1.8.11, < 2) - globalid (1.0.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) i18n (1.12.0) concurrent-ruby (~> 1.0) - loofah (2.19.0) + io-console (0.6.0) + irb (1.8.1) + rdoc + reline (>= 0.3.8) + loofah (2.21.3) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.2) - method_source (1.0.0) - mini_mime (1.1.2) - mini_portile2 (2.8.0) - minitest (5.16.3) - net-imap (0.3.1) + mini_mime (1.1.5) + mini_portile2 (2.8.4) + minitest (5.20.0) + mutex_m (0.1.2) + net-imap (0.4.0) + date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.1.3) + net-protocol (0.2.1) timeout - net-smtp (0.3.3) + net-smtp (0.4.0) net-protocol - nio4r (2.5.8) - nokogiri (1.13.9) - mini_portile2 (~> 2.8.0) + nio4r (2.5.9) + nokogiri (1.15.4) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.13.9-x86_64-linux) + nokogiri (1.15.4-x86_64-linux) racc (~> 1.4) parallel (1.22.1) parser (3.1.2.1) ast (~> 2.4.1) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) + psych (5.1.0) + stringio + racc (1.7.1) + rack (3.0.8) + rack-session (2.0.0) + rack (>= 3.0.0) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.4) - actioncable (= 7.0.4) - actionmailbox (= 7.0.4) - actionmailer (= 7.0.4) - actionpack (= 7.0.4) - actiontext (= 7.0.4) - actionview (= 7.0.4) - activejob (= 7.0.4) - activemodel (= 7.0.4) - activerecord (= 7.0.4) - activestorage (= 7.0.4) - activesupport (= 7.0.4) + rackup (2.1.0) + rack (>= 3) + webrick (~> 1.8) + rails (7.1.0) + actioncable (= 7.1.0) + actionmailbox (= 7.1.0) + actionmailer (= 7.1.0) + actionpack (= 7.1.0) + actiontext (= 7.1.0) + actionview (= 7.1.0) + activejob (= 7.1.0) + activemodel (= 7.1.0) + activerecord (= 7.1.0) + activestorage (= 7.1.0) + activesupport (= 7.1.0) bundler (>= 1.15.0) - railties (= 7.0.4) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + railties (= 7.1.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.4) - actionpack (= 7.0.4) - activesupport (= 7.0.4) - method_source + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.1.0) + actionpack (= 7.1.0) + activesupport (= 7.1.0) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.0.6) + rdoc (6.5.0) + psych (>= 4.0.0) regexp_parser (2.5.0) + reline (0.3.9) + io-console (~> 0.5) rexml (3.2.5) rspec (3.11.0) rspec-core (~> 3.11.0) @@ -175,15 +211,18 @@ GEM rubocop-rspec (2.11.1) rubocop (~> 1.19) ruby-progressbar (1.11.0) - thor (1.2.1) - timeout (0.3.0) - tzinfo (2.0.5) + ruby2_keywords (0.0.5) + stringio (3.0.8) + thor (1.2.2) + timeout (0.4.0) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.2.0) - websocket-driver (0.7.5) + webrick (1.8.1) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.6) + zeitwerk (2.6.12) PLATFORMS ruby diff --git a/voting_schemes/electionguard/ruby-adapter/lib/voting_schemes/electionguard/version.rb b/voting_schemes/electionguard/ruby-adapter/lib/voting_schemes/electionguard/version.rb index df75fd1b..2fa6ee34 100644 --- a/voting_schemes/electionguard/ruby-adapter/lib/voting_schemes/electionguard/version.rb +++ b/voting_schemes/electionguard/ruby-adapter/lib/voting_schemes/electionguard/version.rb @@ -2,6 +2,6 @@ module VotingSchemes module Electionguard - VERSION = "0.24.1" + VERSION = "0.24.4" end end