{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":66096261,"defaultBranch":"master","name":"matterhorn","ownerLogin":"matterhorn-chat","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-08-19T16:25:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/23409525?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724793164.0","currentOid":""},"activityList":{"items":[{"before":"5671470194fda40c694d7fc5404804bfb41420d4","after":"745ac0f11788dc87a1b1eae83b92eeef04db87ed","ref":"refs/heads/develop","pushedAt":"2024-09-17T15:40:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"sample-config.ini: clarify that passcmd does not support shell commands","shortMessageHtmlLink":"sample-config.ini: clarify that passcmd does not support shell commands"}},{"before":"a4d101ee8e2a5ede211abc55c4630044c169ae56","after":"5671470194fda40c694d7fc5404804bfb41420d4","ref":"refs/heads/develop","pushedAt":"2024-09-04T19:12:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"mkChannelZipperList: generalize logic for creating channel list groups","shortMessageHtmlLink":"mkChannelZipperList: generalize logic for creating channel list groups"}},{"before":"57cfefab8378cabf8f0ba73648ac09f51329c1f7","after":"a4d101ee8e2a5ede211abc55c4630044c169ae56","ref":"refs/heads/develop","pushedAt":"2024-09-04T01:50:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Ignore \"HandshakeFailed Error_EOF\" network exceptions (fixes #837)","shortMessageHtmlLink":"Ignore \"HandshakeFailed Error_EOF\" network exceptions (fixes #837)"}},{"before":"1b46b23083ffcd315cee909e78caa028eab2e99d","after":"57cfefab8378cabf8f0ba73648ac09f51329c1f7","ref":"refs/heads/develop","pushedAt":"2024-08-29T16:54:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"ViewMessage: reset the correct viewport position when switching to the reactions tab","shortMessageHtmlLink":"ViewMessage: reset the correct viewport position when switching to th…"}},{"before":"2eede8b21c37573459ef28a980afc363724cc792","after":"1b46b23083ffcd315cee909e78caa028eab2e99d","ref":"refs/heads/develop","pushedAt":"2024-08-29T16:54:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"ViewMessage: add an Author tab with information about the message author (fixes #833)","shortMessageHtmlLink":"ViewMessage: add an Author tab with information about the message aut…"}},{"before":"cad2f1e2d699688eaf56a5103efce45ae15264f3","after":"2eede8b21c37573459ef28a980afc363724cc792","ref":"refs/heads/develop","pushedAt":"2024-08-28T20:25:30.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"3d13651c297333a1e8f53cebd3bb3ac70a2ffeba","after":"2eede8b21c37573459ef28a980afc363724cc792","ref":"refs/heads/master","pushedAt":"2024-08-27T18:42:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"cd2e01009fcb88f9db97bf5984621f761af29959","after":"3d13651c297333a1e8f53cebd3bb3ac70a2ffeba","ref":"refs/heads/master","pushedAt":"2024-08-27T18:42:26.000Z","pushType":"push","commitsCount":44,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Update changelog","shortMessageHtmlLink":"Update changelog"}},{"before":"7d4d2efd894b47e3ce98c58a2b97d2caf4cd1fcc","after":"cad2f1e2d699688eaf56a5103efce45ae15264f3","ref":"refs/heads/develop","pushedAt":"2024-08-27T03:24:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"README: remove twitter since we don't use it anymore, but mention filing tickets","shortMessageHtmlLink":"README: remove twitter since we don't use it anymore, but mention fil…"}},{"before":null,"after":"504bf48d268b3d8a997b8d6b66334347f3e8c9d0","ref":"refs/heads/refactor/post-list-to-message-interface","pushedAt":"2024-08-26T22:38:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"EditState: support disabling editors","shortMessageHtmlLink":"EditState: support disabling editors"}},{"before":"07bc66ba00152fd4dd5813a4d544ab81b44db065","after":"7d4d2efd894b47e3ce98c58a2b97d2caf4cd1fcc","ref":"refs/heads/develop","pushedAt":"2024-08-26T22:17:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Autocomplete: replace tuple with first-class data type for completers","shortMessageHtmlLink":"Autocomplete: replace tuple with first-class data type for completers"}},{"before":"330473d0604b1d1266bc19ee7e3ed3a840ee1196","after":"07bc66ba00152fd4dd5813a4d544ab81b44db065","ref":"refs/heads/develop","pushedAt":"2024-08-26T22:03:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Autocomplete: fix support for completion in thread message interfaces\n\nA previous recent commit resolved an issue with async work for\nautocompletion, but in the process it broke autocompletion in threads\nbecause the fix only ever worked for message interfaces for channels.\nThis fixes that problem, but to make it work, we needed a way to figure\nout which kind of message editor to use in the autocomplete logic\nwithout using prebuilt traversals that could fail (see prior related\nchange).\n\nThis works by introducing a new EditState field of type EditorTarget,\nwhich is analogous to the MessageInterfaceTarget type. (We don't re-use\nthat type because doing so would require renaming it and moving it into\nEditState, and then its name would be the wrong name for its use in\nMessageInterface.) The EditState carries around an EditorTarget, which\nis then enough information to use to figure out at autocomplete time\nwhich editor to manipulate from the application state, and thus which\ntraversal to build to locate it.","shortMessageHtmlLink":"Autocomplete: fix support for completion in thread message interfaces"}},{"before":"7a449205eff0b0930305cd4db6791e459a4aad7c","after":"330473d0604b1d1266bc19ee7e3ed3a840ee1196","ref":"refs/heads/develop","pushedAt":"2024-08-26T21:31:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"checkForAutocompletion: take a ChannelId to ensure that the caller does not have to remember to pass a proper traversal","shortMessageHtmlLink":"checkForAutocompletion: take a ChannelId to ensure that the caller do…"}},{"before":"9ad0f202f02a59d917e03943050fc7b67709aaac","after":"7a449205eff0b0930305cd4db6791e459a4aad7c","ref":"refs/heads/develop","pushedAt":"2024-08-26T18:48:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Revert \"Permit script output to contain a command to be run (except for /sh) (fixes #825)\"\n\nThis reverts commit 9ad0f202f02a59d917e03943050fc7b67709aaac.","shortMessageHtmlLink":"Revert \"Permit script output to contain a command to be run (except f…"}},{"before":"caca9f057029d9b4306a07111e9d8d76c32c4152","after":"9ad0f202f02a59d917e03943050fc7b67709aaac","ref":"refs/heads/develop","pushedAt":"2024-08-26T18:47:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Permit script output to contain a command to be run (except for /sh) (fixes #825)","shortMessageHtmlLink":"Permit script output to contain a command to be run (except for /sh) (f…"}},{"before":"92d11909261b834ed86ef31dbceccdbf6630df76","after":"caca9f057029d9b4306a07111e9d8d76c32c4152","ref":"refs/heads/develop","pushedAt":"2024-08-26T18:45:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Permit script output to contain a command to be run (except for /sh) (fixes #825)","shortMessageHtmlLink":"Permit script output to contain a command to be run (except for /sh) (f…"}},{"before":"632f1c6906bf746a89ef031b1c371939124e2eb6","after":"92d11909261b834ed86ef31dbceccdbf6630df76","ref":"refs/heads/develop","pushedAt":"2024-08-26T18:03:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Whitespace","shortMessageHtmlLink":"Whitespace"}},{"before":"e02a74fcae7e9264672c6bb23c886b0dd0247584","after":"632f1c6906bf746a89ef031b1c371939124e2eb6","ref":"refs/heads/develop","pushedAt":"2024-08-26T18:00:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Update skylighting syntax files to skylighting-core 0.14.2","shortMessageHtmlLink":"Update skylighting syntax files to skylighting-core 0.14.2"}},{"before":"9b7c4e17b55804434a22a59232172588a3ce1f40","after":"e02a74fcae7e9264672c6bb23c886b0dd0247584","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:26:49.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Events.UserListWindow: add export list","shortMessageHtmlLink":"Matterhorn.Events.UserListWindow: add export list"}},{"before":"9e020a5ecfa8bb2136db561ec6f18d0f4ede50be","after":"9b7c4e17b55804434a22a59232172588a3ce1f40","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:26:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Events.PostListWindow: add export list","shortMessageHtmlLink":"Matterhorn.Events.PostListWindow: add export list"}},{"before":"1abff3c897ecfbb304f13ca584da9a5518dfcaa6","after":"9e020a5ecfa8bb2136db561ec6f18d0f4ede50be","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:25:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Events.LeaveChannelConfirm: add export list","shortMessageHtmlLink":"Matterhorn.Events.LeaveChannelConfirm: add export list"}},{"before":"5d3cbf9141b9f77cabcfc8c38bda9f98f00abe9c","after":"1abff3c897ecfbb304f13ca584da9a5518dfcaa6","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:24:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Events.DeleteChannelConfirm: add export list","shortMessageHtmlLink":"Matterhorn.Events.DeleteChannelConfirm: add export list"}},{"before":"a18d62b4b61dee2628a1d4aa64c546b2e4987935","after":"5d3cbf9141b9f77cabcfc8c38bda9f98f00abe9c","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:24:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Events.ChannelSelect: add export list","shortMessageHtmlLink":"Matterhorn.Events.ChannelSelect: add export list"}},{"before":"d551bf90e1b3575eb028a4a07b3c03198ec72dd2","after":"a18d62b4b61dee2628a1d4aa64c546b2e4987935","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:24:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Options: add export list","shortMessageHtmlLink":"Matterhorn.Options: add export list"}},{"before":"6b3ba83692fe692c9bc1ab125a3548e9d9e3e6a6","after":"d551bf90e1b3575eb028a4a07b3c03198ec72dd2","ref":"refs/heads/develop","pushedAt":"2024-08-26T17:23:57.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Types.DirectionalSeq: add export list","shortMessageHtmlLink":"Matterhorn.Types.DirectionalSeq: add export list"}},{"before":"a8d702dcdee62d3f3ad37d81784ae92ce0ba5e8e","after":"6b3ba83692fe692c9bc1ab125a3548e9d9e3e6a6","ref":"refs/heads/develop","pushedAt":"2024-08-26T16:59:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Merge branch 'develop' of github.com:matterhorn-chat/matterhorn into develop","shortMessageHtmlLink":"Merge branch 'develop' of github.com:matterhorn-chat/matterhorn into …"}},{"before":"794f26d350866c7d7fa642d923211fa29933f0b6","after":"a8d702dcdee62d3f3ad37d81784ae92ce0ba5e8e","ref":"refs/heads/develop","pushedAt":"2024-08-25T03:30:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Matterhorn.Connection: add an export list","shortMessageHtmlLink":"Matterhorn.Connection: add an export list"}},{"before":"14c6c6d7a8cb224f5101754f4941297fc1476acf","after":"794f26d350866c7d7fa642d923211fa29933f0b6","ref":"refs/heads/develop","pushedAt":"2024-08-23T16:47:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Attach labels to async follow-up work\n\nBecause work queued up by async code can fail (e.g. by raising\nexceptions), it can be very difficult to track down which code did the\nwork that caused failing code to be run after async code finished. This\ncommit improves debuggability of those situations by:\n\n* Updating the async API to require a work label to be assigned to\n post-async work whenever such work is queued up\n\n* Logging the async work label to the log under a new LogAsyncWork log\n category\n\n* Updating all uses of the async API to tag async work with the name of\n the function responsible for queuing the work","shortMessageHtmlLink":"Attach labels to async follow-up work"}},{"before":"1699516a4fe23dbed0386ee133a48deb24e18874","after":"14c6c6d7a8cb224f5101754f4941297fc1476acf","ref":"refs/heads/develop","pushedAt":"2024-08-23T16:30:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Attach labels to async follow-up work\n\nBecause work queued up by async code can fail (e.g. by raising\nexceptions), it can be very difficult to track down which code did the\nwork that caused failing code to be run after async code finished. This\ncommit improves debuggability of those situations by:\n\n* Updating the async API to require a work label to be assigned to\n post-async work whenever such work is queued up\n\n* Logging the async work label to the log under a new LogAsyncWork log\n category\n\n* Updating all uses of the async API to tag async work with the name of\n the function responsible for queuing the work","shortMessageHtmlLink":"Attach labels to async follow-up work"}},{"before":"eea25784ba519b8139a61d8d4a1158c3a7a69f73","after":"1699516a4fe23dbed0386ee133a48deb24e18874","ref":"refs/heads/develop","pushedAt":"2024-08-19T18:37:22.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"jtdaugherty","name":"Jonathan Daugherty","path":"/jtdaugherty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/427221?s=80&v=4"},"commit":{"message":"Merge branch 'develop' of github.com:matterhorn-chat/matterhorn into develop","shortMessageHtmlLink":"Merge branch 'develop' of github.com:matterhorn-chat/matterhorn into …"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QxNTo0MDozNS4wMDAwMDBazwAAAAS4t0cT","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xOVQxODozNzoyMi4wMDAwMDBazwAAAASeVuK4"}},"title":"Activity · matterhorn-chat/matterhorn"}