mirror of
https://github.com/standardnotes/server
synced 2026-04-18 23:05:49 -04:00
Compare commits
851 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a6082a38b8 | |||
| 2410f90fb6 | |||
| 58daf930fb | |||
| 7840c8f353 | |||
| d5280648b5 | |||
| c9e37f852c | |||
| c565e83ece | |||
| 74b94b4028 | |||
| baa5ca92d4 | |||
| eef73c07db | |||
| a1e089b269 | |||
| e2aea4d5c3 | |||
| 315dea4620 | |||
| 52a9913269 | |||
| 7d3235c514 | |||
| 950af121cd | |||
| 781e2a4685 | |||
| 9610e47f78 | |||
| f5ff7d9c97 | |||
| 5bf9c4cff6 | |||
| d040429575 | |||
| 911d84d7c1 | |||
| 3a855ded95 | |||
| f5b6e943cb | |||
| cad48d727a | |||
| ce900df132 | |||
| 97bcfb6ff2 | |||
| 2fcfe05b04 | |||
| f86740b295 | |||
| f204454773 | |||
| 19e14a88a7 | |||
| c077ad7037 | |||
| 51e52ed9ff | |||
| dfa53647f3 | |||
| 914fd1b26c | |||
| 0b824a493d | |||
| 07ae120e2a | |||
| 9323ca79c6 | |||
| ed48350d3e | |||
| 9953860a61 | |||
| cc236c60ec | |||
| a56973e9cd | |||
| 706daa8f15 | |||
| c752775a1c | |||
| 5bdbf54495 | |||
| 9db1381ebf | |||
| 94deab2ee0 | |||
| 690f18708a | |||
| 4a87114f91 | |||
| cd92f7827c | |||
| fc0f25e740 | |||
| f27f5c9b37 | |||
| 86f57581df | |||
| 829bdf96ce | |||
| 86dbfda80a | |||
| 7854f6f9ec | |||
| 379fc2d39b | |||
| 1cadd8addf | |||
| a0127a6b9f | |||
| df818b757b | |||
| f874abab1e | |||
| 3be78dab85 | |||
| d5f15b85e6 | |||
| 6af3a2d9bc | |||
| bb632cabd3 | |||
| 5cf0617403 | |||
| 42aa572375 | |||
| 27befd6c70 | |||
| 16671c3f48 | |||
| 0bbefbf899 | |||
| 1841c800e6 | |||
| e439830818 | |||
| c416ed6078 | |||
| 417b0257cf | |||
| 50e95448f0 | |||
| ca24a6051b | |||
| c578e2742f | |||
| 6ad3d66007 | |||
| f6d80d89f4 | |||
| a01e35f2c2 | |||
| b5d40b2b70 | |||
| 412827bb4f | |||
| 301ca6386f | |||
| 245d809068 | |||
| ff030391a4 | |||
| 8ffeae8642 | |||
| 6120591998 | |||
| d532e052d6 | |||
| 1de21a7ba9 | |||
| 432c15ca94 | |||
| 5ca7132c2d | |||
| d97fb09517 | |||
| 96420e9942 | |||
| 297bfedf6a | |||
| cb014a98cf | |||
| dbd0acab2c | |||
| add91d8c0c | |||
| 66da49b0df | |||
| 750cd26c36 | |||
| 4c15589663 | |||
| 62a0e89748 | |||
| b9603240d0 | |||
| 85d87bb45e | |||
| 3193308d8d | |||
| 7fe90c2a1a | |||
| e917b19f22 | |||
| 7d47d6a752 | |||
| 8fbb94d15a | |||
| 9fcadf8fbb | |||
| f5ac8ac5e9 | |||
| 0a0b8aafaf | |||
| 097a7eae7e | |||
| c0e43a0cf0 | |||
| d7926dd9d1 | |||
| da474741e6 | |||
| a1e16031e0 | |||
| a229093b60 | |||
| 1a64a1c34d | |||
| b8f49d2d45 | |||
| 990140c392 | |||
| 542b296018 | |||
| c6122d33b9 | |||
| 8c71066660 | |||
| a748164bf2 | |||
| c427fa8790 | |||
| 093cc07c39 | |||
| 30f14820c6 | |||
| c8ea2ab199 | |||
| d56bbacc0b | |||
| bb468a8b7e | |||
| 7e99f4b078 | |||
| 14ce6dd818 | |||
| 063a3e425d | |||
| 0900dc75ac | |||
| aa8bd1f8dc | |||
| c71f7ff8ad | |||
| fe18420913 | |||
| 97124928df | |||
| c108bfb12f | |||
| 5fe6ed1462 | |||
| df5fcce769 | |||
| 8f57ece7b8 | |||
| 8a10d201c5 | |||
| 9d7e63a7a7 | |||
| 87c1ae2ac0 | |||
| 56c922e715 | |||
| a29ac8e68f | |||
| 03f9c6039c | |||
| 73d81df8cb | |||
| 484f554339 | |||
| 2ad864e68e | |||
| 723ff44151 | |||
| 04e11cbbf7 | |||
| 3aef5998df | |||
| 34018ae7eb | |||
| 2f9d8e776f | |||
| 9503f0d963 | |||
| 32aff3e3f4 | |||
| 9b9f10d4ca | |||
| e4f0cc6b37 | |||
| d211249086 | |||
| 0fc5db8aee | |||
| 0a2abef979 | |||
| 8242f13aff | |||
| 7516ba7028 | |||
| 3417407cbe | |||
| 720d046c00 | |||
| b88f560b07 | |||
| 51b264ca13 | |||
| 0309aeab34 | |||
| aca8d2948d | |||
| 09596d2181 | |||
| e87f7e1674 | |||
| 4ad1cccc33 | |||
| 5d12648669 | |||
| 7e989720bf | |||
| f8a2892811 | |||
| eaab23ec19 | |||
| 36dcdf256f | |||
| 10a596db65 | |||
| c76302cf98 | |||
| 176cf608ef | |||
| f69073ba02 | |||
| 09ecf9262a | |||
| a3fc0d9120 | |||
| 0d5c3283d3 | |||
| 7b486348ef | |||
| 25f752d6b5 | |||
| 74e35a2d65 | |||
| 3532289575 | |||
| 7db9ba03f3 | |||
| b0baaf9ea6 | |||
| b7c6dab3ad | |||
| 2daa145867 | |||
| 4bd5fb22b4 | |||
| 78533a6045 | |||
| e1c533a15e | |||
| b6c2bb8023 | |||
| c45653a50a | |||
| d827513b73 | |||
| ad183ca621 | |||
| 1d11c5a186 | |||
| e84e78ec55 | |||
| f91e4316ff | |||
| d54b812881 | |||
| 28dc5ba2a4 | |||
| 979a320ca6 | |||
| c46186b237 | |||
| 27cf093f85 | |||
| ec0fb7e0b9 | |||
| 90029456fe | |||
| b167b00075 | |||
| b13fab76f3 | |||
| 782a9d310d | |||
| 537b1f2a29 | |||
| 2fad6b62cb | |||
| bf173b4ede | |||
| c52f038c76 | |||
| b12ba98a5c | |||
| dbccdf342b | |||
| 49b6d029c4 | |||
| d6469954ce | |||
| 5f40550ad4 | |||
| 79ccbdf100 | |||
| 1983cfcab2 | |||
| 753f86707f | |||
| 16d0ed505b | |||
| 9de09c55f8 | |||
| c3d7a33aa2 | |||
| a9cc00a478 | |||
| ec035ba648 | |||
| 5446f3cae4 | |||
| 6a550092c2 | |||
| 1b691f6bcd | |||
| 98f45cc4c2 | |||
| edc4a20859 | |||
| 74e1380df8 | |||
| dfa5187ff7 | |||
| c99c4425cd | |||
| 2d8919a079 | |||
| f638287213 | |||
| 991d885b63 | |||
| bb17efa817 | |||
| deec29c1b4 | |||
| 9d872008a7 | |||
| 145b4401af | |||
| 17bd50c263 | |||
| 4cb79de685 | |||
| 28ab0b8e46 | |||
| 6911802b87 | |||
| 5b98924561 | |||
| f13944badc | |||
| af41e6497d | |||
| b1122a3da5 | |||
| b17fddda63 | |||
| 20dc020596 | |||
| b53291650f | |||
| b83d84e519 | |||
| 14794d1a5f | |||
| 6b130ef045 | |||
| 25a6126ef4 | |||
| a2df09fb5b | |||
| 465b2741fb | |||
| 724dc5c86c | |||
| f4208c19a7 | |||
| 6fed293716 | |||
| 29ffaf04c4 | |||
| bc9182f214 | |||
| 91c70a51a0 | |||
| dfe30d7f5e | |||
| 815d5460e7 | |||
| 8a63c6768b | |||
| f7c29848f1 | |||
| 78b9426c1c | |||
| 87b22ac684 | |||
| 46c30d197a | |||
| 36b8354350 | |||
| b6702c7182 | |||
| 09d7f608cd | |||
| d023a27377 | |||
| 190595febf | |||
| b25edec26c | |||
| 85d0c12dad | |||
| 25c98ef078 | |||
| af51baea9a | |||
| e97b16606c | |||
| 5ff9e43899 | |||
| d3a49e109c | |||
| e3dbff6996 | |||
| d9f5410afd | |||
| 0568c8f563 | |||
| 16043a7d68 | |||
| f24ee61d11 | |||
| 881a6967ac | |||
| a93f66c6ac | |||
| fdf4b29ae2 | |||
| d5f6ca0d2e | |||
| 12d9ccf28c | |||
| ffc270cc6f | |||
| 61e2e58297 | |||
| b68ede1f63 | |||
| d333c1393c | |||
| 35d6f2f961 | |||
| 3d619a0c61 | |||
| bda812f170 | |||
| 826719bb67 | |||
| 631101eae5 | |||
| fa0b9bf935 | |||
| 708af5e83c | |||
| 993d31167b | |||
| ac5fc7d28a | |||
| 73f3fad13d | |||
| 85e0e2165f | |||
| 89ee103303 | |||
| 6b313947c3 | |||
| fba8e6ce35 | |||
| 622c024547 | |||
| 2c51d92bab | |||
| 11ef2ef708 | |||
| df793e07fd | |||
| bae6eea3aa | |||
| be17b67cc1 | |||
| 645a24d29b | |||
| 64962ce632 | |||
| 5120883691 | |||
| 0b4570ebee | |||
| 5bbdc7e426 | |||
| a1d60630a0 | |||
| e96fd6d69e | |||
| 1423b3fc35 | |||
| fd10b4d585 | |||
| 8a79437668 | |||
| 85a87dc40a | |||
| 95aa0a0024 | |||
| d0c44d1376 | |||
| b0e31ff305 | |||
| f11569ac53 | |||
| fbf7a61bc9 | |||
| 2265165fa3 | |||
| b216b17ef5 | |||
| b2c7b924ac | |||
| 1349f950c9 | |||
| f1c398a3a4 | |||
| 369231ff11 | |||
| 271dee5be6 | |||
| a0c8f40e7b | |||
| 4db0aef0ff | |||
| 5ed9bd243f | |||
| 2c53306f5a | |||
| a3624357dc | |||
| afe0be31f2 | |||
| 71854b704d | |||
| 0907773d6f | |||
| 787eedc8af | |||
| 040a2b5e5f | |||
| 347ee275fa | |||
| 1c0a9e6726 | |||
| c4f038ab9a | |||
| 3746ac5fc1 | |||
| 5c4353dd0c | |||
| f64caed220 | |||
| 863d590292 | |||
| 0dcf64c82b | |||
| 48fd5c5ff6 | |||
| 84fa374072 | |||
| 2313b0b450 | |||
| 4fa6f579af | |||
| 08c1328932 | |||
| 4586308210 | |||
| 5aa561dcb2 | |||
| e07612fe24 | |||
| c9289204c4 | |||
| 51bb1081a6 | |||
| 25066bb33c | |||
| bfdb176445 | |||
| 42233fa756 | |||
| 55de4319ed | |||
| 306f6edd4e | |||
| bf55bbccd9 | |||
| 6e26c0a0be | |||
| 11bcd318ab | |||
| 2f6d19dc91 | |||
| 989e1ce175 | |||
| 1c2fd46401 | |||
| b7967b34d1 | |||
| 44dfa37852 | |||
| a06e3c7e74 | |||
| b54c331bef | |||
| 8216fe5e36 | |||
| b5c9c4b188 | |||
| 86bd617933 | |||
| eb771e7932 | |||
| 5ea91aeafc | |||
| 3c67290aeb | |||
| f9f6c2f9be | |||
| a92e8f61bc | |||
| e739683bb6 | |||
| f4a743593d | |||
| f93e49ecf3 | |||
| d6325a42ea | |||
| ef997be219 | |||
| b6eadfcebc | |||
| e4c65ca631 | |||
| 2d2342f9ee | |||
| 60838a1b7e | |||
| 63401b7640 | |||
| 6a5b669ec4 | |||
| ca201447d2 | |||
| f1d3117518 | |||
| 8559948a5a | |||
| a3b4aa3b4a | |||
| 0347fa381f | |||
| 3d475cc779 | |||
| ceec74fb70 | |||
| f5296a947e | |||
| 5b5fcd9372 | |||
| c38817c62e | |||
| ba08c6a707 | |||
| 1797bc8181 | |||
| 657aaf75ec | |||
| dac3c733b3 | |||
| d02b6b67b5 | |||
| 52ce5f3a2f | |||
| 1d316e17cb | |||
| 6193f4b87a | |||
| de5a30e46c | |||
| 973acd22ca | |||
| e235293070 | |||
| 07ab67faa8 | |||
| e6fce8cbc7 | |||
| 589f8e62f4 | |||
| 27f45f7cf6 | |||
| 48af4ac79c | |||
| 9b6baab1e0 | |||
| 3ba4e712dc | |||
| 5bf3ecdf42 | |||
| bd6fd472a6 | |||
| 7f4776b52b | |||
| d20f03127a | |||
| 4b6c7774e0 | |||
| d02bca8879 | |||
| 5e654ccf94 | |||
| 7d3e5c22fb | |||
| 23eb61ee5f | |||
| 2cded4b2d1 | |||
| ba7662fc1e | |||
| 832a48ac76 | |||
| 2db0c125fe | |||
| 20d9624bc6 | |||
| f20ee68f50 | |||
| cbf45ce3eb | |||
| 2e7fdd93dd | |||
| 8ce38f82b5 | |||
| ec5429eeec | |||
| 4b17c4045d | |||
| aaf42e4693 | |||
| 0e3cbfc40b | |||
| a95ca05c10 | |||
| 56b600dbdc | |||
| 80a013d0a3 | |||
| 7ef59bb74c | |||
| 9cf1a9e25c | |||
| 0fce6c0cd4 | |||
| 2d444e9aa0 | |||
| 7c393b1125 | |||
| 78ab4dc94d | |||
| 6a5904cfaa | |||
| a6061ec2a9 | |||
| 51c777304b | |||
| fbd535f2c5 | |||
| 7d456671c2 | |||
| dd4924c925 | |||
| f73129cd7e | |||
| 4983c8741e | |||
| c5798640ff | |||
| 5803a8018a | |||
| e2aae8ac8a | |||
| 2917aeeb32 | |||
| 9377c03c3f | |||
| 9b926fbad6 | |||
| 8db19c3e2b | |||
| ca970781c7 | |||
| e7beee2788 | |||
| d266eada88 | |||
| 11b8b078b4 | |||
| 37912fa29a | |||
| b97dafe6f3 | |||
| 2a29151395 | |||
| 8b988d89c0 | |||
| c0908f1b58 | |||
| bb46044f7c | |||
| 60b3dd6138 | |||
| 22c1f936c3 | |||
| e899874b04 | |||
| 04c6888cf6 | |||
| 29c56c6919 | |||
| c98ed9cc85 | |||
| 88f7530c13 | |||
| bb820437af | |||
| d1a4bd38e0 | |||
| d18f6ccd32 | |||
| aa317c964e | |||
| 7ae8845ae9 | |||
| 123a6dbe0c | |||
| dda8d79526 | |||
| de5293955a | |||
| 96669bff5b | |||
| a99762f004 | |||
| 1fc3c9b83e | |||
| af86b6f664 | |||
| a0208dd5b3 | |||
| 1c5c8b81d5 | |||
| 79c3e33434 | |||
| 5ab8729a31 | |||
| db0baf92f1 | |||
| a8974094db | |||
| 13c5c97ba7 | |||
| 894ebb3edd | |||
| cac899a7e5 | |||
| 901e0dd93b | |||
| a360231fd0 | |||
| 6ccc6ee42f | |||
| 9c72ad85a0 | |||
| fa6d80a753 | |||
| f6ab2ca9ba | |||
| ba1e1ad5ad | |||
| 02705ea3ad | |||
| df6e3f06a6 | |||
| 1cb5ee9fd6 | |||
| 893d6176c3 | |||
| 2c1b512e40 | |||
| de50d76800 | |||
| 401b78e477 | |||
| 01837eaea9 | |||
| 7df699353c | |||
| 5455972be2 | |||
| 57488bcd16 | |||
| b6fda901ef | |||
| 14669df890 | |||
| 64525a65f2 | |||
| 61fc7efecb | |||
| 8c7c1e4745 | |||
| f64d30ec88 | |||
| 384dfc8da4 | |||
| 841784ae8c | |||
| f5683cfd94 | |||
| 0a420ce30e | |||
| a5e7132d3c | |||
| 6dfb2be4a2 | |||
| d81cbad550 | |||
| 51ad06b303 | |||
| 27048ad95c | |||
| fa9bf0b448 | |||
| 305190b64e | |||
| 98e3d18335 | |||
| 72e398956b | |||
| 1e69a13a97 | |||
| 7f9e6e2f44 | |||
| d3c6c0d48e | |||
| 6c83476fd2 | |||
| 9cdf7e2c51 | |||
| 599119e14e | |||
| a2c484e0f3 | |||
| 97ff4d5ac2 | |||
| 5255cfbb25 | |||
| 780358368b | |||
| cf0b918913 | |||
| 4ea690204e | |||
| 14eb775749 | |||
| bf4a3be6d9 | |||
| b9e1e47871 | |||
| ff532ecb22 | |||
| eb21872db1 | |||
| 8e3df184dc | |||
| b34bbcac8b | |||
| 226965a1d7 | |||
| 17b2ea126c | |||
| 59fc4a089c | |||
| ef26dc8cbb | |||
| 8a0fbb28b0 | |||
| 618d8d5b1a | |||
| 3a936dc9c1 | |||
| 031fcd75ee | |||
| c8cd23cb32 | |||
| a3049938a3 | |||
| b23488e862 | |||
| c8203cf04c | |||
| 4f2616ef0a | |||
| 04ffc69e00 | |||
| 5b4bb6e7a7 | |||
| 2e953ba998 | |||
| ed5a4eb960 | |||
| 31b2c05084 | |||
| 6e1662038c | |||
| df78d88f79 | |||
| addedb3091 | |||
| 2ea17b2dea | |||
| 85d2f42f47 | |||
| cdb655c1bd | |||
| 3064d03aa9 | |||
| 6af6417ca2 | |||
| a35271fbb3 | |||
| 63aef71f60 | |||
| 0f8457534c | |||
| 2984582e62 | |||
| 147d8fd9af | |||
| c12d354900 | |||
| 8bcb552783 | |||
| f504a8288c | |||
| 79f5b54228 | |||
| 669a9855e6 | |||
| e3b96c3a1f | |||
| 7e0d4bef20 | |||
| 0bd0f48df3 | |||
| ae56126585 | |||
| 6dcf0ac124 | |||
| 63e2ce43c2 | |||
| f27aa21eb5 | |||
| 42926c663b | |||
| d38116183c | |||
| 9ca373e208 | |||
| 4084f2f5ec | |||
| 684ffbadbc | |||
| 1c4d4c57de | |||
| d83111a199 | |||
| f10fa839fb | |||
| 1f20395ff3 | |||
| bfe6f4255a | |||
| b9032f3012 | |||
| ce53c459e6 | |||
| 6df42fb0d5 | |||
| 1e2b496f4f | |||
| 528c1b0d57 | |||
| 22fba8ba80 | |||
| 6f26261ebe | |||
| 4b1fe3ba91 | |||
| 9f95262bd4 | |||
| 2ec28e541e | |||
| 4764d4b19a | |||
| 9b27547dae | |||
| a96f2c9153 | |||
| 225e0aaf88 | |||
| f0c85910bc | |||
| 124c443528 | |||
| 37c7f8d39f | |||
| c419f1ce22 | |||
| 4949cdfe2f | |||
| cd101b96ea | |||
| 40d0e4631f | |||
| a55a995660 | |||
| 1d576d48ad | |||
| 4ff8030f87 | |||
| c15e2e2c8f | |||
| 41d31a8d75 | |||
| 10e2a26352 | |||
| 6e547f77d0 | |||
| 530a426601 | |||
| 642d6bab77 | |||
| 7980af3d82 | |||
| 2980c42e88 | |||
| b03994f9db | |||
| 41906ec2f9 | |||
| 4d1e7ff2a5 | |||
| 7f18fcfc13 | |||
| ff02ce0747 | |||
| a6056600eb | |||
| 24c94326d5 | |||
| 48c0cb5e62 | |||
| 9968efe1b2 | |||
| 6368342149 | |||
| b5f73db210 | |||
| 22d6a02d04 | |||
| 4e0bcfcccf | |||
| 104313c15d | |||
| 814289af46 | |||
| 3096cd98d5 | |||
| 45dfefbc7a | |||
| 20d92149a8 | |||
| 9c01fffca5 | |||
| 61c1cfff4b | |||
| 7e74261f62 | |||
| 32601f34f1 | |||
| aef69a1a96 | |||
| 130f90bdb6 | |||
| 851c7de87f | |||
| 118156c62d | |||
| cdad3143c9 | |||
| 00fe32136e | |||
| 52f56eeb68 | |||
| b595264e31 | |||
| bf04262170 | |||
| fd589922bb | |||
| fb7029f5c1 | |||
| cc4b4f9bf8 | |||
| b048d6d7e3 | |||
| cffc1f442f | |||
| 91fe710741 | |||
| 5a1eb9fdac | |||
| a64ef6e750 | |||
| 47d2012b3d | |||
| 2c99cd2e21 | |||
| 435cd2f66a | |||
| 372b12dfc2 | |||
| 3a12f5c1c4 | |||
| 781de224b6 | |||
| eff09454c3 | |||
| 473feba6a8 | |||
| e9f0704fb0 | |||
| 8c99469d88 | |||
| 8ec1311dfc | |||
| e48cca6b45 | |||
| d660721f95 | |||
| c52bb93d79 | |||
| ffb6bfd0c9 | |||
| 6e0855f9b3 | |||
| ec9e9ec387 | |||
| fa75aa40f0 | |||
| b865953c22 | |||
| 2542cf6f9a | |||
| cb9499b87f | |||
| c351f01f67 | |||
| c87561fca7 | |||
| a363c143fa | |||
| fb81d2b926 | |||
| 05b1b8f079 | |||
| 7848dc06d4 | |||
| 3a005719b7 | |||
| 6928988f78 | |||
| a521894d7c | |||
| b7fb1d9c08 | |||
| 5f67e45911 | |||
| fddf9fccbd | |||
| 2bedbd7bd2 | |||
| 02f3c85796 | |||
| 3b5bd6a47f | |||
| 06fd404d44 | |||
| d931c52508 | |||
| 800fe9e4c8 | |||
| 8b3d78678f | |||
| 2351cd3ad6 | |||
| dd86c5bcdf | |||
| d0c00e306e | |||
| 6cd68ddd6a | |||
| 02639cddb2 | |||
| 0f67aa4058 | |||
| 78c3403d5f | |||
| fc8f8c574d | |||
| 3972ee580d | |||
| b0a994d5be | |||
| 80df28a0c4 | |||
| 1c6c6a9296 | |||
| 7bb698e442 | |||
| 784728cd54 | |||
| 4b883b68de | |||
| dec2cc2aaf | |||
| b4e8971ad2 | |||
| 84e436265e | |||
| ac8a69f8d4 | |||
| b912e050ea | |||
| 284561d093 | |||
| efc355982c | |||
| 8907879a19 | |||
| 86f6057207 | |||
| 4c92698c73 | |||
| 8407c3b649 | |||
| ed8f82617d | |||
| 31d040d1b6 | |||
| 25a6796e63 | |||
| ff091918aa | |||
| 91b76edce1 | |||
| 5ae5c83bf5 | |||
| 9d90f276de | |||
| 245f091e22 | |||
| ae2f8f086b | |||
| 5e5eb7f937 | |||
| 748630e1f1 | |||
| 43064c8c55 | |||
| 4559a3047c | |||
| de8064ee5c | |||
| 48c8dba342 | |||
| 31a515b2f1 | |||
| 294f56e189 | |||
| 70596a0aac | |||
| 74bc79116b | |||
| e6bd50ae77 | |||
| 308662550f | |||
| d94a7e7157 | |||
| 630b264754 | |||
| 5f2be44b85 | |||
| f68ece68af | |||
| 70c829a2c9 | |||
| e3b6ac4874 | |||
| a762d5a22c | |||
| 3686a26019 | |||
| 80daec748d | |||
| 94359f1299 | |||
| 59dda1bb99 | |||
| 806a732cbc | |||
| 7816be7ba7 | |||
| 5f3bd5137f | |||
| 6c9fc5fb86 | |||
| f7e0b68643 | |||
| b283bbaca9 | |||
| 92ba759b1c | |||
| 0acc9d8d68 | |||
| daa7a9ff61 | |||
| 455f35e0c1 | |||
| 1fa655b56e | |||
| e553222b4b | |||
| f1b6f48926 | |||
| 14ab1cae69 | |||
| 5f9cf90b16 | |||
| 97b367d4ee | |||
| 47119fb346 | |||
| d77eb7f5f1 | |||
| 1b0a2bb34c | |||
| a363039fa1 | |||
| 32c740b58e | |||
| 822ee890af | |||
| b0406dd8aa | |||
| 8d152ddfcb | |||
| 1a16d2e4f4 | |||
| 1ca8531305 | |||
| 6190e7d092 | |||
| a6542dd638 | |||
| 840777a851 | |||
| 5c9dff38c9 | |||
| abfbacb8c2 | |||
| 03afdbf431 | |||
| 507d43b328 | |||
| be214c0599 | |||
| 91f36c3a3f | |||
| f60c15ed2e | |||
| 1ec072373d | |||
| a7d039082e | |||
| d5c06bfa58 | |||
| c8f3a0ce7b | |||
| edbedc181b | |||
| 94afa34780 | |||
| 74dd0ab6cd | |||
| 6c43a331d0 | |||
| 67835ba0c0 | |||
| fe1b2a0e07 | |||
| 2e82be47ed | |||
| 15dfd6dcba | |||
| dfd38943b0 | |||
| 500756d582 | |||
| f855f541d8 | |||
| 590ec6643d | |||
| b9efd35b50 | |||
| 3be1bfe58a |
@@ -0,0 +1,13 @@
|
||||
dist
|
||||
coverage
|
||||
|
||||
.yarn/*
|
||||
!.yarn/cache
|
||||
!.yarn/patches
|
||||
!.yarn/plugins
|
||||
!.yarn/releases
|
||||
!.yarn/unplugged
|
||||
!.yarn/sdks
|
||||
!.yarn/versions
|
||||
|
||||
data/*
|
||||
+19
@@ -1,6 +1,25 @@
|
||||
######
|
||||
# DB #
|
||||
######
|
||||
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_USERNAME=std_notes_user
|
||||
DB_PASSWORD=changeme123
|
||||
DB_DATABASE=standard_notes_db
|
||||
DB_TYPE=mysql
|
||||
|
||||
#########
|
||||
# CACHE #
|
||||
#########
|
||||
|
||||
REDIS_PORT=6379
|
||||
REDIS_HOST=cache
|
||||
|
||||
########
|
||||
# KEYS #
|
||||
########
|
||||
|
||||
AUTH_JWT_SECRET=
|
||||
AUTH_SERVER_ENCRYPTION_SERVER_KEY=
|
||||
VALET_TOKEN_SECRET=
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"root": true,
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "./tsconfig.json"
|
||||
},
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
PUBLIC_FILES_SERVER_URL=http://localhost:3125
|
||||
DB_HOST=db
|
||||
DB_USERNAME=std_notes_user
|
||||
DB_PASSWORD=changeme123
|
||||
DB_DATABASE=standard_notes_db
|
||||
DB_PORT=3306
|
||||
REDIS_PORT=6379
|
||||
REDIS_HOST=cache
|
||||
AUTH_SERVER_ACCESS_TOKEN_AGE=4
|
||||
AUTH_SERVER_REFRESH_TOKEN_AGE=10
|
||||
AUTH_SERVER_EPHEMERAL_SESSION_AGE=300
|
||||
SYNCING_SERVER_REVISIONS_FREQUENCY=5
|
||||
AUTH_SERVER_LOG_LEVEL=debug
|
||||
SYNCING_SERVER_LOG_LEVEL=debug
|
||||
FILES_SERVER_LOG_LEVEL=debug
|
||||
REVISIONS_SERVER_LOG_LEVEL=debug
|
||||
API_GATEWAY_LOG_LEVEL=debug
|
||||
|
||||
MYSQL_DATABASE=standard_notes_db
|
||||
MYSQL_USER=std_notes_user
|
||||
MYSQL_PASSWORD=changeme123
|
||||
MYSQL_ROOT_PASSWORD=changeme123
|
||||
|
||||
AUTH_JWT_SECRET=f95259c5e441f5a4646d76422cfb3df4c4488842901aa50b6c51b8be2e0040e9
|
||||
AUTH_SERVER_ENCRYPTION_SERVER_KEY=1087415dfde3093797f9a7ca93a49e7d7aa1861735eb0d32aae9c303b8c3d060
|
||||
VALET_TOKEN_SECRET=4b886819ebe1e908077c6cae96311b48a8416bd60cc91c03060e15bdf6b30d1f
|
||||
@@ -55,6 +55,11 @@ updates:
|
||||
schedule:
|
||||
interval: "daily"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/revisions"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/scheduler"
|
||||
schedule:
|
||||
@@ -86,7 +91,7 @@ updates:
|
||||
interval: "daily"
|
||||
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/packages/workspace"
|
||||
directory: "/packages/websockets"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: analytics
|
||||
workspace_name: "@standardnotes/analytics"
|
||||
e2e_tag_parameter_name: analytics_image_tag
|
||||
deploy_web: false
|
||||
package_path: packages/analytics
|
||||
secrets: inherit
|
||||
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: api-gateway
|
||||
workspace_name: "@standardnotes/api-gateway"
|
||||
e2e_tag_parameter_name: api_gateway_image_tag
|
||||
deploy_worker: false
|
||||
package_path: packages/api-gateway
|
||||
secrets: inherit
|
||||
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: auth
|
||||
workspace_name: "@standardnotes/auth-server"
|
||||
e2e_tag_parameter_name: auth_image_tag
|
||||
package_path: packages/auth
|
||||
secrets: inherit
|
||||
|
||||
|
||||
@@ -50,6 +50,6 @@ jobs:
|
||||
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
|
||||
with:
|
||||
task-definition: ${{ steps.task-def-prod.outputs.task-definition }}
|
||||
service: ${{ inputs.service_name }}-prod
|
||||
service: ${{ inputs.service_name }}
|
||||
cluster: prod
|
||||
wait-for-service-stability: true
|
||||
|
||||
@@ -6,9 +6,6 @@ on:
|
||||
service_name:
|
||||
required: true
|
||||
type: string
|
||||
bundle_dir:
|
||||
required: true
|
||||
type: string
|
||||
package_path:
|
||||
required: true
|
||||
type: string
|
||||
@@ -32,13 +29,21 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Create Bundle Dir
|
||||
id: bundle-dir
|
||||
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
${{ inputs.bundle_dir }}
|
||||
${{ steps.bundle-dir.outputs.temp_dir }}
|
||||
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
@@ -47,13 +52,16 @@ jobs:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build ${{ inputs.package_path }}
|
||||
|
||||
- name: Bundle
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ inputs.bundle_dir }}
|
||||
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
@@ -85,8 +93,8 @@ jobs:
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: ${{ inputs.bundle_dir }}
|
||||
file: ${{ inputs.bundle_dir }}/${{ inputs.package_path }}/Dockerfile
|
||||
context: ${{ steps.bundle-dir.outputs.temp_dir }}
|
||||
file: ${{ steps.bundle-dir.outputs.temp_dir }}/${{ inputs.package_path }}/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
name: Reusable Run E2E Test Suite Workflow
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
snjs_image_tag:
|
||||
type: string
|
||||
default: latest
|
||||
description: The Docker image tag used for SNJS container
|
||||
secrets:
|
||||
DOCKER_USERNAME:
|
||||
required: true
|
||||
DOCKER_PASSWORD:
|
||||
required: true
|
||||
AWS_ACCESS_KEY_ID:
|
||||
required: true
|
||||
AWS_SECRET_ACCESS_KEY:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
e2e:
|
||||
strategy:
|
||||
matrix:
|
||||
database: [ "mysql", "sqlite" ]
|
||||
include:
|
||||
- cache: "redis"
|
||||
database: "mysql"
|
||||
- cache: "memory"
|
||||
database: "sqlite"
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
snjs:
|
||||
image: standardnotes/snjs:${{ inputs.snjs_image_tag }}
|
||||
ports:
|
||||
- 9001:9001
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Run Server
|
||||
run: docker compose -f docker-compose.ci.yml up -d
|
||||
env:
|
||||
DB_TYPE: ${{ matrix.database }}
|
||||
CACHE_TYPE: ${{ matrix.cache }}
|
||||
|
||||
- name: Wait for server to start
|
||||
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
|
||||
|
||||
- name: Run E2E Test Suite
|
||||
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html
|
||||
@@ -0,0 +1,47 @@
|
||||
name: Reusable Publish Docker Self Hosting Image Workflow
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
secrets:
|
||||
DOCKER_USERNAME:
|
||||
required: true
|
||||
DOCKER_PASSWORD:
|
||||
required: true
|
||||
AWS_ACCESS_KEY_ID:
|
||||
required: true
|
||||
AWS_SECRET_ACCESS_KEY:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@master
|
||||
with:
|
||||
platforms: all
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@master
|
||||
|
||||
- name: Publish Docker image
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: .
|
||||
file: Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
standardnotes/server:latest
|
||||
standardnotes/server:${{ github.sha }}
|
||||
@@ -17,9 +17,6 @@ on:
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
e2e_tag_parameter_name:
|
||||
required: false
|
||||
type: string
|
||||
package_path:
|
||||
required: true
|
||||
type: string
|
||||
@@ -36,177 +33,11 @@ on:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
temp_dir: ${{ steps.bundle-dir.outputs.temp_dir }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Create Bundle Dir
|
||||
id: bundle-dir
|
||||
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
${{ steps.bundle-dir.outputs.temp_dir }}
|
||||
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
run: yarn build ${{ inputs.package_path }}
|
||||
|
||||
- name: Bundle
|
||||
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
|
||||
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
${{ needs.build.outputs.temp_dir }}
|
||||
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build ${{ inputs.package_path }}
|
||||
|
||||
- name: Lint
|
||||
run: yarn lint:${{ inputs.service_name }}
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
${{ needs.build.outputs.temp_dir }}
|
||||
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build ${{ inputs.package_path }}
|
||||
|
||||
- name: Test
|
||||
run: yarn test ${{ inputs.package_path }}
|
||||
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
${{ needs.build.outputs.temp_dir }}
|
||||
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build ${{ inputs.package_path }}
|
||||
|
||||
- name: Bundle
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ needs.build.outputs.temp_dir }}
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@master
|
||||
with:
|
||||
platforms: all
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@master
|
||||
|
||||
- name: Publish Docker image for E2E testing
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: ${{ needs.build.outputs.temp_dir }}
|
||||
file: ${{ needs.build.outputs.temp_dir }}/${{ inputs.package_path }}/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: standardnotes/${{ inputs.service_name }}:${{ github.sha }}
|
||||
|
||||
- name: Run E2E test suite
|
||||
uses: convictional/trigger-workflow-and-wait@v1.6.3
|
||||
with:
|
||||
owner: standardnotes
|
||||
repo: e2e
|
||||
github_token: ${{ secrets.CI_PAT_TOKEN }}
|
||||
workflow_file_name: testing-with-stable-client.yml
|
||||
wait_interval: 30
|
||||
client_payload: '{"${{ inputs.e2e_tag_parameter_name }}": "${{ github.sha }}"}'
|
||||
propagate_failure: true
|
||||
trigger_workflow: true
|
||||
wait_workflow: true
|
||||
|
||||
publish:
|
||||
needs: [ build, test, lint, e2e ]
|
||||
|
||||
name: Publish Docker Image
|
||||
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
|
||||
with:
|
||||
service_name: ${{ inputs.service_name }}
|
||||
bundle_dir: ${{ needs.build.outputs.temp_dir }}
|
||||
package_path: ${{ inputs.package_path }}
|
||||
workspace_name: ${{ inputs.workspace_name }}
|
||||
secrets: inherit
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
name: E2E Test Suite On Self Hosted Server
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */12 * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
snjs_image_tag:
|
||||
type: string
|
||||
default: latest
|
||||
description: The Docker image tag used for SNJS container
|
||||
|
||||
jobs:
|
||||
e2e:
|
||||
name: E2E
|
||||
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
|
||||
with:
|
||||
snjs_image_tag: ${{ inputs.snjs_image_tag || 'latest' }}
|
||||
secrets: inherit
|
||||
@@ -1,39 +0,0 @@
|
||||
name: Event Store
|
||||
|
||||
concurrency:
|
||||
group: event-store
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*standardnotes/event-store*'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
call_server_application_workflow:
|
||||
name: Server Application
|
||||
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
|
||||
with:
|
||||
service_name: event-store
|
||||
workspace_name: "@standardnotes/event-store"
|
||||
e2e_tag_parameter_name: event_store_image_tag
|
||||
deploy_web: false
|
||||
package_path: packages/event-store
|
||||
secrets: inherit
|
||||
|
||||
newrelic:
|
||||
needs: call_server_application_workflow
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Create New Relic deployment marker for Worker
|
||||
uses: newrelic/deployment-marker-action@v1
|
||||
with:
|
||||
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
|
||||
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
|
||||
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_EVENT_STORE_PROD }}
|
||||
revision: "${{ github.sha }}"
|
||||
description: "Automated Deployment via Github Actions"
|
||||
user: "${{ github.actor }}"
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: files
|
||||
workspace_name: "@standardnotes/files-server"
|
||||
e2e_tag_parameter_name: files_image_tag
|
||||
package_path: packages/files
|
||||
secrets: inherit
|
||||
|
||||
|
||||
+84
-14
@@ -6,19 +6,89 @@ on:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
test:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
- name: ESLint
|
||||
run: yarn lint
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn test
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
run: yarn build
|
||||
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build
|
||||
|
||||
- name: Lint
|
||||
run: yarn lint
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build
|
||||
|
||||
- name: Test
|
||||
run: yarn test
|
||||
|
||||
e2e:
|
||||
needs: build
|
||||
|
||||
name: E2E
|
||||
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
|
||||
secrets: inherit
|
||||
|
||||
@@ -5,9 +5,104 @@ on:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
release_and_publish:
|
||||
build:
|
||||
if: contains(github.event.head_commit.message, 'chore(release)') == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
run: yarn build
|
||||
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build
|
||||
|
||||
- name: Lint
|
||||
run: yarn lint
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: build
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build
|
||||
|
||||
- name: Test
|
||||
run: yarn test
|
||||
|
||||
e2e:
|
||||
needs: build
|
||||
name: E2E
|
||||
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
|
||||
secrets: inherit
|
||||
|
||||
publish-self-hosting:
|
||||
needs: [ test, lint, e2e ]
|
||||
name: Publish Self Hosting Docker Image
|
||||
uses: standardnotes/server/.github/workflows/common-self-hosting.yml@main
|
||||
secrets: inherit
|
||||
|
||||
publish-services:
|
||||
needs: [ test, lint, e2e ]
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
@@ -15,6 +110,14 @@ jobs:
|
||||
token: ${{ secrets.CI_PAT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Cache build
|
||||
id: cache-build
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
packages/**/dist
|
||||
key: ${{ runner.os }}-build-${{ github.sha }}
|
||||
|
||||
- name: Setup git config
|
||||
run: |
|
||||
git config --global user.name "standardci"
|
||||
@@ -34,7 +137,8 @@ jobs:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Build packages
|
||||
- name: Build
|
||||
if: steps.cache-build.outputs.cache-hit != 'true'
|
||||
run: yarn build
|
||||
|
||||
- name: Bump version
|
||||
@@ -44,4 +148,3 @@ jobs:
|
||||
run: yarn publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.CI_NPM_TOKEN }}
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
name: Revisions Server
|
||||
|
||||
concurrency:
|
||||
group: revisions_server
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*standardnotes/revisions-server*'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
call_server_application_workflow:
|
||||
name: Server Application
|
||||
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
|
||||
with:
|
||||
service_name: revisions
|
||||
workspace_name: "@standardnotes/revisions-server"
|
||||
package_path: packages/revisions
|
||||
secrets: inherit
|
||||
|
||||
newrelic:
|
||||
needs: call_server_application_workflow
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create New Relic deployment marker for Web
|
||||
uses: newrelic/deployment-marker-action@v1
|
||||
with:
|
||||
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
|
||||
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
|
||||
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_REVISIONS_WEB_PROD }}
|
||||
revision: "${{ github.sha }}"
|
||||
description: "Automated Deployment via Github Actions"
|
||||
user: "${{ github.actor }}"
|
||||
- name: Create New Relic deployment marker for Worker
|
||||
uses: newrelic/deployment-marker-action@v1
|
||||
with:
|
||||
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
|
||||
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
|
||||
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_REVISIONS_WORKER_PROD }}
|
||||
revision: "${{ github.sha }}"
|
||||
description: "Automated Deployment via Github Actions"
|
||||
user: "${{ github.actor }}"
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: scheduler
|
||||
workspace_name: "@standardnotes/scheduler-server"
|
||||
e2e_tag_parameter_name: scheduler_image_tag
|
||||
deploy_web: false
|
||||
package_path: packages/scheduler
|
||||
secrets: inherit
|
||||
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: syncing-server-js
|
||||
workspace_name: "@standardnotes/syncing-server"
|
||||
e2e_tag_parameter_name: syncing_server_js_image_tag
|
||||
package_path: packages/syncing-server
|
||||
secrets: inherit
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ jobs:
|
||||
with:
|
||||
service_name: websockets
|
||||
workspace_name: "@standardnotes/websockets-server"
|
||||
e2e_tag_parameter_name: websockets_image_tag
|
||||
package_path: packages/websockets
|
||||
secrets: inherit
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
name: Workspace Server
|
||||
|
||||
concurrency:
|
||||
group: workspace
|
||||
cancel-in-progress: true
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*standardnotes/workspace-server*'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
call_server_application_workflow:
|
||||
name: Server Application
|
||||
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
|
||||
with:
|
||||
service_name: workspace
|
||||
workspace_name: "@standardnotes/workspace-server"
|
||||
e2e_tag_parameter_name: workspace_image_tag
|
||||
package_path: packages/workspace
|
||||
secrets: inherit
|
||||
|
||||
newrelic:
|
||||
needs: call_server_application_workflow
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Create New Relic deployment marker for Web
|
||||
uses: newrelic/deployment-marker-action@v1
|
||||
with:
|
||||
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
|
||||
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
|
||||
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_WORKSPACE_WEB_PROD }}
|
||||
revision: "${{ github.sha }}"
|
||||
description: "Automated Deployment via Github Actions"
|
||||
user: "${{ github.actor }}"
|
||||
|
||||
- name: Create New Relic deployment marker for Worker
|
||||
uses: newrelic/deployment-marker-action@v1
|
||||
with:
|
||||
accountId: ${{ secrets.NEW_RELIC_ACCOUNT_ID }}
|
||||
apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
|
||||
applicationId: ${{ secrets.NEW_RELIC_APPLICATION_ID_WORKSPACE_WORKER_PROD }}
|
||||
revision: "${{ github.sha }}"
|
||||
description: "Automated Deployment via Github Actions"
|
||||
user: "${{ github.actor }}"
|
||||
@@ -20,3 +20,10 @@ packages/files/uploads/*
|
||||
|
||||
data/*
|
||||
!data/.gitkeep
|
||||
|
||||
packages/**/data/*
|
||||
|
||||
logs/*
|
||||
!logs/.gitkeep
|
||||
|
||||
docker-compose.yml
|
||||
|
||||
File diff suppressed because one or more lines are too long
Generated
+55
-47
@@ -10,7 +10,8 @@ const SAFE_TIME = 456789e3;
|
||||
|
||||
const PortablePath = {
|
||||
root: `/`,
|
||||
dot: `.`
|
||||
dot: `.`,
|
||||
parent: `..`
|
||||
};
|
||||
const npath = Object.create(path);
|
||||
const ppath = Object.create(path.posix);
|
||||
@@ -1357,6 +1358,13 @@ class VirtualFS extends ProxiedFS {
|
||||
}
|
||||
}
|
||||
|
||||
const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
|
||||
const HAS_CONSOLIDATED_HOOKS = major > 16 || major === 16 && minor >= 12;
|
||||
const HAS_UNFLAGGED_JSON_MODULES = major > 17 || major === 17 && minor >= 5 || major === 16 && minor >= 15;
|
||||
const HAS_JSON_IMPORT_ASSERTION_REQUIREMENT = major > 17 || major === 17 && minor >= 1 || major === 16 && minor > 14;
|
||||
const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13;
|
||||
const HAS_LAZY_LOADED_TRANSLATORS = major > 19 || major === 19 && minor >= 3;
|
||||
|
||||
const builtinModules = new Set(Module.builtinModules || Object.keys(process.binding(`natives`)));
|
||||
const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request);
|
||||
function readPackageScope(checkPath) {
|
||||
@@ -1384,11 +1392,6 @@ function readPackage(requestPath) {
|
||||
return JSON.parse(fs.readFileSync(jsonPath, `utf8`));
|
||||
}
|
||||
|
||||
const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
|
||||
const HAS_CONSOLIDATED_HOOKS = major > 16 || major === 16 && minor >= 12;
|
||||
const HAS_UNFLAGGED_JSON_MODULES = major > 17 || major === 17 && minor >= 5 || major === 16 && minor >= 15;
|
||||
const HAS_JSON_IMPORT_ASSERTION_REQUIREMENT = major > 17 || major === 17 && minor >= 1 || major === 16 && minor > 14;
|
||||
|
||||
async function tryReadFile$1(path2) {
|
||||
try {
|
||||
return await fs.promises.readFile(path2, `utf8`);
|
||||
@@ -1486,12 +1489,13 @@ async function load$1(urlString, context, nextLoad) {
|
||||
throw err;
|
||||
}
|
||||
if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {
|
||||
const pathToSend = pathToFileURL(
|
||||
npath.fromPortablePath(
|
||||
VirtualFS.resolveVirtual(npath.toPortablePath(filePath))
|
||||
)
|
||||
).href;
|
||||
process.send({
|
||||
"watch:import": pathToFileURL(
|
||||
npath.fromPortablePath(
|
||||
VirtualFS.resolveVirtual(npath.toPortablePath(filePath))
|
||||
)
|
||||
).href
|
||||
"watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend
|
||||
});
|
||||
}
|
||||
return {
|
||||
@@ -1880,12 +1884,7 @@ function patternKeyCompare(a, b) {
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
function packageImportsResolve({
|
||||
name,
|
||||
base,
|
||||
conditions,
|
||||
readFileSyncFn
|
||||
}) {
|
||||
function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
|
||||
if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) {
|
||||
const reason = "is not a valid internal imports specifier name";
|
||||
throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base));
|
||||
@@ -2002,7 +2001,7 @@ async function resolve$1(originalSpecifier, context, nextResolve) {
|
||||
let allowLegacyResolve = false;
|
||||
if (dependencyNameMatch) {
|
||||
const [, dependencyName, subPath] = dependencyNameMatch;
|
||||
if (subPath === ``) {
|
||||
if (subPath === `` && dependencyName !== `pnpapi`) {
|
||||
const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer);
|
||||
if (resolved) {
|
||||
const content = await tryReadFile$1(resolved);
|
||||
@@ -2013,10 +2012,17 @@ async function resolve$1(originalSpecifier, context, nextResolve) {
|
||||
}
|
||||
}
|
||||
}
|
||||
const result = pnpapi.resolveRequest(specifier, issuer, {
|
||||
conditions: new Set(conditions),
|
||||
extensions: allowLegacyResolve ? void 0 : []
|
||||
});
|
||||
let result;
|
||||
try {
|
||||
result = pnpapi.resolveRequest(specifier, issuer, {
|
||||
conditions: new Set(conditions),
|
||||
extensions: allowLegacyResolve ? void 0 : []
|
||||
});
|
||||
} catch (err) {
|
||||
if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`)
|
||||
err.code = `ERR_MODULE_NOT_FOUND`;
|
||||
throw err;
|
||||
}
|
||||
if (!result)
|
||||
throw new Error(`Resolving '${specifier}' from '${issuer}' failed`);
|
||||
const resultURL = pathToFileURL(result);
|
||||
@@ -2032,32 +2038,34 @@ async function resolve$1(originalSpecifier, context, nextResolve) {
|
||||
};
|
||||
}
|
||||
|
||||
const binding = process.binding(`fs`);
|
||||
const originalfstat = binding.fstat;
|
||||
const ZIP_MASK = 4278190080;
|
||||
const ZIP_MAGIC = 704643072;
|
||||
binding.fstat = function(...args) {
|
||||
const [fd, useBigint, req] = args;
|
||||
if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) {
|
||||
try {
|
||||
const stats = fs.fstatSync(fd);
|
||||
return new Float64Array([
|
||||
stats.dev,
|
||||
stats.mode,
|
||||
stats.nlink,
|
||||
stats.uid,
|
||||
stats.gid,
|
||||
stats.rdev,
|
||||
stats.blksize,
|
||||
stats.ino,
|
||||
stats.size,
|
||||
stats.blocks
|
||||
]);
|
||||
} catch {
|
||||
if (!HAS_LAZY_LOADED_TRANSLATORS) {
|
||||
const binding = process.binding(`fs`);
|
||||
const originalfstat = binding.fstat;
|
||||
const ZIP_MASK = 4278190080;
|
||||
const ZIP_MAGIC = 704643072;
|
||||
binding.fstat = function(...args) {
|
||||
const [fd, useBigint, req] = args;
|
||||
if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) {
|
||||
try {
|
||||
const stats = fs.fstatSync(fd);
|
||||
return new Float64Array([
|
||||
stats.dev,
|
||||
stats.mode,
|
||||
stats.nlink,
|
||||
stats.uid,
|
||||
stats.gid,
|
||||
stats.rdev,
|
||||
stats.blksize,
|
||||
stats.ino,
|
||||
stats.size,
|
||||
stats.blocks
|
||||
]);
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
}
|
||||
return originalfstat.apply(this, args);
|
||||
};
|
||||
return originalfstat.apply(this, args);
|
||||
};
|
||||
}
|
||||
|
||||
const resolve = resolve$1;
|
||||
const getFormat = HAS_CONSOLIDATED_HOOKS ? void 0 : getFormat$1;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"singleQuote": true,
|
||||
"trailingComma": "all",
|
||||
"printWidth": 120,
|
||||
"semi": false
|
||||
}
|
||||
Vendored
+2
-1
@@ -6,5 +6,6 @@
|
||||
"eslint.nodePath": ".yarn/sdks",
|
||||
"prettier.prettierPath": ".yarn/sdks/prettier/index.js",
|
||||
"typescript.tsdk": ".yarn/sdks/typescript/lib",
|
||||
"typescript.enablePromptUseWorkspaceTsdk": true
|
||||
"typescript.enablePromptUseWorkspaceTsdk": true,
|
||||
"terraform.languageServer.enable": false
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user