{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":340547520,"defaultBranch":"main","name":"zed","ownerLogin":"zed-industries","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-02-20T03:01:06.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/79345384?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716610369.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"48d9b7c3193ac55460ac51662050fe1a43afe6ba","ref":"refs/heads/prompt-saving","pushedAt":"2024-05-25T04:12:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"WIP new prompt lots of bugs","shortMessageHtmlLink":"WIP new prompt lots of bugs"}},{"before":"a79717fea58ba9daedb30e5fc4b31baa39ab64af","after":"66fd81cb2078cd83a15706402e55626b06c013a8","ref":"refs/heads/resize-blocks","pushedAt":"2024-05-25T03:09:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"introduce randomized test","shortMessageHtmlLink":"introduce randomized test"}},{"before":"af5a96c7f9a5780a4d78e79f98099c28fab6670d","after":null,"ref":"refs/heads/prompt_ordering","pushedAt":"2024-05-25T02:59:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"}},{"before":"f7a86967fd488e72f8166c74bb5fb2cbc9cd8953","after":"d5fe2c85d80288a0f50eb1c2dfb1e82f11046402","ref":"refs/heads/main","pushedAt":"2024-05-25T02:59:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"Order prompts by default (#12268)\n\nPrompts in the prompt library will be in A->Z order by default.\r\n\r\nRelease Notes:\r\n\r\n- N/A","shortMessageHtmlLink":"Order prompts by default (#12268)"}},{"before":"ce61a8387f3a0b5c05c94091e4f7dfd7753a8c01","after":"a79717fea58ba9daedb30e5fc4b31baa39ab64af","ref":"refs/heads/resize-blocks","pushedAt":"2024-05-25T02:59:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":":lipstick:","shortMessageHtmlLink":"πŸ’„"}},{"before":"1962c61fd399d9372d43258f983ec66a72e395a9","after":"ce61a8387f3a0b5c05c94091e4f7dfd7753a8c01","ref":"refs/heads/resize-blocks","pushedAt":"2024-05-25T02:50:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":":lipstick:","shortMessageHtmlLink":"πŸ’„"}},{"before":null,"after":"af5a96c7f9a5780a4d78e79f98099c28fab6670d","ref":"refs/heads/prompt_ordering","pushedAt":"2024-05-25T02:37:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"alpha order for prompts","shortMessageHtmlLink":"alpha order for prompts"}},{"before":null,"after":"1962c61fd399d9372d43258f983ec66a72e395a9","ref":"refs/heads/resize-blocks","pushedAt":"2024-05-25T01:20:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"resize blocks","shortMessageHtmlLink":"resize blocks"}},{"before":"7aef48a84a222b3bc4e4ae52e18fffc4ac619674","after":null,"ref":"refs/heads/large-git-repo-performance","pushedAt":"2024-05-25T00:41:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxbrunsfeld","name":"Max Brunsfeld","path":"/maxbrunsfeld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/326587?s=80&v=4"}},{"before":"800c1ba91663ea7a810e8e8755b357f5e3b55a2f","after":"f7a86967fd488e72f8166c74bb5fb2cbc9cd8953","ref":"refs/heads/main","pushedAt":"2024-05-25T00:41:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"maxbrunsfeld","name":"Max Brunsfeld","path":"/maxbrunsfeld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/326587?s=80&v=4"},"commit":{"message":"Avoid holding worktree lock for a long time while updating large repos' git status (#12266)\n\nFixes https://github.com/zed-industries/zed/issues/9575\r\nFixes https://github.com/zed-industries/zed/issues/4294\r\n\r\n### Problem\r\n\r\nWhen a large git repository's `.git` folder changes (due to a `git\r\ncommit`, `git reset` etc), Zed needs to recompute the git status for\r\nevery file in that git repository. Part of computing the git status is\r\nthe *unstaged* part - the comparison between the content of the file and\r\nthe version in the git index. In a large git repository like `chromium`\r\nor `linux`, this is inherently pretty slow.\r\n\r\nPreviously, we performed this git status all at once, and held a lock on\r\nour `BackgroundScanner`'s state for the entire time. On my laptop, in\r\nthe `linux` repo, this would often take around 13 seconds.\r\n\r\nWhen opening a file, Zed always refreshes the metadata for that file in\r\nits in-memory snapshot of worktree. This is normally very fast, but if\r\nanother task is holding a lock on the `BackgroundScanner`, it blocks.\r\n\r\n### Solution\r\n\r\nI've restructured how Zed handles Git statuses, so that when a git\r\nrepository is updated, we recompute files' git statuses in fixed-sized\r\nbatches. In between these batches, the `BackgroundScanner` is free to\r\nperform other work, so that file operations coming from the main thread\r\nwill still be responsive.\r\n\r\nRelease Notes:\r\n\r\n- Fixed a bug that caused long delays in opening files right after\r\nperforming a commit in very large git repositories.","shortMessageHtmlLink":"Avoid holding worktree lock for a long time while updating large repo…"}},{"before":"97ea828545a0f08fd2a7349959689b2ea38fbcbf","after":"7aef48a84a222b3bc4e4ae52e18fffc4ac619674","ref":"refs/heads/large-git-repo-performance","pushedAt":"2024-05-25T00:20:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxbrunsfeld","name":"Max Brunsfeld","path":"/maxbrunsfeld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/326587?s=80&v=4"},"commit":{"message":"Remove unused descendant_entries method","shortMessageHtmlLink":"Remove unused descendant_entries method"}},{"before":"12745a2a09a132eb498b35e2512bb44a3ca5819b","after":"97ea828545a0f08fd2a7349959689b2ea38fbcbf","ref":"refs/heads/large-git-repo-performance","pushedAt":"2024-05-25T00:17:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxbrunsfeld","name":"Max Brunsfeld","path":"/maxbrunsfeld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/326587?s=80&v=4"},"commit":{"message":"Avoid holding the scanner's lock while updating git statuses","shortMessageHtmlLink":"Avoid holding the scanner's lock while updating git statuses"}},{"before":"208d3d6d2f0520f2792617b57ce091cf476d9208","after":"933468758672dcf5c99d3090a4740f613ff1c0b6","ref":"refs/heads/runtimes","pushedAt":"2024-05-25T00:06:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"drop bookkept blocks","shortMessageHtmlLink":"drop bookkept blocks"}},{"before":"c1780e590c10213f257e969184e47b259e6ba1f1","after":"208d3d6d2f0520f2792617b57ce091cf476d9208","ref":"refs/heads/runtimes","pushedAt":"2024-05-24T23:54:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"handle inclusive range for overlaps","shortMessageHtmlLink":"handle inclusive range for overlaps"}},{"before":"4d3bc7a3d608aa547c2d4ff4120e50a938f0a3a3","after":"c1780e590c10213f257e969184e47b259e6ba1f1","ref":"refs/heads/runtimes","pushedAt":"2024-05-24T23:26:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":":lipstick:","shortMessageHtmlLink":"πŸ’„"}},{"before":"2b1559f4377a5412f742cf3a7e3e2f7537a3f06d","after":"4d3bc7a3d608aa547c2d4ff4120e50a938f0a3a3","ref":"refs/heads/runtimes","pushedAt":"2024-05-24T23:19:05.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"replace block height on change","shortMessageHtmlLink":"replace block height on change"}},{"before":"fdc6266a31ec5410cdc739ad23f8161558dbbf75","after":null,"ref":"refs/heads/rework-prompt-frontmatter","pushedAt":"2024-05-24T23:15:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"}},{"before":"461e7d00a64700e445059f1182380f3db678a5c0","after":"800c1ba91663ea7a810e8e8755b357f5e3b55a2f","ref":"refs/heads/main","pushedAt":"2024-05-24T23:15:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"Rework prompt frontmatter (#12262)\n\nMoved some things around so prompts now always have front-matter to\r\nreturn, either by creating a prompt with default front-matter, or\r\nbailing earlier on importing the prompt to the library.\r\n\r\nIn the future we'll improve visibility of malformed prompts in the\r\n`prompts` folder in the prompt manager UI.\r\n\r\nFixes:\r\n\r\n- Prompts inserted with the `/prompt` command now only include their\r\nbody, not the entire file including metadata.\r\n- Prompts with an invalid title will now show \"Untitled prompt\" instead\r\nof an empty line.\r\n\r\nRelease Notes:\r\n\r\n- N/A","shortMessageHtmlLink":"Rework prompt frontmatter (#12262)"}},{"before":"39b0a1fd4433040c5cc5fb95e252be76729ad2ee","after":"fdc6266a31ec5410cdc739ad23f8161558dbbf75","ref":"refs/heads/rework-prompt-frontmatter","pushedAt":"2024-05-24T23:06:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"`New Prompt` -> `Untitled Prompt`","shortMessageHtmlLink":"New Prompt -> Untitled Prompt"}},{"before":"58218c571dfd6798e871079cd45c192d3860ab08","after":"39b0a1fd4433040c5cc5fb95e252be76729ad2ee","ref":"refs/heads/rework-prompt-frontmatter","pushedAt":"2024-05-24T23:01:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"skip `metadata` when deserializing & serializing","shortMessageHtmlLink":"skip metadata when deserializing & serializing"}},{"before":null,"after":"58218c571dfd6798e871079cd45c192d3860ab08","ref":"refs/heads/rework-prompt-frontmatter","pushedAt":"2024-05-24T22:53:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"iamnbutler","name":"Nate Butler","path":"/iamnbutler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1714999?s=80&v=4"},"commit":{"message":"Rework frontmatter parsing & handling","shortMessageHtmlLink":"Rework frontmatter parsing & handling"}},{"before":"06ef2b9cb74be5e7ddf8ad3507d3fc63c401728c","after":"12745a2a09a132eb498b35e2512bb44a3ca5819b","ref":"refs/heads/large-git-repo-performance","pushedAt":"2024-05-24T22:49:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"maxbrunsfeld","name":"Max Brunsfeld","path":"/maxbrunsfeld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/326587?s=80&v=4"},"commit":{"message":"When a git repo is updated, update worktree entries' git statuses in chunks","shortMessageHtmlLink":"When a git repo is updated, update worktree entries' git statuses in …"}},{"before":"1962c61fd399d9372d43258f983ec66a72e395a9","after":null,"ref":"refs/heads/resize-blocks","pushedAt":"2024-05-24T22:21:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"}},{"before":"94e236cd444be6ddf9610f2c45c0bd3e637093cd","after":"06ef2b9cb74be5e7ddf8ad3507d3fc63c401728c","ref":"refs/heads/large-git-repo-performance","pushedAt":"2024-05-24T22:19:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxbrunsfeld","name":"Max Brunsfeld","path":"/maxbrunsfeld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/326587?s=80&v=4"},"commit":{"message":"When a git repo is updated, update worktree entries' git statuses in chunks","shortMessageHtmlLink":"When a git repo is updated, update worktree entries' git statuses in …"}},{"before":"458ece3437af3080e6b9fc3c3e5c33054c3dfa89","after":"1962c61fd399d9372d43258f983ec66a72e395a9","ref":"refs/heads/resize-blocks","pushedAt":"2024-05-24T22:09:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"resize blocks","shortMessageHtmlLink":"resize blocks"}},{"before":null,"after":"458ece3437af3080e6b9fc3c3e5c33054c3dfa89","ref":"refs/heads/resize-blocks","pushedAt":"2024-05-24T21:58:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rgbkrk","name":"Kyle Kelley","path":"/rgbkrk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/836375?s=80&v=4"},"commit":{"message":"resize blocks by block_id\n\nCo-Authored-By: Nathan ","shortMessageHtmlLink":"resize blocks by block_id"}},{"before":"82f5f364224f06d5802dd3bd204d9e75f9cebf69","after":"461e7d00a64700e445059f1182380f3db678a5c0","ref":"refs/heads/main","pushedAt":"2024-05-24T20:46:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"SomeoneToIgnore","name":"Kirill Bulatov","path":"/SomeoneToIgnore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2690773?s=80&v=4"},"commit":{"message":"Create a new directory when a new file ends with `/` (#12018)\n\nRelease Notes:\r\n\r\n- Made project panel to create directories when renaming into paths ending with `/`","shortMessageHtmlLink":"Create a new directory when a new file ends with / (#12018)"}},{"before":"74e6634b31074fc99e803694a862f187eb40681c","after":null,"ref":"refs/heads/extension-slash-commands","pushedAt":"2024-05-24T19:44:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxdeviant","name":"Marshall Bowers","path":"/maxdeviant","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1486634?s=80&v=4"}},{"before":"055a13a9b6b2575dac36cfbee1cd71d039ac1a2e","after":"82f5f364224f06d5802dd3bd204d9e75f9cebf69","ref":"refs/heads/main","pushedAt":"2024-05-24T19:44:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"maxdeviant","name":"Marshall Bowers","path":"/maxdeviant","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1486634?s=80&v=4"},"commit":{"message":"Allow defining slash commands in extensions (#12255)\n\nThis PR adds initial support for defining slash commands for the\r\nAssistant from extensions.\r\n\r\nSlash commands are defined in an extension's `extension.toml`:\r\n\r\n```toml\r\n[slash_commands.gleam-project]\r\ndescription = \"Returns information about the current Gleam project.\"\r\nrequires_argument = false\r\n```\r\n\r\nand then executed via the `run_slash_command` method on the `Extension`\r\ntrait:\r\n\r\n```rs\r\nimpl Extension for GleamExtension {\r\n // ...\r\n\r\n fn run_slash_command(\r\n &self,\r\n command: SlashCommand,\r\n _argument: Option,\r\n worktree: &zed::Worktree,\r\n ) -> Result, String> {\r\n match command.name.as_str() {\r\n \"gleam-project\" => Ok(Some(\"Yayyy\".to_string())),\r\n command => Err(format!(\"unknown slash command: \\\"{command}\\\"\")),\r\n }\r\n }\r\n}\r\n```\r\n\r\nRelease Notes:\r\n\r\n- N/A","shortMessageHtmlLink":"Allow defining slash commands in extensions (#12255)"}},{"before":"c6bff76f8396b5e6ac90a7aec7993a45c84400e7","after":"2fce5cb937ae3695d788c822b37bcfcf8a3835e9","ref":"refs/heads/kb/buffer-panel","pushedAt":"2024-05-24T19:36:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"SomeoneToIgnore","name":"Kirill Bulatov","path":"/SomeoneToIgnore","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2690773?s=80&v=4"},"commit":{"message":"Properly account for the multi buffer headers when scrolling","shortMessageHtmlLink":"Properly account for the multi buffer headers when scrolling"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU4yohwA","startCursor":null,"endCursor":null}},"title":"Activity Β· zed-industries/zed"}