{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":759256276,"defaultBranch":"master","name":"nthmail","ownerLogin":"GRFreire","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-18T04:27:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/41879254?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1708230468.0","currentOid":""},"activityList":{"items":[{"before":"7fe3ed30aa93bf498bed12a0ad00c3f3d53838fb","after":"d385bbf906749577f48bb7833037a06d80a823c2","ref":"refs/heads/master","pushedAt":"2024-07-21T23:17:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"only allow mails to addresses that contain the mail server domain\n\nthere were some mails coming in that was not for any temp mail addr,\nit was like spam@otherdomain.com, but still reaching the database. This\nshould prevent this.","shortMessageHtmlLink":"only allow mails to addresses that contain the mail server domain"}},{"before":"6a523addb86c2421bdf7d103ea6ed86ca79ab019","after":"7fe3ed30aa93bf498bed12a0ad00c3f3d53838fb","ref":"refs/heads/master","pushedAt":"2024-07-21T05:39:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"use mail header from_addr to store in db","shortMessageHtmlLink":"use mail header from_addr to store in db"}},{"before":"c9f73e4a98e23a45c7ba28898cafe6505b354725","after":"6a523addb86c2421bdf7d103ea6ed86ca79ab019","ref":"refs/heads/master","pushedAt":"2024-07-21T05:31:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"remove server restart TODO\n\nif either the web server or mail server cannot handle an error and\nreturns it, the whole process will stop. If you start the container\nwith --restart=always the server will get back up after crashing","shortMessageHtmlLink":"remove server restart TODO"}},{"before":"661922ce35a3d796cea588d34281fb8e11a0829c","after":"c9f73e4a98e23a45c7ba28898cafe6505b354725","ref":"refs/heads/master","pushedAt":"2024-07-21T05:14:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"make mail responsive","shortMessageHtmlLink":"make mail responsive"}},{"before":"9c600d863eeb0aff30de8e033a882a702c25fe4e","after":"661922ce35a3d796cea588d34281fb8e11a0829c","ref":"refs/heads/master","pushedAt":"2024-07-21T05:07:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"inbox: show mails in descending order","shortMessageHtmlLink":"inbox: show mails in descending order"}},{"before":"0027dcbc7904f4af2b3ecfc8bac5f66e222fd60d","after":"9c600d863eeb0aff30de8e033a882a702c25fe4e","ref":"refs/heads/master","pushedAt":"2024-07-21T04:45:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"update footer position: use dvh not vh for body","shortMessageHtmlLink":"update footer position: use dvh not vh for body"}},{"before":"e9cb98eb5074772f587ca740a45847b5e42024c1","after":"0027dcbc7904f4af2b3ecfc8bac5f66e222fd60d","ref":"refs/heads/master","pushedAt":"2024-07-21T04:37:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"remove testing green background","shortMessageHtmlLink":"remove testing green background"}},{"before":"20842416b86864e407b53e9339939e5f1ccf4d06","after":"e9cb98eb5074772f587ca740a45847b5e42024c1","ref":"refs/heads/master","pushedAt":"2024-07-21T04:07:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"make nthmail a link and addr copiable","shortMessageHtmlLink":"make nthmail a link and addr copiable"}},{"before":"9ec0af6278a8c141ae592a1e3fa097c4168e9759","after":"20842416b86864e407b53e9339939e5f1ccf4d06","ref":"refs/heads/master","pushedAt":"2024-07-21T03:57:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"make index responsive","shortMessageHtmlLink":"make index responsive"}},{"before":"2ff581749003c52e168fe7c3435332fc14b26255","after":"9ec0af6278a8c141ae592a1e3fa097c4168e9759","ref":"refs/heads/master","pushedAt":"2024-07-20T23:53:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add footer","shortMessageHtmlLink":"add footer"}},{"before":"a88e5e90dcef84dfb445dba18059ea222f629c33","after":"2ff581749003c52e168fe7c3435332fc14b26255","ref":"refs/heads/master","pushedAt":"2024-07-20T03:26:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add an optinal rcpt_addr to not delete mails","shortMessageHtmlLink":"add an optinal rcpt_addr to not delete mails"}},{"before":"b01e6776dc295475a5fe0eb6227e20447501c2ca","after":"a88e5e90dcef84dfb445dba18059ea222f629c33","ref":"refs/heads/master","pushedAt":"2024-07-19T01:13:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"parse mail subject when receiving and saving to db\n\nthis way, when the inbox route is called, there is no need to parse all\nmails neither request them from db just so it can have their subject","shortMessageHtmlLink":"parse mail subject when receiving and saving to db"}},{"before":"444e3d877eb8cce6efe14e9c62c5ba87d74fd4c8","after":"b01e6776dc295475a5fe0eb6227e20447501c2ca","ref":"refs/heads/master","pushedAt":"2024-07-18T15:40:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"docs: remove mail rendering problem TODO","shortMessageHtmlLink":"docs: remove mail rendering problem TODO"}},{"before":"269c7614e17aec5550350b2ae494408573eed8aa","after":"444e3d877eb8cce6efe14e9c62c5ba87d74fd4c8","ref":"refs/heads/master","pushedAt":"2024-07-17T14:30:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"fix plain txt mails not parsing the mail body\n\nthe problem was that it was declared a byte array (txt) with\nessentially size 0 and calling Read(txt). Since Read reads n\nbytes up to sizeof(txt), nothing was being read.","shortMessageHtmlLink":"fix plain txt mails not parsing the mail body"}},{"before":"7999d35a3240100c19126ee4b2265f4f66c2750c","after":"269c7614e17aec5550350b2ae494408573eed8aa","ref":"refs/heads/master","pushedAt":"2024-07-11T03:53:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add TODO for some mails failing to parse","shortMessageHtmlLink":"add TODO for some mails failing to parse"}},{"before":"117766dd647e918e0b61cea0e5111438dbbf8e5e","after":"7999d35a3240100c19126ee4b2265f4f66c2750c","ref":"refs/heads/master","pushedAt":"2024-07-11T02:33:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"return 404 not found on email not found, not 500","shortMessageHtmlLink":"return 404 not found on email not found, not 500"}},{"before":"a4efa6a35f1705e35ad56f3f13ba6001a1507ebe","after":"117766dd647e918e0b61cea0e5111438dbbf8e5e","ref":"refs/heads/master","pushedAt":"2024-07-11T02:22:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"update delete_old_mail.sh to use DB_PATH var","shortMessageHtmlLink":"update delete_old_mail.sh to use DB_PATH var"}},{"before":"5d5ee9c5318b7339db9f039aa77b066f254e4925","after":"a4efa6a35f1705e35ad56f3f13ba6001a1507ebe","ref":"refs/heads/master","pushedAt":"2024-07-11T01:15:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add dockerfile","shortMessageHtmlLink":"add dockerfile"}},{"before":"2cbbc67467c6c8f513ec848961f73d58e86405c2","after":"5d5ee9c5318b7339db9f039aa77b066f254e4925","ref":"refs/heads/master","pushedAt":"2024-07-10T22:30:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add attachments todo","shortMessageHtmlLink":"add attachments todo"}},{"before":"0fcd8083ff26670c5173f520813d71e910b36466","after":"2cbbc67467c6c8f513ec848961f73d58e86405c2","ref":"refs/heads/master","pushedAt":"2024-07-10T22:19:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"update getting started docs","shortMessageHtmlLink":"update getting started docs"}},{"before":"8ef8cf75ef747aa7e635b59591a233bde7983553","after":"0fcd8083ff26670c5173f520813d71e910b36466","ref":"refs/heads/master","pushedAt":"2024-07-10T22:10:49.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add todo restart server","shortMessageHtmlLink":"add todo restart server"}},{"before":"36f8ff684a9359b4f3a77b16f65efcb44a337ef4","after":"8ef8cf75ef747aa7e635b59591a233bde7983553","ref":"refs/heads/master","pushedAt":"2024-07-10T20:31:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"sanitize html with bluemonday","shortMessageHtmlLink":"sanitize html with bluemonday"}},{"before":"48e7b5a9a583c104b4c42dc7eec18b55afdad58b","after":"36f8ff684a9359b4f3a77b16f65efcb44a337ef4","ref":"refs/heads/master","pushedAt":"2024-07-10T20:02:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"remove todo: \"Use an DB other than sqlite\"\n\nfor a small project, sqlite is a good fit","shortMessageHtmlLink":"remove todo: \"Use an DB other than sqlite\""}},{"before":"52b3fa61ca5274e7393f5fcf68f6e0387e6f03fb","after":"48e7b5a9a583c104b4c42dc7eec18b55afdad58b","ref":"refs/heads/master","pushedAt":"2024-07-10T19:59:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"integrate web and mail server\n\nnow, there is only one binary that starts both servers,\nmaking them use the same SQL connection.\n\nthis commit also added some `defer tx.Commit()` to ensure\nall the transactions were closed","shortMessageHtmlLink":"integrate web and mail server"}},{"before":"f1190e989261d01a31b07d533e8baa4d7b4b07db","after":"52b3fa61ca5274e7393f5fcf68f6e0387e6f03fb","ref":"refs/heads/master","pushedAt":"2024-07-10T19:02:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"style web pages","shortMessageHtmlLink":"style web pages"}},{"before":"ddcf9dea62f3fa5715f0fd4f6a632a3c6b2ee5f1","after":"f1190e989261d01a31b07d533e8baa4d7b4b07db","ref":"refs/heads/master","pushedAt":"2024-03-19T14:48:11.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"fix run-web.sh to not leave any process hanging","shortMessageHtmlLink":"fix run-web.sh to not leave any process hanging"}},{"before":"b2a85dd3f89c4df006ffec8b3dd8590893bf5d5a","after":"ddcf9dea62f3fa5715f0fd4f6a632a3c6b2ee5f1","ref":"refs/heads/master","pushedAt":"2024-03-18T18:47:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add separate page for viewing the email","shortMessageHtmlLink":"add separate page for viewing the email"}},{"before":"f4407d71f807c4744638ef8ce68d292903c4c85c","after":"b2a85dd3f89c4df006ffec8b3dd8590893bf5d5a","ref":"refs/heads/master","pushedAt":"2024-03-16T21:14:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add MIME email rendering\n\nThis commits adds support for rendering email in text/html,\ntext/markdown and text/plain inside a MIME/multipart mail.\n\nBluemonday was added as a dependency and initialized but it is still not\nused because the styling of the email is \"discarted\" too much. But this\nneeds to be fixed before going to production.","shortMessageHtmlLink":"add MIME email rendering"}},{"before":"ed82c38af4ffc0abcd7868bfdd5f4075c5333fe0","after":"f4407d71f807c4744638ef8ce68d292903c4c85c","ref":"refs/heads/master","pushedAt":"2024-02-20T21:05:25.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"render inbox as html instead of json","shortMessageHtmlLink":"render inbox as html instead of json"}},{"before":"4ed9c4692329f17ebe793c24f4bcebd241abcb02","after":"ed82c38af4ffc0abcd7868bfdd5f4075c5333fe0","ref":"refs/heads/master","pushedAt":"2024-02-20T05:10:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GRFreire","name":"Guilherme Rugai Freire","path":"/GRFreire","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41879254?s=80&v=4"},"commit":{"message":"add script to delete old mail\n\ncurrently, the script is hardcoded for emails older than 1 day\n\nthis is a script because it is a simple operation and probably will be\ncalled by a cronjob","shortMessageHtmlLink":"add script to delete old mail"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yMVQyMzoxNzowMS4wMDAwMDBazwAAAASFPa0R","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yMVQyMzoxNzowMS4wMDAwMDBazwAAAASFPa0R","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0yMFQwNToxMDo1OC4wMDAwMDBazwAAAAP_S1my"}},"title":"Activity ยท GRFreire/nthmail"}