{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":438384984,"defaultBranch":"main","name":"hono","ownerLogin":"honojs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-12-14T20:05:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/98495527?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720525082.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"82adf650d1014e0d6190010691634589a8aad470","ref":"refs/heads/fix/types-validation-targets-form-value","pushedAt":"2024-07-09T11:38:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(types): allow `string[] | File[]` for RPC form value","shortMessageHtmlLink":"fix(types): allow string[] | File[] for RPC form value"}},{"before":"ce1c8172d9ffa69dfb36b41b7679e0e6c94423c6","after":"74310f469b682e7545ca3229a3e2ac5c87a2b7e3","ref":"refs/heads/next","pushedAt":"2024-07-08T21:57:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(vercel): remove deprecated address type (#3115)","shortMessageHtmlLink":"fix(vercel): remove deprecated address type (#3115)"}},{"before":"fbae33719021b0120185611fd741036d3f1bbb8b","after":"ce1c8172d9ffa69dfb36b41b7679e0e6c94423c6","ref":"refs/heads/next","pushedAt":"2024-07-08T14:46:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"feat(vercel): add `getConnInfo` for vercel adapter (#3085)","shortMessageHtmlLink":"feat(vercel): add getConnInfo for vercel adapter (#3085)"}},{"before":"1a11cf8206faf12514578af70ea1f3027aa455eb","after":null,"ref":"refs/heads/fix/ip-restriction-named-func","pushedAt":"2024-07-08T14:32:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"}},{"before":"71cdcf40d876484997d91ed57abb072d51b4537a","after":"fbae33719021b0120185611fd741036d3f1bbb8b","ref":"refs/heads/next","pushedAt":"2024-07-08T14:32:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(ip-restriction): return the named function (#3113)","shortMessageHtmlLink":"fix(ip-restriction): return the named function (#3113)"}},{"before":null,"after":"1a11cf8206faf12514578af70ea1f3027aa455eb","ref":"refs/heads/fix/ip-restriction-named-func","pushedAt":"2024-07-08T14:29:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(ip-restriction): return the named function","shortMessageHtmlLink":"fix(ip-restriction): return the named function"}},{"before":"fa5b742b7d49391c70747cd71a6508cf4fc9160c","after":"71cdcf40d876484997d91ed57abb072d51b4537a","ref":"refs/heads/next","pushedAt":"2024-07-08T14:26:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"feat: Introduce IP Restriction Middleware (#2813)\n\n* feat: Introduce IP Limit Middleware\r\n\r\n* chore(jsr): add return types\r\n\r\n* chore: format code\r\n\r\n* fix: eslint\r\n\r\n* feat: if allow is empty, set allow at * by default (#3)\r\n\r\n* feat: if allow is empty, set allow at * by default\r\n\r\n* fix\r\n\r\n* feat: remove wildcard\r\n\r\n* chore: fix spelling\r\n\r\n* chore: format\r\n\r\n* chore: sort imports\r\n\r\n* fix: test\r\n\r\n* chore: sort imports\r\n\r\n* feat: renamed `ipLimit` to `ipRestriction`\r\n\r\n* feat: accept `(c: Context) => string)`\r\n\r\n* chore: format code\r\n\r\n* feat: allow/deny -> allowList/denyList\r\n\r\n* feat: suport function rule\r\n\r\n* chore: format code\r\n\r\n* fix: test code\r\n\r\n* feat: suport custom errors\r\n\r\n* fix: test code\r\n\r\n* fix: name in test code\r\n\r\n* feat: allow function to named function\r\n\r\n* perf(ip-restriction): optimize ip-restriction middleware by prepare matcher function in advance\r\n\r\n* feat: don't use random ip in test\r\n\r\n* chore: ipVn to ipvn\r\n\r\n* fix: test code\r\n\r\n* fix: fix type error in ip-restriction middleware test\r\n\r\n* chore: rename `IPRestrictRule` to `IPRestrictionRule`\r\n\r\n* docs(ip-restriction): add a comment to explain the normalization of IPv6 address\r\n\r\n* docs(ip-restriction): fix typo in comment\r\n\r\n* refactor(ip-restriction): rename convertIPv6ToString to convertIPv6BinaryToString\r\n\r\n* feat: support to receive `Context` in `onError`\r\n\r\n* fix: https://github.com/honojs/hono/pull/2813#discussion_r1667327721\r\n\r\n* fix: format code\r\n\r\n* feat: use `Forbidden`\r\n\r\n* tracking the `next`\r\n\r\n* remove importing `HonoRequest`\r\n\r\n---------\r\n\r\nCo-authored-by: Ame_x <121654029+EdamAme-x@users.noreply.github.com>\r\nCo-authored-by: Taku Amano \r\nCo-authored-by: Yusuke Wada ","shortMessageHtmlLink":"feat: Introduce IP Restriction Middleware (#2813)"}},{"before":"2fd88dc73f10b2197626d565dc1c6ac868f348ac","after":null,"ref":"refs/heads/fix/helper-conninfo-types","pushedAt":"2024-07-08T14:02:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"}},{"before":"58f421fa27ca2d3debe4ebd85f961b6ae143ea3d","after":"fa5b742b7d49391c70747cd71a6508cf4fc9160c","ref":"refs/heads/next","pushedAt":"2024-07-08T14:02:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(helper/conninfo): add `undefined` for `AddressType` (#3112)","shortMessageHtmlLink":"fix(helper/conninfo): add undefined for AddressType (#3112)"}},{"before":null,"after":"2fd88dc73f10b2197626d565dc1c6ac868f348ac","ref":"refs/heads/fix/helper-conninfo-types","pushedAt":"2024-07-08T13:55:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(helper/conninfo): add `undefined` for `AddressType`","shortMessageHtmlLink":"fix(helper/conninfo): add undefined for AddressType"}},{"before":"f393730d44ecd16d9eb399cbeebb7d182adfad1b","after":"58f421fa27ca2d3debe4ebd85f961b6ae143ea3d","ref":"refs/heads/next","pushedAt":"2024-07-08T13:10:18.000Z","pushType":"push","commitsCount":22,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"Merge branch 'main' into next","shortMessageHtmlLink":"Merge branch 'main' into next"}},{"before":"97ec6521a7fea47a163a57c1753630991a2df1d0","after":"51264492269c0f842697736825e47903ae868bca","ref":"refs/heads/main","pushedAt":"2024-07-08T12:53:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"refactor(http-status): remove unnecessary line of types and use common types (#3110)\n\n* refactor(http-status): remove unnecessary line of types\r\n\r\n* refactor","shortMessageHtmlLink":"refactor(http-status): remove unnecessary line of types and use commo…"}},{"before":"bee3ade1237ea9762407438efbabb8220dc5299b","after":"97ec6521a7fea47a163a57c1753630991a2df1d0","ref":"refs/heads/main","pushedAt":"2024-07-07T06:55:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore: replace tsx with Bun (#3103)","shortMessageHtmlLink":"chore: replace tsx with Bun (#3103)"}},{"before":"fa23db5948b25ebd49e88552ba47a5eb23643ead","after":null,"ref":"refs/heads/chore/update-benchmark","pushedAt":"2024-07-06T10:25:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"}},{"before":"cff2768de0bef72074209c6b4bbaddf4005df328","after":"bee3ade1237ea9762407438efbabb8220dc5299b","ref":"refs/heads/main","pushedAt":"2024-07-06T10:25:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore: update benchmark (#3102)","shortMessageHtmlLink":"chore: update benchmark (#3102)"}},{"before":null,"after":"fa23db5948b25ebd49e88552ba47a5eb23643ead","ref":"refs/heads/chore/update-benchmark","pushedAt":"2024-07-06T10:12:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore: update benchmark","shortMessageHtmlLink":"chore: update benchmark"}},{"before":"a90ff2d4fd96f1e02e6b45dcfcaaeb62dc9ab1d5","after":"cff2768de0bef72074209c6b4bbaddf4005df328","ref":"refs/heads/main","pushedAt":"2024-07-06T07:13:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"v4.4.12","shortMessageHtmlLink":"v4.4.12"}},{"before":"9ac0da6de49e278c0988ce7be25572c2875dc7b3","after":null,"ref":"refs/heads/chore/jwt-module-docs","pushedAt":"2024-07-06T07:10:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"}},{"before":"e513fe7c461a6d1c9d24ee9a66b7432aed58da82","after":"a90ff2d4fd96f1e02e6b45dcfcaaeb62dc9ab1d5","ref":"refs/heads/main","pushedAt":"2024-07-06T07:10:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore(utils/jwt): add `@module` docs (#3101)","shortMessageHtmlLink":"chore(utils/jwt): add @module docs (#3101)"}},{"before":null,"after":"9ac0da6de49e278c0988ce7be25572c2875dc7b3","ref":"refs/heads/chore/jwt-module-docs","pushedAt":"2024-07-06T07:08:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore(utils/jwt): add `@module` docs","shortMessageHtmlLink":"chore(utils/jwt): add @module docs"}},{"before":"e095fe7fa15192e1ee05c20a573ed50e62a7a3c6","after":null,"ref":"refs/heads/fix/helper-streaming-remove-slowtype","pushedAt":"2024-07-06T06:59:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"}},{"before":"2a4f257f36a3553e2891074e56af9275ac1f5e3b","after":"e513fe7c461a6d1c9d24ee9a66b7432aed58da82","ref":"refs/heads/main","pushedAt":"2024-07-06T06:59:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(helper/streaming): remove slow types (#3100)","shortMessageHtmlLink":"fix(helper/streaming): remove slow types (#3100)"}},{"before":null,"after":"e095fe7fa15192e1ee05c20a573ed50e62a7a3c6","ref":"refs/heads/fix/helper-streaming-remove-slowtype","pushedAt":"2024-07-06T06:57:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(helper/streaming): remove slow types","shortMessageHtmlLink":"fix(helper/streaming): remove slow types"}},{"before":"6c1b2a7c01d2ab688180d305438ec7b697639080","after":"2a4f257f36a3553e2891074e56af9275ac1f5e3b","ref":"refs/heads/main","pushedAt":"2024-07-06T06:42:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"feat(types): improve JSONParsed (#3074)\n\n* feat: improve JSONParsed\r\n\r\n* refactor: make things simple","shortMessageHtmlLink":"feat(types): improve JSONParsed (#3074)"}},{"before":"72ee8084a18f47385809d0e42c884df254bea3a7","after":"6c1b2a7c01d2ab688180d305438ec7b697639080","ref":"refs/heads/main","pushedAt":"2024-07-06T06:38:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore: add the triage label (#3092)\n\n* Update 1-bug-report.yml\r\n\r\n* only triage label","shortMessageHtmlLink":"chore: add the triage label (#3092)"}},{"before":"28de9b32a827436fb57518bf740073418d588044","after":"72ee8084a18f47385809d0e42c884df254bea3a7","ref":"refs/heads/main","pushedAt":"2024-07-05T22:34:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(jsx): changes behavior when `download` attribute is set to a boolean value (#3094)","shortMessageHtmlLink":"fix(jsx): changes behavior when download attribute is set to a bool…"}},{"before":"7ba58664e775e90ebe2e8b1668ec3774b06a6c00","after":"28de9b32a827436fb57518bf740073418d588044","ref":"refs/heads/main","pushedAt":"2024-07-05T03:21:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"chore: update outdated links in JSDoc (#3089)","shortMessageHtmlLink":"chore: update outdated links in JSDoc (#3089)"}},{"before":"91dcaf71af73637a813ed48e9329632fc6b8bf4f","after":null,"ref":"refs/heads/fix/types-infer-path-chaning-after-use","pushedAt":"2024-07-04T07:38:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"}},{"before":"1e3e58bb45b3597531b2fe81937a90219fbaaf34","after":"7ba58664e775e90ebe2e8b1668ec3774b06a6c00","ref":"refs/heads/main","pushedAt":"2024-07-04T07:38:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(types): infer `path` when chaining after `use` (#3087)","shortMessageHtmlLink":"fix(types): infer path when chaining after use (#3087)"}},{"before":null,"after":"91dcaf71af73637a813ed48e9329632fc6b8bf4f","ref":"refs/heads/fix/types-infer-path-chaning-after-use","pushedAt":"2024-07-04T07:35:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yusukebe","name":"Yusuke Wada","path":"/yusukebe","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10682?s=80&v=4"},"commit":{"message":"fix(types): infer `path` when chaining after `use`","shortMessageHtmlLink":"fix(types): infer path when chaining after use"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEepileQA","startCursor":null,"endCursor":null}},"title":"Activity · honojs/hono"}