# Commit history · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commits/cdaa4e0719fa55f9a30214126c266b2738829868)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: cdaa4e0719fa55f9a30214126c266b2738829868

Requested commit: cdaa4e0719fa55f9a30214126c266b2738829868

- [Fix flaky FileFinder test by avoiding redundant worktree snapshot polls when idle](https://git.cafe/gitcafe/zed/commit/cdaa4e0719fa55f9a30214126c266b2738829868?format=markdown) — cdaa4e0719fa55f9a30214126c266b2738829868; Max Brunsfeld

- [Fix error message when connection's IO loop exits before message loop](https://git.cafe/gitcafe/zed/commit/42ba24c5a81e0024921fa08af15fb90ff2c3e237?format=markdown) — 42ba24c5a81e0024921fa08af15fb90ff2c3e237; Max Brunsfeld

- [Use FakeFs in all integration tests](https://git.cafe/gitcafe/zed/commit/561cabbba2e407ef5506e10280c6d6b399019db1?format=markdown) — 561cabbba2e407ef5506e10280c6d6b399019db1; Max Brunsfeld

- [Fix race condition in integration test](https://git.cafe/gitcafe/zed/commit/82569a031fa95a907a3d8299729073855091cfa5?format=markdown) — 82569a031fa95a907a3d8299729073855091cfa5; Nathan Sobo

- [Move Fs trait into its own module](https://git.cafe/gitcafe/zed/commit/411e7df931d438f938fa25a4dbcbac846ea2a6cd?format=markdown) — 411e7df931d438f938fa25a4dbcbac846ea2a6cd; Nathan Sobo

- [Use an unbounded channel for waking \`executor::Deterministic\`](https://git.cafe/gitcafe/zed/commit/2e645bcf6afd37855cde52ed03e203a6b231de0b?format=markdown) — 2e645bcf6afd37855cde52ed03e203a6b231de0b; Antonio Scandurra

- [Rename \`zed-rpc\` to \`zrpc\`](https://git.cafe/gitcafe/zed/commit/391ad489ff8ac32760253f43383bb1465d696814?format=markdown) — 391ad489ff8ac32760253f43383bb1465d696814; Antonio Scandurra

- [Use the same background executor for spawning CPU intensive tasks](https://git.cafe/gitcafe/zed/commit/c4e37dc47ca37048723db4269904a483171f842a?format=markdown) — c4e37dc47ca37048723db4269904a483171f842a; Antonio Scandurra

- [Remove stray logging statements](https://git.cafe/gitcafe/zed/commit/6abac39eaa4c87c9d715decee83c9bd5219f6da0?format=markdown) — 6abac39eaa4c87c9d715decee83c9bd5219f6da0; Antonio Scandurra

- [Fix tests that were not aware of \`Worktree::open_local\` being async](https://git.cafe/gitcafe/zed/commit/7ad2071a51b81f3ddaf656a4c0ced928b09c4285?format=markdown) — 7ad2071a51b81f3ddaf656a4c0ced928b09c4285; Antonio Scandurra

- [WIP](https://git.cafe/gitcafe/zed/commit/2ecdc65f380c1b67f0e9ca52823b2b7bfb5ae896?format=markdown) — 2ecdc65f380c1b67f0e9ca52823b2b7bfb5ae896; Antonio Scandurra

- [Use an \`executor::Background\` in \`AppContext::thread_pool\`](https://git.cafe/gitcafe/zed/commit/f836a255001f960bede705802f3c916a7cbdc26c?format=markdown) — f836a255001f960bede705802f3c916a7cbdc26c; Antonio Scandurra

- [Don't create a real background executor when \`Fs\` is fake](https://git.cafe/gitcafe/zed/commit/f58ef25fc54c1a206f61e8806f10f29d70fd35fe?format=markdown) — f58ef25fc54c1a206f61e8806f10f29d70fd35fe; Antonio Scandurra

- [Allow printing a trace of a run of the executor](https://git.cafe/gitcafe/zed/commit/68f747d6dfc9f88d6e7927dcb9bba99b39acca2a?format=markdown) — 68f747d6dfc9f88d6e7927dcb9bba99b39acca2a; Antonio Scandurra

- [Use an unfair lock to ensure tests are deterministic](https://git.cafe/gitcafe/zed/commit/9e1f72bfa9c90bc0a286cb4fd47781c942060f87?format=markdown) — 9e1f72bfa9c90bc0a286cb4fd47781c942060f87; Antonio Scandurra

- [Store an Fs on Workspace, pass it to each Worktree](https://git.cafe/gitcafe/zed/commit/2a90347b82a89ba24e2262607583c1a4fa29ab19?format=markdown) — 2a90347b82a89ba24e2262607583c1a4fa29ab19; Max Brunsfeld

- [Fix CSS purge path](https://git.cafe/gitcafe/zed/commit/86ca442fbe6a2fd5ba8bf362da2e82ff70ee2755?format=markdown) — 86ca442fbe6a2fd5ba8bf362da2e82ff70ee2755; Nathan Sobo

- [Pass arguments to cargo run in script/server](https://git.cafe/gitcafe/zed/commit/9a6c4a1718470a9df97f17a2755795f3b1d2137e?format=markdown) — 9a6c4a1718470a9df97f17a2755795f3b1d2137e; Nathan Sobo

- [Include contents of the zed-server repo](https://git.cafe/gitcafe/zed/commit/1537500fcb53792a157e0ba7c7b37ff06f654d38?format=markdown) — 1537500fcb53792a157e0ba7c7b37ff06f654d38; Nathan Sobo

- [:fire: Remove stray logging statements](https://git.cafe/gitcafe/zed/commit/34abda3a04acd787cd3a016e8f3b0d57290ae8e6?format=markdown) — 34abda3a04acd787cd3a016e8f3b0d57290ae8e6; Antonio Scandurra

- [Allow worktrees to be joined with no open window](https://git.cafe/gitcafe/zed/commit/59d61d33cbd70821174f340124d9992489f935b4?format=markdown) — 59d61d33cbd70821174f340124d9992489f935b4; Antonio Scandurra

- [Ensure root view is always rendered when opening a window](https://git.cafe/gitcafe/zed/commit/58bae3a9a7b9e8135a2deb4f908f64037500eed0?format=markdown) — 58bae3a9a7b9e8135a2deb4f908f64037500eed0; Antonio Scandurra

- [Pass \`AppState\` to \`workspace:join_worktree\`](https://git.cafe/gitcafe/zed/commit/a661b43e75a9c0e3fdc90c26821ea0f098ce8548?format=markdown) — a661b43e75a9c0e3fdc90c26821ea0f098ce8548; Antonio Scandurra

- [Ignore whitespaces surrounding a shared worktree's URL](https://git.cafe/gitcafe/zed/commit/ccff27a157e55707b5be130afdb52354baef95cd?format=markdown) — ccff27a157e55707b5be130afdb52354baef95cd; Antonio Scandurra

- [Don't lose operations for buffers that are being opened](https://git.cafe/gitcafe/zed/commit/0f399c6a01dfb6f8580233f1e3d6712204c976ef?format=markdown) — 0f399c6a01dfb6f8580233f1e3d6712204c976ef; Antonio Scandurra

- [Allow resetting \`executor::Deterministic\`'s RNG](https://git.cafe/gitcafe/zed/commit/1813a3cc91c78d63479f350204b4e81e33311a58?format=markdown) — 1813a3cc91c78d63479f350204b4e81e33311a58; Antonio Scandurra

- [Avoid unnecessary Result in returned message handler future](https://git.cafe/gitcafe/zed/commit/bd68d83519fc891930330d40bf934d28b3cae620?format=markdown) — bd68d83519fc891930330d40bf934d28b3cae620; Antonio Scandurra

- [Emit event when performing a rename in \`InMemoryFs\`](https://git.cafe/gitcafe/zed/commit/4f752a4144f5426a71c8220a524b32d814aacabc?format=markdown) — 4f752a4144f5426a71c8220a524b32d814aacabc; Antonio Scandurra

- [Remove authentication at the RPC layer](https://git.cafe/gitcafe/zed/commit/4aab70d7fb81aa091528c8412aa246a52be8bc7b?format=markdown) — 4aab70d7fb81aa091528c8412aa246a52be8bc7b; Nathan Sobo

- [Send an Authorization HTTP header when connecting web sockets](https://git.cafe/gitcafe/zed/commit/89ef4d760d4982072c0000b3f3d9ba16fbdb22fd?format=markdown) — 89ef4d760d4982072c0000b3f3d9ba16fbdb22fd; Nathan Sobo

- [Pass AppState as action arg to workspace:share_worktree](https://git.cafe/gitcafe/zed/commit/4ffd29bd81def1ddf0b65299571fd11b28599a87?format=markdown) — 4ffd29bd81def1ddf0b65299571fd11b28599a87; Nathan Sobo

- [Restructure Peer to handle connections' messages in order](https://git.cafe/gitcafe/zed/commit/eeebc761b625693a4d77b763928496d914f8dde3?format=markdown) — eeebc761b625693a4d77b763928496d914f8dde3; Max Brunsfeld

- [Send buffer operations in the order they occur](https://git.cafe/gitcafe/zed/commit/b7fae693f9a435defbeaf8ec9dec574a6f223802?format=markdown) — b7fae693f9a435defbeaf8ec9dec574a6f223802; Antonio Scandurra

- [Use the \`Fs\` trait for refreshing buffers](https://git.cafe/gitcafe/zed/commit/ad3dcfed1015a2a49c585749c479d469c77b34fb?format=markdown) — ad3dcfed1015a2a49c585749c479d469c77b34fb; Antonio Scandurra

- [Schedule foreground-spawned futures sequentially](https://git.cafe/gitcafe/zed/commit/4f4233e00bde57be82495903db97e6a6182c6b47?format=markdown) — 4f4233e00bde57be82495903db97e6a6182c6b47; Antonio Scandurra

- [Remove non-determinism caused by polling snapshots via a timer](https://git.cafe/gitcafe/zed/commit/9412a7ae07886202dfede81ddf92c26c3b47884f?format=markdown) — 9412a7ae07886202dfede81ddf92c26c3b47884f; Antonio Scandurra

- [WIP](https://git.cafe/gitcafe/zed/commit/13c56cf6cee5de04fdc797a9d6025b9dac26d12c?format=markdown) — 13c56cf6cee5de04fdc797a9d6025b9dac26d12c; Antonio Scandurra

- [Fix warnings](https://git.cafe/gitcafe/zed/commit/0e19b061d4829d4ba68d6f8ade86e6bee51a084b?format=markdown) — 0e19b061d4829d4ba68d6f8ade86e6bee51a084b; Antonio Scandurra

- [Implement \`InMemoryFs::rename\`](https://git.cafe/gitcafe/zed/commit/3d799fe8e70450c26bd2295e96c118ec4c0207bc?format=markdown) — 3d799fe8e70450c26bd2295e96c118ec4c0207bc; Antonio Scandurra

- [Implement \`Fs::child_entries\` for \`InMemoryFs\`](https://git.cafe/gitcafe/zed/commit/63e76e426abf28d4d790db3494974b435545d148?format=markdown) — 63e76e426abf28d4d790db3494974b435545d148; Antonio Scandurra

- [Extract Fs::child_entries method to avoid sync I/O in BackgroundScanner](https://git.cafe/gitcafe/zed/commit/b96578f471d5fd02b80385e0f74a5ed41d3e8b32?format=markdown) — b96578f471d5fd02b80385e0f74a5ed41d3e8b32; Antonio Scandurra

- [Replace crossbeam_channel with an async smol::channel](https://git.cafe/gitcafe/zed/commit/695702734149bfc44360c65c2cd64793bbb3319f?format=markdown) — 695702734149bfc44360c65c2cd64793bbb3319f; Antonio Scandurra

- [Implement a scoped pool on \`executor::Background\`](https://git.cafe/gitcafe/zed/commit/102026f3c70d308913ffda04d4a7b26035729288?format=markdown) — 102026f3c70d308913ffda04d4a7b26035729288; Antonio Scandurra

- [Start on refactoring \`BackgroundScanner\` to be generic over fs](https://git.cafe/gitcafe/zed/commit/d5361299ad0c30cf70b2c0768efa31a8b26651fd?format=markdown) — d5361299ad0c30cf70b2c0768efa31a8b26651fd; Antonio Scandurra

- [Start on in-memory fs](https://git.cafe/gitcafe/zed/commit/2fa63a3a5056ba4a5637f8975f704086400d90db?format=markdown) — 2fa63a3a5056ba4a5637f8975f704086400d90db; Antonio Scandurra

- [Extract an \`Fs\` trait in \`Worktree\`](https://git.cafe/gitcafe/zed/commit/4dae17a4cfc2e2e6e36a54a2fd9522e185b268c8?format=markdown) — 4dae17a4cfc2e2e6e36a54a2fd9522e185b268c8; Antonio Scandurra

- [Use select_biased\! in Peer to avoid non-determinism](https://git.cafe/gitcafe/zed/commit/60ef74a18fed4b4dc71650596a5e94d7093f0d85?format=markdown) — 60ef74a18fed4b4dc71650596a5e94d7093f0d85; Max Brunsfeld

- [Allow rpc client to connect to an in-memory stream](https://git.cafe/gitcafe/zed/commit/b2aa961b4f9cb9523b95f7ac4a8ab075b86d84fd?format=markdown) — b2aa961b4f9cb9523b95f7ac4a8ab075b86d84fd; Max Brunsfeld

- [Re-export zed-rpc's test support items from zed's test support](https://git.cafe/gitcafe/zed/commit/8b58c165a7914016333f2703489124bcbe53b9f1?format=markdown) — 8b58c165a7914016333f2703489124bcbe53b9f1; Max Brunsfeld

- [Avoid panic when spawn is called after run exits in deterministic executor](https://git.cafe/gitcafe/zed/commit/2965fce70d14e917f42aa1e2f239beb92eae41b5?format=markdown) — 2965fce70d14e917f42aa1e2f239beb92eae41b5; Max Brunsfeld

- [Add a 'seed' parameter to gpui::test macro](https://git.cafe/gitcafe/zed/commit/9bfa5b62f26b6592c751a220ba464ce1dd960c14?format=markdown) — 9bfa5b62f26b6592c751a220ba464ce1dd960c14; Max Brunsfeld

- [Start work on a deterministic executor for tests](https://git.cafe/gitcafe/zed/commit/140c8833fef4c82f916a6d6fbbbda1375b01f16b?format=markdown) — 140c8833fef4c82f916a6d6fbbbda1375b01f16b; Max Brunsfeld

- [Merge pull request \#106 from zed-industries/remote-conflict-indicator](https://git.cafe/gitcafe/zed/commit/1f89b45b56239849d48022c984bcdc486dc8fbde?format=markdown) — 1f89b45b56239849d48022c984bcdc486dc8fbde; Antonio Scandurra

- [Merge pull request \#104 from zed-industries/double-buffer](https://git.cafe/gitcafe/zed/commit/f1ce507ed493c9c3127a5b32fd6555a568e93e1e?format=markdown) — f1ce507ed493c9c3127a5b32fd6555a568e93e1e; Antonio Scandurra

- [Merge pull request \#100 from zed-industries/fix-url-to-path-conversion](https://git.cafe/gitcafe/zed/commit/792926c6757bf4e7cd29f722253699f097c154fa?format=markdown) — 792926c6757bf4e7cd29f722253699f097c154fa; Antonio Scandurra

- [Improve support for gpui tests that need multiple contexts](https://git.cafe/gitcafe/zed/commit/f46c0a790e89d56404bf7ee80488fc911b5ce32b?format=markdown) — f46c0a790e89d56404bf7ee80488fc911b5ce32b; Max Brunsfeld

- [Use async-tungstenite's built-in TLS connector](https://git.cafe/gitcafe/zed/commit/7335e70eb74ede3a9d2dbd81725f767c7b3cc8c0?format=markdown) — 7335e70eb74ede3a9d2dbd81725f767c7b3cc8c0; Antonio Scandurra

- [Improve logging when there is an error in the RPC layer](https://git.cafe/gitcafe/zed/commit/024684e46c2f756bbec134e6e914e3d84a0fd140?format=markdown) — 024684e46c2f756bbec134e6e914e3d84a0fd140; Antonio Scandurra

- [Remove REST endpoints from zed-rpc](https://git.cafe/gitcafe/zed/commit/d0660f41de9ebd8f1263e4113f0494e2d55759a1?format=markdown) — d0660f41de9ebd8f1263e4113f0494e2d55759a1; Antonio Scandurra

- [Use a websocket to connect to the server](https://git.cafe/gitcafe/zed/commit/cb9002254fb406cb8ec225a8133f8be3ab0cdab5?format=markdown) — cb9002254fb406cb8ec225a8133f8be3ab0cdab5; Antonio Scandurra

- [Refactor zed-rpc to work with websockets](https://git.cafe/gitcafe/zed/commit/4466b6b76a5db27b412e987a26852a7e18a7a23d?format=markdown) — 4466b6b76a5db27b412e987a26852a7e18a7a23d; Antonio Scandurra

- [Revert "Start work on handling TLS for the RPC endpoint"](https://git.cafe/gitcafe/zed/commit/ee962eab9b35eacfb244c22eb741b63f4bb9d26a?format=markdown) — ee962eab9b35eacfb244c22eb741b63f4bb9d26a; Antonio Scandurra

- [Start work on handling TLS for the RPC endpoint](https://git.cafe/gitcafe/zed/commit/193c704875d9d097e5529a63032745641e39b216?format=markdown) — 193c704875d9d097e5529a63032745641e39b216; Max Brunsfeld

- [Replace \`paths_by_id\` with an \`entries_by_id\` sum tree](https://git.cafe/gitcafe/zed/commit/59fe0549ccfc883b0c6d46ac8cf40adef8cfba9a?format=markdown) — 59fe0549ccfc883b0c6d46ac8cf40adef8cfba9a; Antonio Scandurra

- [Unify maintenance of open buffers into \`Worktree::poll_snapshot\`](https://git.cafe/gitcafe/zed/commit/3ce2bea63a1f1c76a2b4cb54145b8134e8bd1516?format=markdown) — 3ce2bea63a1f1c76a2b4cb54145b8134e8bd1516; Antonio Scandurra

- [Add ModelHandle::spawn_weak, fix worktree leak from spawn call](https://git.cafe/gitcafe/zed/commit/58eefcd33102879011aa0228934858a441167804?format=markdown) — 58eefcd33102879011aa0228934858a441167804; Max Brunsfeld

- [Add unit test for worktree update messages, fix minor issues](https://git.cafe/gitcafe/zed/commit/65e4e78cd7d11f80e4dc66ebf37015a3c590fff5?format=markdown) — 65e4e78cd7d11f80e4dc66ebf37015a3c590fff5; Max Brunsfeld

- [Process remote worktree updates in the background](https://git.cafe/gitcafe/zed/commit/73db910a9566d0040acc342cb730cbfeb7e65d86?format=markdown) — 73db910a9566d0040acc342cb730cbfeb7e65d86; Nathan Sobo

- [Start on applying remote worktree updates in the background](https://git.cafe/gitcafe/zed/commit/036dcd50fdcbc377f7c7278886193b024956e8de?format=markdown) — 036dcd50fdcbc377f7c7278886193b024956e8de; Nathan Sobo

- [Propagate file system changes to remote worktrees](https://git.cafe/gitcafe/zed/commit/53adaa77c196efb11bd242dad6684644bebe9d15?format=markdown) — 53adaa77c196efb11bd242dad6684644bebe9d15; Antonio Scandurra

- [Rename \`\{Add,Remove\}Guest\` to \`\{Add,Remove\}Peer\`](https://git.cafe/gitcafe/zed/commit/2a779d3529dae80e646b199539e099f5f67cffec?format=markdown) — 2a779d3529dae80e646b199539e099f5f67cffec; Antonio Scandurra

- [Expose \`Client::disconnect\` to force disconnection](https://git.cafe/gitcafe/zed/commit/61222b4fe5d93bb4d3c16c063b548ec8d6870595?format=markdown) — 61222b4fe5d93bb4d3c16c063b548ec8d6870595; Antonio Scandurra

- [Avoid deadlocks on rpc state by switching to an RwLock](https://git.cafe/gitcafe/zed/commit/899b9cd5ad8ec145b3836d44d5747814cfd6089c?format=markdown) — 899b9cd5ad8ec145b3836d44d5747814cfd6089c; Max Brunsfeld

- [Implement Copy for peer::Receipt](https://git.cafe/gitcafe/zed/commit/08991db88251b8d065e86163d3d4d6884fb8fb41?format=markdown) — 08991db88251b8d065e86163d3d4d6884fb8fb41; Max Brunsfeld

- [Avoid circular model update in save_buffer handler](https://git.cafe/gitcafe/zed/commit/a7f812e05988ad306c4a083efa1e4a9506e65d6d?format=markdown) — a7f812e05988ad306c4a083efa1e4a9506e65d6d; Max Brunsfeld

- [Construct remote worktree snapshots in the background](https://git.cafe/gitcafe/zed/commit/86b9ab45050e946791271e185de727c145424fd1?format=markdown) — 86b9ab45050e946791271e185de727c145424fd1; Max Brunsfeld

- [WIP: Save remote buffers](https://git.cafe/gitcafe/zed/commit/569a4a1e2de0218ac3d2662463c823bd08a3a063?format=markdown) — 569a4a1e2de0218ac3d2662463c823bd08a3a063; Antonio Scandurra

- [Fix tests](https://git.cafe/gitcafe/zed/commit/b8bddd6c05a5ea76c8c7e0e6d3a797f051d4416f?format=markdown) — b8bddd6c05a5ea76c8c7e0e6d3a797f051d4416f; Antonio Scandurra

- [Send also the currently active selection sets when serializing a buffer](https://git.cafe/gitcafe/zed/commit/7ae1d9e997f76c2054c951f716c2418c20102e65?format=markdown) — 7ae1d9e997f76c2054c951f716c2418c20102e65; Antonio Scandurra

- [Serialize RPC sends and responses using a channel](https://git.cafe/gitcafe/zed/commit/9d51fe88e987511f7d52f978a82cfb9ae0e503ec?format=markdown) — 9d51fe88e987511f7d52f978a82cfb9ae0e503ec; Max Brunsfeld

- [Avoid spurious error logging when host edits buffers not open by guests](https://git.cafe/gitcafe/zed/commit/42f7867f6e6d3d6334dc339f1712f9e51539edf4?format=markdown) — 42f7867f6e6d3d6334dc339f1712f9e51539edf4; Max Brunsfeld

- [Fix memory leak of \`Editor\` due to blinking cursors](https://git.cafe/gitcafe/zed/commit/e95936c624e05c52fe77cac1251d6ed524078600?format=markdown) — e95936c624e05c52fe77cac1251d6ed524078600; Antonio Scandurra

- [Report \`SelectionSet\` deletion operations correctly](https://git.cafe/gitcafe/zed/commit/da7bd8439b5a88cf78da5b0996690661a8b180aa?format=markdown) — da7bd8439b5a88cf78da5b0996690661a8b180aa; Antonio Scandurra

- [Start on rendering remote selections](https://git.cafe/gitcafe/zed/commit/c881c7f30fef5aa16629cd97d6e9dd55b8eafc72?format=markdown) — c881c7f30fef5aa16629cd97d6e9dd55b8eafc72; Antonio Scandurra

- [Expose \`Worktree::\{peers,replica_id\}\`](https://git.cafe/gitcafe/zed/commit/e07065265d22ebd0739e872b7adb70fe89cd1685?format=markdown) — e07065265d22ebd0739e872b7adb70fe89cd1685; Antonio Scandurra

- [Send a \`CloseWorktree\` message when a shared \`Worktree\` is dropped](https://git.cafe/gitcafe/zed/commit/ed9036f3fc591e1ce1b030fc32a17c5c5abbca6b?format=markdown) — ed9036f3fc591e1ce1b030fc32a17c5c5abbca6b; Antonio Scandurra

- [Store online peers when joining a worktree](https://git.cafe/gitcafe/zed/commit/1d53d43d6f67bb79cc01ef3bbdce43560874a63b?format=markdown) — 1d53d43d6f67bb79cc01ef3bbdce43560874a63b; Antonio Scandurra

- [Maintain a set of peers as they join and leave the worktree](https://git.cafe/gitcafe/zed/commit/7704291432d7c5ef065eb60cf6ed75ddf6b7bfc4?format=markdown) — 7704291432d7c5ef065eb60cf6ed75ddf6b7bfc4; Antonio Scandurra

- [Avoid logging errors in RPC message handlers](https://git.cafe/gitcafe/zed/commit/ab089b65754ae3ea1cd1a73d9f17d5ea56d121f8?format=markdown) — ab089b65754ae3ea1cd1a73d9f17d5ea56d121f8; Antonio Scandurra

- [:lipstick:](https://git.cafe/gitcafe/zed/commit/8e5e354bd8fdbe21b886017c3e9e364a5bab4795?format=markdown) — 8e5e354bd8fdbe21b886017c3e9e364a5bab4795; Antonio Scandurra

- [Move \`remote::update_buffer\` main logic into \`Worktree::update_buffer\`](https://git.cafe/gitcafe/zed/commit/3c8aa0ee708fea214d4f6524858261499870b8e0?format=markdown) — 3c8aa0ee708fea214d4f6524858261499870b8e0; Antonio Scandurra

- [Store shared buffers on LocalWorktree](https://git.cafe/gitcafe/zed/commit/0fde7a55efed117dbd4d66763b6644e85c9a27d6?format=markdown) — 0fde7a55efed117dbd4d66763b6644e85c9a27d6; Nathan Sobo

- [Store a reference to the LangageRegistry on the Worktree](https://git.cafe/gitcafe/zed/commit/bbf803d7dc0868b5944f6d72d7511025c1a15824?format=markdown) — bbf803d7dc0868b5944f6d72d7511025c1a15824; Nathan Sobo

- [Use entry_id on File instead of worktree::Diff to detect when buffers' files change](https://git.cafe/gitcafe/zed/commit/34963ac80d1d3bba6df91225fac9fc4b50897009?format=markdown) — 34963ac80d1d3bba6df91225fac9fc4b50897009; Nathan Sobo

- [Merge branch 'main' into rpc](https://git.cafe/gitcafe/zed/commit/e80439daaadadc4591aaf065acf0de45d47368ba?format=markdown) — e80439daaadadc4591aaf065acf0de45d47368ba; Antonio Scandurra

- [Redesign Worktree save API and make test_rescan_simple pass](https://git.cafe/gitcafe/zed/commit/b7a4393f2904ffaa739459db15e5f51a4b58879b?format=markdown) — b7a4393f2904ffaa739459db15e5f51a4b58879b; Nathan Sobo

- [Eagerly populate worktree entries on load](https://git.cafe/gitcafe/zed/commit/1793eda4706ab7fe8430f513f55f189cc4e64038?format=markdown) — 1793eda4706ab7fe8430f513f55f189cc4e64038; Nathan Sobo

- [Assign a stable identity to Worktree entries](https://git.cafe/gitcafe/zed/commit/958345b5cecd54ad8afbf4d1c94e34c2d8762806?format=markdown) — 958345b5cecd54ad8afbf4d1c94e34c2d8762806; Antonio Scandurra

- [Restructure RPC state to also keep track of remote worktrees on guests](https://git.cafe/gitcafe/zed/commit/65aa9733d7c91db30456a87e36f724d8fc98362b?format=markdown) — 65aa9733d7c91db30456a87e36f724d8fc98362b; Antonio Scandurra

- [Maintain active selections as editors are focused and blurred](https://git.cafe/gitcafe/zed/commit/e72b4ae03d4251dc4fddd843d744ac7acc4e8071?format=markdown) — e72b4ae03d4251dc4fddd843d744ac7acc4e8071; Antonio Scandurra

More commits follow; continue with `GET /api/repos/gitcafe/zed/commits?after=IjBiYzg2NjNkMzY2YjMwNGFjNjRiZDYwNDk3NGE0YmM4Njg0ODE1YTQi`.
