{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":809069629,"defaultBranch":"master","name":"lasttree","ownerLogin":"hejops","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-06-01T15:46:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11556924?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717256836.0","currentOid":""},"activityList":{"items":[{"before":"67145673c0f5854207b8d4146647c597c0b82848","after":"f42fa5f32938de715b06eef369ef8c5a0c863574","ref":"refs/heads/master","pushedAt":"2024-07-11T12:06:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"add note about ineffective `COLLATE NOCASE`","shortMessageHtmlLink":"add note about ineffective COLLATE NOCASE"}},{"before":"f03bba1da8e29ea4de15fe37e9c9c7c7b1896067","after":"67145673c0f5854207b8d4146647c597c0b82848","ref":"refs/heads/master","pushedAt":"2024-07-10T12:10:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"decouple `Artist::store_listeners` from `Artist::store`","shortMessageHtmlLink":"decouple Artist::store_listeners from Artist::store"}},{"before":"84674eb23c73e23f917d01ca36419b1147c2d078","after":"f03bba1da8e29ea4de15fe37e9c9c7c7b1896067","ref":"refs/heads/master","pushedAt":"2024-07-10T11:46:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"add db methods to get/store tags","shortMessageHtmlLink":"add db methods to get/store tags"}},{"before":"92a7f424a6566ba354e0e357c7a2838830a4a332","after":"84674eb23c73e23f917d01ca36419b1147c2d078","ref":"refs/heads/master","pushedAt":"2024-07-05T12:49:25.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"tidy db API\n\n`pool` should always be the first arg of any db-related function","shortMessageHtmlLink":"tidy db API"}},{"before":"63e14d5b4cf69a39be3bf5a9b561d4875a9828ae","after":"92a7f424a6566ba354e0e357c7a2838830a4a332","ref":"refs/heads/master","pushedAt":"2024-07-05T10:41:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"cache artist listeners (from `artist.getinfo`) in db","shortMessageHtmlLink":"cache artist listeners (from artist.getinfo) in db"}},{"before":"ea0e64cfac30ed6429333d1fe48d7cf91b4fe0ca","after":"63e14d5b4cf69a39be3bf5a9b561d4875a9828ae","ref":"refs/heads/master","pushedAt":"2024-07-04T12:19:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"replace manual url construction with parse_with_params","shortMessageHtmlLink":"replace manual url construction with parse_with_params"}},{"before":"b76bb58a0861604695c2e801bc3c0734c5fa2cf3","after":"ea0e64cfac30ed6429333d1fe48d7cf91b4fe0ca","ref":"refs/heads/master","pushedAt":"2024-07-04T10:13:15.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"remove all hardcoded lastfm base urls","shortMessageHtmlLink":"remove all hardcoded lastfm base urls"}},{"before":"d9141997e8139882cbf12958d667b423e747faa8","after":"b76bb58a0861604695c2e801bc3c0734c5fa2cf3","ref":"refs/heads/master","pushedAt":"2024-06-22T15:27:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"disable link to the current chart period","shortMessageHtmlLink":"disable link to the current chart period"}},{"before":"a462fd3ae291b2fc262ca767e4cc8b36371aee3b","after":"d9141997e8139882cbf12958d667b423e747faa8","ref":"refs/heads/master","pushedAt":"2024-06-22T14:29:52.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"implement chart periods","shortMessageHtmlLink":"implement chart periods"}},{"before":"09aa70ced97db46d8feba2e992e7ba2b863f86b3","after":"a462fd3ae291b2fc262ca767e4cc8b36371aee3b","ref":"refs/heads/master","pushedAt":"2024-06-22T11:50:06.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"redirect `/charts/` to `/charts/{default_user}`","shortMessageHtmlLink":"redirect /charts/ to /charts/{default_user}"}},{"before":"934ef1d00ffac8256be4654f6e0647f1d62b6487","after":"09aa70ced97db46d8feba2e992e7ba2b863f86b3","ref":"refs/heads/master","pushedAt":"2024-06-21T13:59:30.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"refactor server init, fix mock tests\n\npreviously the mock tests did nothing, because they only used a\n`MockServer`. instead, what we want to test is a unique instance of our\n\"actual\" `Server`! this necessitated a refactor of the somewhat lengthy\n`HttpServer::new` call, so that it could be reused between production\nand test apps.","shortMessageHtmlLink":"refactor server init, fix mock tests"}},{"before":"6b6d10d2d07b9ae21e5960a05ea276c4676e0850","after":"934ef1d00ffac8256be4654f6e0647f1d62b6487","ref":"refs/heads/master","pushedAt":"2024-06-20T13:45:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"remove GET /genres endpoint\n\nlast.fm's API is fundamentally lacking when it comes to tag-based\ndiscovery, so it is not worth supporting.","shortMessageHtmlLink":"remove GET /genres endpoint"}},{"before":"e5f389bbde68a1e00218585b9c39ed92c10ebf1a","after":"6b6d10d2d07b9ae21e5960a05ea276c4676e0850","ref":"refs/heads/master","pushedAt":"2024-06-20T13:08:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"show search link if no youtube results found","shortMessageHtmlLink":"show search link if no youtube results found"}},{"before":"ba851d9947d6c3a64e4026e71e517dc98d739b86","after":"e5f389bbde68a1e00218585b9c39ed92c10ebf1a","ref":"refs/heads/master","pushedAt":"2024-06-20T12:09:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"try to move complex table generation out of maud","shortMessageHtmlLink":"try to move complex table generation out of maud"}},{"before":"0449b718c60f318d36f46c57663c675190f86fa0","after":"ba851d9947d6c3a64e4026e71e517dc98d739b86","ref":"refs/heads/master","pushedAt":"2024-06-19T17:16:20.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"hejops","name":null,"path":"/hejops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11556924?s=80&v=4"},"commit":{"message":"only allow one instance of