{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":536704306,"defaultBranch":"main","name":"lnproxy-relay","ownerLogin":"lnproxy","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-09-14T18:09:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/109770337?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1694644944.0","currentOid":""},"activityList":{"items":[{"before":"1f1995b1e9fde464f6ce082320f51fd6da7843e6","after":"a6cc8fc95b9ecef51df199685e86b5c4640f1c1c","ref":"refs/heads/main","pushedAt":"2023-09-30T21:15:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"Reduce min_final_cltv_expiry_delta requirement\n\n@supertestnet (@super_testnet on twitter)\nsuggested the following improvement for the selection of the\nmin_final_cltv_expiry_delta parameter on the proxy invoice:\n\nWhen paying the original invoice,\nrather than using the min_final_cltv_expiry_delta on the proxy invoice\nas the cltv_limit for the payment,\nwe now use the actual expiry of the held payment\n(minus relay.CltvDeltaAlpha) as the cltv_limit.\nSince most wallets will construct a route with a\nmin_final_cltv_expiry_delta > final_cltv_expiry_delta\nthis allows us to chose a smaller min_final_cltv_expiry_delta\nwhile still ensuring that there will be sufficient routes\nto make the payment.\n\nI've also taken the chance to simplify how CltvDeltaAlpha\nand CltvDeltaBeta work. Now, CltvDeltaAlpha is the minimum\ndifference in expiry heights between the payment for the proxy invoice\nand the original invoice and CltvDeltaBeta is an additional\nnumber of blocks added to lnd's estimate of the minimum\ncltv_delta needed to construct a route to the destination of the\noriginal invoice.","shortMessageHtmlLink":"Reduce min_final_cltv_expiry_delta requirement"}},{"before":"06f24562a845c9b85d7e5bdaafc999a6bcc70eae","after":"1f1995b1e9fde464f6ce082320f51fd6da7843e6","ref":"refs/heads/main","pushedAt":"2023-09-19T18:06:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"354e95caafbfedccd5997d9d6352275b0732c1f8","after":"06f24562a845c9b85d7e5bdaafc999a6bcc70eae","ref":"refs/heads/main","pushedAt":"2023-09-19T18:03:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"handle failed vs \"unknown status\" payments\n\nAlso adds a MaxAmountMsat parameter to limit\nin flight risk and adds a section to the README.md\nexplaining how to do manual error recovery.","shortMessageHtmlLink":"handle failed vs \"unknown status\" payments"}},{"before":"f8942bb2acef151972688fb0eb9f6f7ec6a4cf7c","after":"354e95caafbfedccd5997d9d6352275b0732c1f8","ref":"refs/heads/main","pushedAt":"2023-09-14T03:36:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"add a log message to keep track of routing errors","shortMessageHtmlLink":"add a log message to keep track of routing errors"}},{"before":"7ccf669f78409081e81af9ff02d099aa9ff06923","after":"f8942bb2acef151972688fb0eb9f6f7ec6a4cf7c","ref":"refs/heads/main","pushedAt":"2023-09-13T22:37:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"SECURITY FIX: do not cancel hodl invoice on payment error\n\nUnder some unusual circumstances the `PayInvoice` function can return an error when the payment has been settled. In these cases it is extremely important not to cancel the hodl invoice since manual recovery is not possible if the hodl invoice is canceled.\r\n\r\nAlso increases the default `CltvDeltaAlpha` to allow a longer window for manual recovery in the case of an error.","shortMessageHtmlLink":"SECURITY FIX: do not cancel hodl invoice on payment error"}},{"before":"4b30a7dc40678b21662195596aadc64824017401","after":"7ccf669f78409081e81af9ff02d099aa9ff06923","ref":"refs/heads/main","pushedAt":"2023-07-20T17:06:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"add linux-arm64 binaries","shortMessageHtmlLink":"add linux-arm64 binaries"}},{"before":"5afb0d8b56c036650b30e0d947d441d00e9c8302","after":"4b30a7dc40678b21662195596aadc64824017401","ref":"refs/heads/main","pushedAt":"2023-07-20T17:03:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"nicer log","shortMessageHtmlLink":"nicer log"}},{"before":"1cf16377662d4614557f9b0c344dda122e4e0114","after":"5afb0d8b56c036650b30e0d947d441d00e9c8302","ref":"refs/heads/main","pushedAt":"2023-07-16T05:01:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"update repository name","shortMessageHtmlLink":"update repository name"}},{"before":"94f26cf447637bb751f7b6b8121752eff893062a","after":"1cf16377662d4614557f9b0c344dda122e4e0114","ref":"refs/heads/main","pushedAt":"2023-07-15T18:12:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"move min amount check before route check to report correct error","shortMessageHtmlLink":"move min amount check before route check to report correct error"}},{"before":"8723ff6b55c67d898e8b47fb84f45fd8f6ba225f","after":"94f26cf447637bb751f7b6b8121752eff893062a","ref":"refs/heads/main","pushedAt":"2023-07-15T01:51:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"fix logging to nil error","shortMessageHtmlLink":"fix logging to nil error"}},{"before":"fe50db888c11b7907588253bad7332369e91a84f","after":"8723ff6b55c67d898e8b47fb84f45fd8f6ba225f","ref":"refs/heads/main","pushedAt":"2023-07-13T01:14:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"8d6276d449bfb1016dc101da8a366d8a89dbafd8","after":"fe50db888c11b7907588253bad7332369e91a84f","ref":"refs/heads/main","pushedAt":"2023-07-13T01:11:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"improve relay operation blurb","shortMessageHtmlLink":"improve relay operation blurb"}},{"before":"c250530765b27d9236638dfa9b3c5a5c7b0488f6","after":"8d6276d449bfb1016dc101da8a366d8a89dbafd8","ref":"refs/heads/main","pushedAt":"2023-07-13T01:05:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"describe basic relay operation","shortMessageHtmlLink":"describe basic relay operation"}},{"before":"f521ce9559ff387e6b9d103cde4848ff67bb3359","after":"c250530765b27d9236638dfa9b3c5a5c7b0488f6","ref":"refs/heads/main","pushedAt":"2023-07-11T22:51:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"rename package to relay","shortMessageHtmlLink":"rename package to relay"}},{"before":"8f4731464b5d81c3227f08e647014719415687f4","after":"f521ce9559ff387e6b9d103cde4848ff67bb3359","ref":"refs/heads/main","pushedAt":"2023-07-10T07:12:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"fix weird codespace bug :(","shortMessageHtmlLink":"fix weird codespace bug :("}},{"before":"ea80e96d1ac1c142c3a5d4f918bfe14939c59779","after":"8f4731464b5d81c3227f08e647014719415687f4","ref":"refs/heads/main","pushedAt":"2023-07-10T07:11:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"fix two request related bugs","shortMessageHtmlLink":"fix two request related bugs"}},{"before":"a92ca71f4a5159b5db186b6fab72134c5edc2a54","after":"ea80e96d1ac1c142c3a5d4f918bfe14939c59779","ref":"refs/heads/main","pushedAt":"2023-07-09T18:31:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"more whitespace","shortMessageHtmlLink":"more whitespace"}},{"before":"896d58badc7c247e329ce2041c93b7058a6d739c","after":"a92ca71f4a5159b5db186b6fab72134c5edc2a54","ref":"refs/heads/main","pushedAt":"2023-07-09T18:30:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"whitespace","shortMessageHtmlLink":"whitespace"}},{"before":"4beec477d5e1a322beedc200219b38a6adf77dda","after":"896d58badc7c247e329ce2041c93b7058a6d739c","ref":"refs/heads/main","pushedAt":"2023-07-09T18:07:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"better instructions for running a relay","shortMessageHtmlLink":"better instructions for running a relay"}},{"before":"49f0c107beffa8cc74925ca6b5ff29612d7f5fec","after":"4beec477d5e1a322beedc200219b38a6adf77dda","ref":"refs/heads/main","pushedAt":"2023-07-09T17:57:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"better formatting for usage","shortMessageHtmlLink":"better formatting for usage"}},{"before":"3319d97008498193f429fb985849af117ed3fe57","after":"49f0c107beffa8cc74925ca6b5ff29612d7f5fec","ref":"refs/heads/main","pushedAt":"2023-07-09T17:19:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"gracefull shutdown\n\nA running instance of lnproxy will now catch SIGINT\nand shutdown the api server but wait for go routines\nthat are watching open invoices to complete before exiting.\nThis makes it possible to gracefully upgrade the api server\nwithout interupting in-progress relaying.\n\ntldr: relays can now be updated without having to drop\nunsettled invoices","shortMessageHtmlLink":"gracefull shutdown"}},{"before":"0b2c6a43ddb1344abda316f6acf87c520ce9e7ba","after":"3319d97008498193f429fb985849af117ed3fe57","ref":"refs/heads/main","pushedAt":"2023-07-02T11:39:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"tidy","shortMessageHtmlLink":"tidy"}},{"before":"6370e62a59f433a4dad1737cac04f13755850459","after":"0b2c6a43ddb1344abda316f6acf87c520ce9e7ba","ref":"refs/heads/main","pushedAt":"2023-07-02T11:38:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"tidy","shortMessageHtmlLink":"tidy"}},{"before":"98a9a5b968a3e23af71a63e2cc8898ee768607e6","after":"6370e62a59f433a4dad1737cac04f13755850459","ref":"refs/heads/main","pushedAt":"2023-07-02T11:29:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"tidy","shortMessageHtmlLink":"tidy"}},{"before":"5487ade0f68edecdbd91eff148831787d6bba21d","after":null,"ref":"refs/heads/estimatefee","pushedAt":"2023-07-02T11:28:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"}},{"before":"04b21a90b24d74de88e99abc9ce5eda719dd5341","after":"98a9a5b968a3e23af71a63e2cc8898ee768607e6","ref":"refs/heads/main","pushedAt":"2023-07-02T11:27:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"tidy","shortMessageHtmlLink":"tidy"}},{"before":"1393e4861c101b57050183215158530d611ae0e4","after":"04b21a90b24d74de88e99abc9ce5eda719dd5341","ref":"refs/heads/main","pushedAt":"2023-07-02T11:18:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"more consistent error handling","shortMessageHtmlLink":"more consistent error handling"}},{"before":"45339a87b7f6ea271b92bfb082a149ea2fd4ca92","after":"5487ade0f68edecdbd91eff148831787d6bba21d","ref":"refs/heads/estimatefee","pushedAt":"2023-07-02T11:14:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"more consistent error handling","shortMessageHtmlLink":"more consistent error handling"}},{"before":"6bcc8dd495d8f6c4bb4a2690e7526c9ff55cba8d","after":"1393e4861c101b57050183215158530d611ae0e4","ref":"refs/heads/main","pushedAt":"2023-06-28T01:04:38.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"Merge pull request #27 from lnproxy/estimatefee\n\nreport correct error on failure to route","shortMessageHtmlLink":"Merge pull request #27 from lnproxy/estimatefee"}},{"before":"1c669cda8023a8cb2d974894176f810efafe9ece","after":"45339a87b7f6ea271b92bfb082a149ea2fd4ca92","ref":"refs/heads/estimatefee","pushedAt":"2023-06-28T01:03:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lnproxy","name":"anon","path":"/lnproxy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109770337?s=80&v=4"},"commit":{"message":"report correct error on failure to route","shortMessageHtmlLink":"report correct error on failure to route"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOS0zMFQyMToxNTo1Ny4wMDAwMDBazwAAAAOMjube","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0yOFQwMTowMzo0My4wMDAwMDBazwAAAANKW8_P"}},"title":"Activity ยท lnproxy/lnproxy-relay"}