{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":385426741,"defaultBranch":"master","name":"pg_net","ownerLogin":"supabase","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-13T00:52:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/54469796?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724384015.0","currentOid":""},"activityList":{"items":[{"before":"0e56cb0c9a9deea867fc058b1e2604c452ca3cd0","after":"16a7f47a0366cff4b5e59e1204d461d33a4d73d4","ref":"refs/heads/master","pushedAt":"2024-09-17T23:46:13.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"test: add cloud test for reproducing timeouts\n\nThis uses NixOps wrapper scripts to reproduce\nhttps://github.com/supabase/pg_net/issues/86.\n\nThe steps are:\n\n```\n$ net-cloud-deploy\n$ net-cloud-reproduce-timeouts\n\nnet-cloud-reproduce-timeouts\nNOTICE: Waiting until 10000 requests complete\nNOTICE: Stats: {\"request_successes\":8882,\"request_failures\":1118,\"last_failure_error\":\"Timeout was reached\"}\nNOTICE: Time taken: 00:01:44.341157\n```\n\nThen destroy the cloud setup with `net-cloud-destroy`","shortMessageHtmlLink":"test: add cloud test for reproducing timeouts"}},{"before":"130f8397056d536b5ef9386e2c608021c012621c","after":"0e56cb0c9a9deea867fc058b1e2604c452ca3cd0","ref":"refs/heads/master","pushedAt":"2024-09-12T14:03:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"test: make timeout test faster and shorten query","shortMessageHtmlLink":"test: make timeout test faster and shorten query"}},{"before":"8f821fb63d2f97adfb3136f8a7cca10a628659d9","after":"130f8397056d536b5ef9386e2c608021c012621c","ref":"refs/heads/master","pushedAt":"2024-09-10T15:52:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"chore: bring back load testing with nixops\n\nThis is just for manual bench tests for now, to ensure a change doesn't\ncause a performance regression.\n\nAdds the following nixops commands to reproduce some bench tests:\n\nNote: All of the nixops command need to run on the nix directory (`cd nix`).\n\n- max requests for the nginx server:\n\nnixops ssh -d pg_net client vegeta-bench-max-requests\n\nIt's capable of handling ~12k req/s.\n\n- reference bench test with the vegeta http client, only using one thread/worker:\n\nnixops ssh -d pg_net client vegeta-bench-max-requests\n\nVegeta is able to do ~2.5K req/s.\n\n- With a pg_net.batch_size=32000, this uses pg_net for the bench test:\n\nnixops ssh -d pg_net client net-bench\n\npg_net reaches 400 req/s max before request errors are reported. Like\n`Couldn't resolve host name` or `Couldn't connect to server`.\n\nThese need further investigation, for now keeping the batch_size low is\nnecessary for stability.","shortMessageHtmlLink":"chore: bring back load testing with nixops"}},{"before":"37092ced8cda3bcec6c6cdd75cd2a61ba2f52a50","after":"8f821fb63d2f97adfb3136f8a7cca10a628659d9","ref":"refs/heads/master","pushedAt":"2024-09-05T13:56:39.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"chore: remove pathod and use a single nixpkgs\n\nCloses https://github.com/supabase/pg_net/issues/106","shortMessageHtmlLink":"chore: remove pathod and use a single nixpkgs"}},{"before":"de214de44c2f30d12e49850c6a965288936e5052","after":"37092ced8cda3bcec6c6cdd75cd2a61ba2f52a50","ref":"refs/heads/master","pushedAt":"2024-09-03T18:50:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"fix: show clear error message on older libcurl\n\nCloses https://github.com/supabase/pg_net/issues/143","shortMessageHtmlLink":"fix: show clear error message on older libcurl"}},{"before":"fb9804544e275aeb6b564eac35318d5ed8d7275c","after":"de214de44c2f30d12e49850c6a965288936e5052","ref":"refs/heads/master","pushedAt":"2024-09-03T18:47:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"chore: better debugging with gdb (#145)\n\n* Add nix wrapper for GDB. This is added to docs.\r\n\r\n* Use `log_min_messages=INFO` by default for better debugging.\r\n\r\n* Add tags to gitignore.","shortMessageHtmlLink":"chore: better debugging with gdb (#145)"}},{"before":"36c9d9c4b89753122b3c1a77fef6e35603775d19","after":null,"ref":"refs/heads/chore/0.10.0","pushedAt":"2024-08-23T03:27:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"}},{"before":"bd95c719793fc13261704b69408d0c3274f2199a","after":"fb9804544e275aeb6b564eac35318d5ed8d7275c","ref":"refs/heads/master","pushedAt":"2024-08-23T03:27:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"},"commit":{"message":"chore: bump version","shortMessageHtmlLink":"chore: bump version"}},{"before":null,"after":"36c9d9c4b89753122b3c1a77fef6e35603775d19","ref":"refs/heads/chore/0.10.0","pushedAt":"2024-08-23T03:01:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"},"commit":{"message":"chore: bump version","shortMessageHtmlLink":"chore: bump version"}},{"before":"9e9a8a081904eb9b70dd7055e93067506f52b333","after":null,"ref":"refs/heads/feat/suset","pushedAt":"2024-08-23T00:51:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"}},{"before":"c04cb779dade2bb045239a1cd1f8a651f42af107","after":"bd95c719793fc13261704b69408d0c3274f2199a","ref":"refs/heads/master","pushedAt":"2024-08-23T00:42:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"},"commit":{"message":"feat: make ttl & batch_size SUSET","shortMessageHtmlLink":"feat: make ttl & batch_size SUSET"}},{"before":null,"after":"9e9a8a081904eb9b70dd7055e93067506f52b333","ref":"refs/heads/feat/suset","pushedAt":"2024-08-22T04:19:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"},"commit":{"message":"feat: make ttl & batch_size SUSET","shortMessageHtmlLink":"feat: make ttl & batch_size SUSET"}},{"before":"6cfa1c33d0f94896b4d071ce1f1c2a0c1068a614","after":"c04cb779dade2bb045239a1cd1f8a651f42af107","ref":"refs/heads/master","pushedAt":"2024-08-22T03:44:14.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"chore: remove release.yml\n\nWe'll no longer do releases for ubuntu as we'll deploy new versions\nusing Nix.","shortMessageHtmlLink":"chore: remove release.yml"}},{"before":"c2ba87bca24ff292296c8d177464ba8852d32e2d","after":"6cfa1c33d0f94896b4d071ce1f1c2a0c1068a614","ref":"refs/heads/master","pushedAt":"2024-08-09T16:11:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"bump to 0.9.3","shortMessageHtmlLink":"bump to 0.9.3"}},{"before":"4e2b9f23ad1391eff352f2e9ebc3f689b37d211b","after":"c2ba87bca24ff292296c8d177464ba8852d32e2d","ref":"refs/heads/master","pushedAt":"2024-08-09T14:58:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"fix: malformed header crashes the bg worker\n\n- Now libcurl >= 7.83 is a requirement\n- Tests are changed to fit new libcurl behavior","shortMessageHtmlLink":"fix: malformed header crashes the bg worker"}},{"before":"a6da97567d52242a224379d04618bfde5531d2d2","after":"4e2b9f23ad1391eff352f2e9ebc3f689b37d211b","ref":"refs/heads/master","pushedAt":"2024-08-08T06:18:07.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"chore: use latest stable nixpkgs globally\n\n- Remove nixops as it's incompatible with this nixpkgs version","shortMessageHtmlLink":"chore: use latest stable nixpkgs globally"}},{"before":"47e3c1a82ee342df0acd1c7170fbc9a9f97609b1","after":"a6da97567d52242a224379d04618bfde5531d2d2","ref":"refs/heads/master","pushedAt":"2024-07-17T19:12:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"refactor: background worker logic into functions\n\nThis way the logic is easier to understand, essentially:\n\n```\ndelete_expired_responses(guc_ttl);\nconsume_request_queue(curl_mhandle);\ninsert_curl_responses(curl_mhandle);\n```\n\nAlso cleanups tabs and instead uses two spaces for indentation.","shortMessageHtmlLink":"refactor: background worker logic into functions"}},{"before":"006d49ed7483b0ab7013c77978c2c2c304764c18","after":"47e3c1a82ee342df0acd1c7170fbc9a9f97609b1","ref":"refs/heads/master","pushedAt":"2024-07-08T19:12:00.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"fix: handle all curl return codes","shortMessageHtmlLink":"fix: handle all curl return codes"}},{"before":"67617406ef4364a3a1c6141d4783444e0f29c975","after":null,"ref":"refs/tags/v0.9.1-test-curlinfo","pushedAt":"2024-05-07T08:26:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"}},{"before":"f03664bac01a39f28cf0cb0ae4b013794184d4e0","after":"006d49ed7483b0ab7013c77978c2c2c304764c18","ref":"refs/heads/master","pushedAt":"2024-05-06T16:57:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"fix: CURLINFO_RESPONSE_CODE datatype\n\nWe should be using `long` instead of `int`:\nhttps://curl.se/libcurl/c/CURLINFO_RESPONSE_CODE.html\n\nError message when compiling:\n\nsrc/worker.c: In function ‘worker_main’:\nsrc/worker.c:355:57: error: call to ‘_curl_easy_getinfo_err_long’ declared with attribute warning: curl_easy_getinfo expects a pointer to long for this info [-Werror=attribute-warning]\n 355 | curl_easy_getinfo(eh, CURLINFO_RESPONSE_CODE, &http_status_code);\n | ^","shortMessageHtmlLink":"fix: CURLINFO_RESPONSE_CODE datatype"}},{"before":null,"after":"67617406ef4364a3a1c6141d4783444e0f29c975","ref":"refs/heads/fix/curlinfo-response-code-datatype","pushedAt":"2024-05-06T07:55:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"soedirgo","name":"Bobbie Soedirgo","path":"/soedirgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31685197?s=80&v=4"},"commit":{"message":"fix: CURLINFO_RESPONSE_CODE datatype\n\nWe should be using `long` instead of `int`:\nhttps://curl.se/libcurl/c/CURLINFO_RESPONSE_CODE.html\n\nError message when compiling:\n\nsrc/worker.c: In function ‘worker_main’:\nsrc/worker.c:355:57: error: call to ‘_curl_easy_getinfo_err_long’ declared with attribute warning: curl_easy_getinfo expects a pointer to long for this info [-Werror=attribute-warning]\n 355 | curl_easy_getinfo(eh, CURLINFO_RESPONSE_CODE, &http_status_code);\n | ^","shortMessageHtmlLink":"fix: CURLINFO_RESPONSE_CODE datatype"}},{"before":"681c8c83c16698c6c7c8a351a23e481e9dfc4b50","after":"f03664bac01a39f28cf0cb0ae4b013794184d4e0","ref":"refs/heads/master","pushedAt":"2024-02-28T01:12:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"feat: use CURLOPT_PROTOCOLS_STR with libcurl >= 7.85.0\n\nCURLOPT_PROTOCOLS was deprecated in libcurl 7.85.0, causing build error:\n\n src/worker.c: In function 'init':\n src/worker.c:153:9: error: 'CURLOPT_PROTOCOLS' is deprecated: since 7.85.0. Use CURLOPT_PROTOCOLS_STR [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wdeprecated-declarations-Werror=deprecated-declarations8;;]\n 153 | curl_easy_setopt(eh, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);\n | ^~~~~~~~~~~~~~~~\n In file included from src/worker.c:30:\n /nix/store/3k4czsnh3wg9liji56v4kjdz3p1mxhsj-curl-8.6.0-dev/include/curl/curl.h:1745:3: note: declared here\n 1745 | CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181,\n | ^~~~~~~~~~~~~~~~~\n cc1: all warnings being treated as errors","shortMessageHtmlLink":"feat: use CURLOPT_PROTOCOLS_STR with libcurl >= 7.85.0"}},{"before":"8d6bc83d76cef2d37e7dc50f452d62f96c20469e","after":"681c8c83c16698c6c7c8a351a23e481e9dfc4b50","ref":"refs/heads/master","pushedAt":"2024-02-02T17:44:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mansueli","name":"Rodrigo Mansueli","path":"/mansueli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5036432?s=80&v=4"},"commit":{"message":"test: resolves ipv6 only host (#126)","shortMessageHtmlLink":"test: resolves ipv6 only host (#126)"}},{"before":"4abbc0e068a6b1d63c7e2f70659cd3418c3508f0","after":"8d6bc83d76cef2d37e7dc50f452d62f96c20469e","ref":"refs/heads/master","pushedAt":"2024-01-30T18:44:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"bump to 0.8.0","shortMessageHtmlLink":"bump to 0.8.0"}},{"before":"5c0b8f4024cf875a49a4a80f5f5e941358c294df","after":"4abbc0e068a6b1d63c7e2f70659cd3418c3508f0","ref":"refs/heads/master","pushedAt":"2024-01-29T23:32:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"Revert \"feat: show libcurl version\"\n\nThis reverts commit eb07ef3a61e23e37a83c1a61132e7acdbe770499.","shortMessageHtmlLink":"Revert \"feat: show libcurl version\""}},{"before":"0a0c27a86b1498b4ccc44736b035922af9ff7e49","after":"2a4a33c14020fdd1f371e72c931923d79a4ac1fe","ref":"refs/heads/revert-122-libcurl-version","pushedAt":"2024-01-29T22:47:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"Revert \"feat: show libcurl version\"\n\nThis reverts commit eb07ef3a61e23e37a83c1a61132e7acdbe770499.","shortMessageHtmlLink":"Revert \"feat: show libcurl version\""}},{"before":null,"after":"0a0c27a86b1498b4ccc44736b035922af9ff7e49","ref":"refs/heads/revert-122-libcurl-version","pushedAt":"2024-01-29T22:43:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"Revert \"feat: show libcurl version\"\n\nThis reverts commit eb07ef3a61e23e37a83c1a61132e7acdbe770499.","shortMessageHtmlLink":"Revert \"feat: show libcurl version\""}},{"before":"176c3fdaa7e886d2116ebc28e20dcd3258607158","after":"5c0b8f4024cf875a49a4a80f5f5e941358c294df","ref":"refs/heads/master","pushedAt":"2024-01-23T20:14:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"fix: increase default timeout","shortMessageHtmlLink":"fix: increase default timeout"}},{"before":"4c1ca73646ad60eedacae3feb4cd8595749bcb67","after":"176c3fdaa7e886d2116ebc28e20dcd3258607158","ref":"refs/heads/master","pushedAt":"2024-01-23T17:22:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"test: remove test dependent on ycombinator","shortMessageHtmlLink":"test: remove test dependent on ycombinator"}},{"before":"bef0667ca58202bc5bd43508310a7a401830057e","after":"4c1ca73646ad60eedacae3feb4cd8595749bcb67","ref":"refs/heads/master","pushedAt":"2023-11-23T13:43:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"steve-chavez","name":"Steve Chavez","path":"/steve-chavez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1829294?s=80&v=4"},"commit":{"message":"refactor: use inline array initialization\n\nBetter for locality of behavior and reduces LOC","shortMessageHtmlLink":"refactor: use inline array initialization"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QyMzo0NjoxMy4wMDAwMDBazwAAAAS5FMR6","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QyMzo0NjoxMy4wMDAwMDBazwAAAAS5FMR6","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0yM1QxMzo0Mzo0My4wMDAwMDBazwAAAAO2JCOi"}},"title":"Activity · supabase/pg_net"}