{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":728729105,"defaultBranch":"master","name":"unit","ownerLogin":"javorszky","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-12-07T15:08:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1196299?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726561355.0","currentOid":""},"activityList":{"items":[{"before":"7c48546ad38be961940a13a6021d8c61a47c594f","after":null,"ref":"refs/heads/gabor/unitctl-fix-readme","pushedAt":"2024-09-17T08:22:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"}},{"before":"0e70d266601bd87c07ee78056ec449979f15f22e","after":"7c48546ad38be961940a13a6021d8c61a47c594f","ref":"refs/heads/gabor/unitctl-fix-readme","pushedAt":"2024-09-17T00:57:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ac000","name":"Andrew Clayton","path":"/ac000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61690?s=80&v=4"},"commit":{"message":"tools/unitctl: adjust readme for socket addresses\n\nCONTROL_SOCKET_ADDRESS is singular, adds note that the flag can be\nspecified multiple times, and adjusts code to print\nCONTROL_SOCKET_ADDRESS as singular.\n\nSigned-off-by: Gabor Javorszky \nSigned-off-by: Andrew Clayton ","shortMessageHtmlLink":"tools/unitctl: adjust readme for socket addresses"}},{"before":"54b7dce0806012f59055bfa7c2fb02afdfcd0fcc","after":"cc863e1526f869a9c6c7f3372f69301bba56f846","ref":"refs/heads/gabor/1408-security-md-tidy","pushedAt":"2024-09-16T22:01:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ac000","name":"Andrew Clayton","path":"/ac000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61690?s=80&v=4"},"commit":{"message":"docs: add SECURITY.md\n\nAll new NGINX projects are created from the template repository which\nhas a SECURITY.md file in it. This adopts the file.\n\nNOTE; We wrap the file around the 76-78 character mark for consistency\nand readability.\n\nLink: \nCloses: https://github.com/nginx/unit/issues/1408\nSigned-off-by: Gabor Javorszky \n[ Tweaked commit message - Andrew ]\nSigned-off-by: Andrew Clayton ","shortMessageHtmlLink":"docs: add SECURITY.md"}},{"before":"654a6555dd392db09e3c38dc56bf713fa0a6ec7b","after":"5e8a68935f614100bbab7865e693b33856022a98","ref":"refs/heads/gabor/unitctl-app-apps","pushedAt":"2024-09-16T21:53:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ac000","name":"Andrew Clayton","path":"/ac000","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61690?s=80&v=4"},"commit":{"message":"tools/unitctl: rename app -> apps, fix readme\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"tools/unitctl: rename app -> apps, fix readme"}},{"before":"291bc621c0d1f2fce11bd369343bf615981e0183","after":"54b7dce0806012f59055bfa7c2fb02afdfcd0fcc","ref":"refs/heads/gabor/1408-security-md-tidy","pushedAt":"2024-09-16T19:01:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"docs: add SECURITY.md\n\nAll new NGINX projects are created from the [template repository](https://github.com/nginxinc/template-repository)\nwhich has a SECURITY.md file in it. This PR adopts the file content.\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"docs: add SECURITY.md"}},{"before":"c8d0d778242d436adedf9a095a081bda1b2d1746","after":"0e70d266601bd87c07ee78056ec449979f15f22e","ref":"refs/heads/gabor/unitctl-fix-readme","pushedAt":"2024-09-16T18:55:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: adjust readme for socket addresses\n\nCONTROL_SOCKET_ADDRESS is singular, adds note that the flag can be\nspecified multiple times, and adjusts code to print\nCONTROL_SOCKET_ADDRESS as singular.\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"tools/unitctl: adjust readme for socket addresses"}},{"before":null,"after":"291bc621c0d1f2fce11bd369343bf615981e0183","ref":"refs/heads/gabor/1408-security-md-tidy","pushedAt":"2024-09-16T17:35:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"docs: add SECURITY.md\n\nAll new NGINX projects are created from the [template repository](https://github.com/nginxinc/template-repository)\nwhich has a SECURITY.md file in it. This PR adopts the file.\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"docs: add SECURITY.md"}},{"before":"f5ce7a8148615177acf5baa788fa554ece4ef5ed","after":"c8d0d778242d436adedf9a095a081bda1b2d1746","ref":"refs/heads/gabor/unitctl-fix-readme","pushedAt":"2024-09-16T17:26:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: adjust readme for socket addresses\n\nCONTROL_SOCKET_ADDRESS is singular, adds note that the flag can be\nspecified multiple times, and adjusts code to print\nCONTROL_SOCKET_ADDRESS as singular.\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"tools/unitctl: adjust readme for socket addresses"}},{"before":"b5eb4e88c03dbbd774a04132c325ab4e92105c45","after":"f5ce7a8148615177acf5baa788fa554ece4ef5ed","ref":"refs/heads/gabor/unitctl-fix-readme","pushedAt":"2024-09-16T15:19:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: adjust readme for socket addresses\n\nCurrent output has plural CONTROL_SOCKET_ADDRESSES. Readme had the\nsingular version.\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"tools/unitctl: adjust readme for socket addresses"}},{"before":"0ef0ce4c6706f18b0c0553dc18880f19d274ab8f","after":"654a6555dd392db09e3c38dc56bf713fa0a6ec7b","ref":"refs/heads/gabor/unitctl-app-apps","pushedAt":"2024-09-16T15:10:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: rename app -> apps, fix readme\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"tools/unitctl: rename app -> apps, fix readme"}},{"before":"f5a4e44a61fff79e6a3216cf922c414f0b97e3b8","after":"0ef0ce4c6706f18b0c0553dc18880f19d274ab8f","ref":"refs/heads/gabor/unitctl-app-apps","pushedAt":"2024-09-16T11:22:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"unitctl: rename app -> apps, fix readme\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"unitctl: rename app -> apps, fix readme"}},{"before":"5de89d23127dfa283d53def2f257809a19bd627c","after":"f5a4e44a61fff79e6a3216cf922c414f0b97e3b8","ref":"refs/heads/gabor/unitctl-app-apps","pushedAt":"2024-09-16T10:34:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"unitctl: changes examples to use plural apps\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"unitctl: changes examples to use plural apps"}},{"before":null,"after":"b5eb4e88c03dbbd774a04132c325ab4e92105c45","ref":"refs/heads/gabor/unitctl-fix-readme","pushedAt":"2024-09-16T10:31:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"unitctl: adjust readme for socket addresses arg\n\nCurrent output has plural CONTROL_SOCKET_ADDRESSES. Readme had the\nsingular version.\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"unitctl: adjust readme for socket addresses arg"}},{"before":"c511e59e2dfe8e5d7c8a2d4a4ef5da2c65bd5229","after":"5de89d23127dfa283d53def2f257809a19bd627c","ref":"refs/heads/gabor/unitctl-app-apps","pushedAt":"2024-09-16T09:52:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Add apps subcommand to readme\n\nSigned-off-by: Gabor Javorszky ","shortMessageHtmlLink":"Add apps subcommand to readme"}},{"before":null,"after":"c511e59e2dfe8e5d7c8a2d4a4ef5da2c65bd5229","ref":"refs/heads/gabor/unitctl-app-apps","pushedAt":"2024-09-16T09:41:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Rename App -> Apps","shortMessageHtmlLink":"Rename App -> Apps"}},{"before":"83bf987baacdd972e3f309955e9592e91533bb4e","after":null,"ref":"refs/heads/gabor/1375-output-format","pushedAt":"2024-08-01T17:28:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"}},{"before":"d9188accdaf1b3187db6f53610a585dafc4062e4","after":"83bf987baacdd972e3f309955e9592e91533bb4e","ref":"refs/heads/gabor/1375-output-format","pushedAt":"2024-08-01T15:37:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: reword freeform message for output","shortMessageHtmlLink":"tools/unitctl: reword freeform message for output"}},{"before":null,"after":"d9188accdaf1b3187db6f53610a585dafc4062e4","ref":"refs/heads/gabor/1375-output-format","pushedAt":"2024-08-01T09:32:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"unitctl: Reword freeform message for output format","shortMessageHtmlLink":"unitctl: Reword freeform message for output format"}},{"before":"e2a09c7742d2b74e3896ef99d3941ab1e46d2a15","after":"1b4843036d6aa10fea6c23ed455c30f4cc9d873d","ref":"refs/heads/master","pushedAt":"2024-08-01T08:38:12.000Z","pushType":"push","commitsCount":98,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: update readme\n\nSigned-off-by: Ava Hahn ","shortMessageHtmlLink":"tools/unitctl: update readme"}},{"before":"f2e3e5a4cc3d4c0905b17af63c51d48d1c1f1941","after":null,"ref":"refs/heads/gabor/issue-1254-cli-filter","pushedAt":"2024-05-20T15:58:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"}},{"before":"bd577ca3210bfe8effc4d97a3aec780bd71f5f36","after":"f2e3e5a4cc3d4c0905b17af63c51d48d1c1f1941","ref":"refs/heads/gabor/issue-1254-cli-filter","pushedAt":"2024-05-17T14:36:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"tools/unitctl: Replace format! with .to_string()","shortMessageHtmlLink":"tools/unitctl: Replace format! with .to_string()"}},{"before":null,"after":"bd577ca3210bfe8effc4d97a3aec780bd71f5f36","ref":"refs/heads/gabor/issue-1254-cli-filter","pushedAt":"2024-05-17T10:25:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Replace format! with .to_string()","shortMessageHtmlLink":"Replace format! with .to_string()"}},{"before":"b26c119f4e535f617c9ffb10076f15c4ee54414d","after":"e2a09c7742d2b74e3896ef99d3941ab1e46d2a15","ref":"refs/heads/master","pushedAt":"2024-05-07T11:01:29.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Convert 0-sized arrays to true flexible array members\n\nDeclaring a 0-sized array (e.g 'char arr[0];') as the last member of a\nstructure is a GNU extension that was used to implement flexible array\nmembers (FAMs) before they were standardised in C99 as simply '[]'.\n\nThe GNU extension itself was introduced to work around a hack of\ndeclaring 1-sized arrays to mean a variable-length object. The advantage\nof the 0-sized (and true FAMs) is that they don't count towards the size\nof the structure.\n\nUnit already declares some true FAMs, but it also declared some 0-sized\narrays.\n\nConverting these 0-sized arrays to true FAMs is not only good for\nconsistency but will also allow better compiler checks now (as in a C99\nFAM *must* be the last member of a structure and the compiler will warn\notherwise) and in the future as doing this fixes a bunch of warnings\n(treated as errors in Unit by default) when compiled with\n\n -O2 -Warray-bounds -Wstrict-flex-arrays -fstrict-flex-arrays=3\n\n(Note -Warray-bounds is enabled by -Wall and -Wstrict-flex-arrays seems\nto also be enabled via -Wall -Wextra, the -02 is required to make\n-fstrict-flex-arrays more effective, =3 is the default on at least GCC\n14)\n\nsuch as\n\n CC build/src/nxt_upstream.o\nsrc/nxt_upstream.c: In function ‘nxt_upstreams_create’:\nsrc/nxt_upstream.c:56:18: error: array subscript i is outside array bounds of ‘nxt_upstream_t[0]’ {aka ‘struct nxt_upstream_s[]’} [-Werror=array-bounds=]\n 56 | string = nxt_str_dup(mp, &upstreams->upstream[i].name, &name);\n | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nIn file included from src/nxt_upstream.c:9:\nsrc/nxt_upstream.h:55:48: note: while referencing ‘upstream’\n 55 | nxt_upstream_t upstream[0];\n | ^~~~~~~~\n\nMaking our flexible array members proper C99 FAMs and ensuring any >0\nsized trailing arrays in structures are really normal arrays will allow\nto enable various compiler options (such as the above and more) that\nwill help keep our array usage safe.\n\nChanging 0-sized arrays to FAMs should have no effect on structure\nlayouts/sizes (they both have a size of 0, although doing a sizeof() on\na FAM will result in a compiler error).\n\nLooking at pahole(1) output for the nxt_http_route_ruleset_t structure\nfor the [0] and [] cases...\n\n$ pahole -C nxt_http_route_ruleset_t /tmp/build/src/nxt_http_route.o\ntypedef struct {\n uint32_t items; /* 0 4 */\n\n /* XXX 4 bytes hole, try to pack */\n\n nxt_http_route_rule_t * rule[]; /* 8 0 */\n\n /* size: 8, cachelines: 1, members: 2 */\n /* sum members: 4, holes: 1, sum holes: 4 */\n /* last cacheline: 8 bytes */\n} nxt_http_route_ruleset_t;\n$ pahole -C nxt_http_route_ruleset_t build/src/nxt_http_route.o\ntypedef struct {\n uint32_t items; /* 0 4 */\n\n /* XXX 4 bytes hole, try to pack */\n\n nxt_http_route_rule_t * rule[]; /* 8 0 */\n\n /* size: 8, cachelines: 1, members: 2 */\n /* sum members: 4, holes: 1, sum holes: 4 */\n /* last cacheline: 8 bytes */\n} nxt_http_route_ruleset_t;\n\nAlso checking with the size(1) command on the effected object files\nshows no changes to their sizes\n\n$ for file in build/src/nxt_upstream.o \\\n\tbuild/src/nxt_upstream_round_robin.o \\\n\tbuild/src/nxt_h1proto.o \\\n\tbuild/src/nxt_http_route.o \\\n\tbuild/src/nxt_http_proxy.o \\\n\tbuild/src/python/*.o; do \\\n\tsize -G /tmp/${file} $file; echo; done\n text data bss total filename\n 640 418 0 1058 /tmp/build/src/nxt_upstream.o\n 640 418 0 1058 build/src/nxt_upstream.o\n\n text data bss total filename\n 929 351 0 1280 /tmp/build/src/nxt_upstream_round_robin.o\n 929 351 0 1280 build/src/nxt_upstream_round_robin.o\n\n text data bss total filename\n 11707 8281 16 20004 /tmp/build/src/nxt_h1proto.o\n 11707 8281 16 20004 build/src/nxt_h1proto.o\n\n text data bss total filename\n 8319 3101 0 11420 /tmp/build/src/nxt_http_route.o\n 8319 3101 0 11420 build/src/nxt_http_route.o\n\n text data bss total filename\n 1495 1056 0 2551 /tmp/build/src/nxt_http_proxy.o\n 1495 1056 0 2551 build/src/nxt_http_proxy.o\n\n text data bss total filename\n 4321 2895 0 7216 /tmp/build/src/python/nxt_python_asgi_http-python.o\n 4321 2895 0 7216 build/src/python/nxt_python_asgi_http-python.o\n\n text data bss total filename\n 4231 2266 0 6497 /tmp/build/src/python/nxt_python_asgi_lifespan-python.o\n 4231 2266 0 6497 build/src/python/nxt_python_asgi_lifespan-python.o\n\n text data bss total filename\n 12051 6090 8 18149 /tmp/build/src/python/nxt_python_asgi-python.o\n 12051 6090 8 18149 build/src/python/nxt_python_asgi-python.o\n\n text data bss total filename\n 28 1963 432 2423 /tmp/build/src/python/nxt_python_asgi_str-python.o\n 28 1963 432 2423 build/src/python/nxt_python_asgi_str-python.o\n\n text data bss total filename\n 5818 3518 0 9336 /tmp/build/src/python/nxt_python_asgi_websocket-python.o\n 5818 3518 0 9336 build/src/python/nxt_python_asgi_websocket-python.o\n\n text data bss total filename\n 4391 2089 168 6648 /tmp/build/src/python/nxt_python-python.o\n 4391 2089 168 6648 build/src/python/nxt_python-python.o\n\n text data bss total filename\n 9095 5909 152 15156 /tmp/build/src/python/nxt_python_wsgi-python.o\n 9095 5909 152 15156 build/src/python/nxt_python_wsgi-python.o\n\nLink: \nLink: \nSigned-off-by: Andrew Clayton ","shortMessageHtmlLink":"Convert 0-sized arrays to true flexible array members"}},{"before":"183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99","after":"b26c119f4e535f617c9ffb10076f15c4ee54414d","ref":"refs/heads/master","pushedAt":"2024-04-30T09:50:46.000Z","pushType":"push","commitsCount":114,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Tighten up some string arrays\n\nThis is the normal way of declaring such things.\n\nReviewed-by: Zhidao HONG \nSigned-off-by: Andrew Clayton ","shortMessageHtmlLink":"Tighten up some string arrays"}},{"before":null,"after":"ae4081f32586e8d53ea71a5cd287040088007205","ref":"refs/heads/gabor/pr-1162-tests","pushedAt":"2024-04-26T13:40:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Change request_uri tests for changed behaviour\n\nAs the request uri is now persisted, the tests\nthat made sure that it didn't change now fails.\n\nThis PR changes those tests in line with the\nchanged behaviour.","shortMessageHtmlLink":"Change request_uri tests for changed behaviour"}},{"before":"d9a72fbbbffbb6d6e521eebe12f48a8df7a5a752","after":"f95dee75fbd6c05230ec95d6928a74d41a71a95f","ref":"refs/heads/gabor/issue-1013","pushedAt":"2024-02-20T12:26:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Add additional replace rules for node:* modules\n\nIn that particular issue the compiled nuxt files end up importing the\nhttp module as node:http rather than http only. This bypasses unit's\ncustom loader implementation which only check for the http or unit-http\nmodules, and their websocket counterparts.\n\nThis changeset adds replace sources for both the node:http and\nnode:websocket import signatures.\n\nCloses: https://github.com/nginx/unit/issues/1013\nReviewed-by: Andrew Clayton ","shortMessageHtmlLink":"Add additional replace rules for node:* modules"}},{"before":"02d1984c912261a1274534a24a2d94ac7c7abfa7","after":"183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99","ref":"refs/heads/master","pushedAt":"2024-02-20T12:25:12.000Z","pushType":"push","commitsCount":40,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Docker: redirect logs to stderr\n\nThis allows to use /dev/stdout as application logs if users choose to do\nso.\n\nCloses: https://github.com/nginx/unit/issues/982","shortMessageHtmlLink":"Docker: redirect logs to stderr"}},{"before":"9dafbdcd4f492d43f1e420bef2b9bb89a89e7b3c","after":null,"ref":"refs/heads/gabor/issue-1043","pushedAt":"2024-02-14T18:16:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"}},{"before":"30848817137081828d556e426355edba017e07a2","after":"9dafbdcd4f492d43f1e420bef2b9bb89a89e7b3c","ref":"refs/heads/gabor/issue-1043","pushedAt":"2024-02-14T16:49:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Add changes to docs/changes.xml","shortMessageHtmlLink":"Add changes to docs/changes.xml"}},{"before":"e96eabca68c51a60e2acb5068464d4cb890c69fc","after":"30848817137081828d556e426355edba017e07a2","ref":"refs/heads/gabor/issue-1043","pushedAt":"2024-02-14T13:01:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"javorszky","name":"Gabor Javorszky","path":"/javorszky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1196299?s=80&v=4"},"commit":{"message":"Add changes to docs/changes.xml","shortMessageHtmlLink":"Add changes to docs/changes.xml"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QwODoyMjozNS4wMDAwMDBazwAAAAS4RCYs","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QwODoyMjozNS4wMDAwMDBazwAAAAS4RCYs","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0xNFQxMzowMTo1Ny4wMDAwMDBazwAAAAP6jB8v"}},"title":"Activity · javorszky/unit"}