Commit Graph
100 Commits
Author SHA1 Message Date
Nathan Sobo 676dbdc57b Merge pull request #2365 from zed-industries/dont_export_gpui_platform_module
Don't export platform::* from gpui
2023-04-07 12:12:05 -06:00
Nathan Sobo 2615a11f7c Don't export platform::* from gpui
I'd like to avoid cluttering the top-level namespace with all the platform-
specific types.
2023-04-07 11:45:53 -06:00
Nathan Sobo dad403f483 Merge pull request #2362 from zed-industries/eliminate-mutable-app-context
Merge MutableAppContext into AppContext
2023-04-06 16:19:47 -06:00
Nathan Sobo 95eb918b4c Fix broken test due to trimmed trailing whitespace during formatting 2023-04-06 16:10:39 -06:00
Nathan Sobo 8136d8a8a6 Fix formatting 2023-04-06 15:54:44 -06:00
Nathan Sobo de9bf6dfbd Merge MutableAppContext into AppContext
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Nathan Sobo e5861d6c35 Fix typos in EULA 2023-04-05 18:02:35 -06:00
Nathan Sobo 0d0f6b5a05 Update EULA 2023-04-05 08:18:51 -06:00
Nathan Sobo cdfe873802 Merge pull request #2343 from zed-industries/handles
Make typed handles wrappers around their untyped equivalents
2023-04-03 09:20:37 -04:00
Nathan Sobo 138aa0492a Add downcast_ref to AnyViewHandle
I use unsafe code to transmute an AnyViewHandle to a ViewHandle<T> when
the type matches. Because ViewHandle<T> is repr(transparent) to the
wrapped AnyViewHandle, this is safe.
2023-04-02 16:10:16 -06:00
Nathan Sobo 71cf6ec5ae Use into_any instead of weird 'as' hack 2023-04-02 15:55:30 -06:00
Nathan Sobo 27258a0889 Remove From trait for AnyViewHandle in favor of into_any method
I think it's more explicit.
2023-04-02 15:50:42 -06:00
Nathan Sobo aed8df96ff Wrap AnyWeak handles with their typed counterparts 2023-04-02 15:42:03 -06:00
Nathan Sobo 82a713fd1d Store AnyViewHandle inside ViewHandle and Deref to it 2023-04-02 14:59:55 -06:00
Nathan Sobo d89936e4a9 Merge pull request #2319 from zed-industries/copy-highlight-json
Add "editor: copy highlight json" command
2023-03-24 17:17:45 -06:00
Nathan Sobo f0992e7d67 Trim empty tokens; copy selected range if non-empty 2023-03-24 17:10:50 -06:00
Nathan Sobo 3dfedd1b21 Merge adjacent chunks with the same highlight name in copied JSON 2023-03-24 16:52:00 -06:00
Nathan Sobo 195215f1e0 Add "editor: copy highlight json" command
Nate needs this to feed to Figma for highlighted code in designs.
2023-03-24 16:37:57 -06:00
Nathan Sobo e017b99384 Fix typo 2023-03-22 09:13:10 -06:00
Nathan Sobo d429ce0f62 Merge pull request #2308 from zed-industries/feedback-icon
Use an envelope as the feedback icon so we can use the speech bubble for discussions
2023-03-20 09:14:34 -06:00
Nathan Sobo 10e6c5b651 Use an envelope as the feedback icon
This makes room to use the speech bubble for discussion threads.
2023-03-20 09:04:30 -06:00
Nathan Sobo 385dfe1661 Merge pull request #2289 from zed-industries/sort-language-names-case-agnostically
Sort language names case agnostically
2023-03-14 20:00:52 -06:00
Nathan Sobo 44a2506c40 Merge pull request #2288 from zed-industries/cut-off-collaborator-avatars
Fix collaborator avatars being clipped and not centered
2023-03-14 19:39:01 -06:00
Nathan Sobo 2db8ac4a6f Merge pull request #2280 from zed-industries/terms
Add terms of use to DMG in the bundle script
2023-03-13 16:08:07 -06:00
Nathan SoboandMax Brunsfeld 818a514110 Add terms of use to DMG in the bundle script
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-03-13 15:47:59 -06:00
Nathan SoboandAntonio Scandurra da5a6a8b4f Don't render tooltip keystroke label if there's no focused view
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-02-10 07:57:01 -07:00
Nathan Sobo e8cea130a4 Merge pull request #2068 from zed-industries/doc-reparse
Document Buffer::reparse
2023-01-24 09:09:38 -07:00
Nathan Sobo 96ffe84edb Document Buffer::reparse 2023-01-23 21:51:10 -07:00
Nathan Sobo 3cffee4065 Merge pull request #2011 from zed-industries/project-reconnection
Retain connection to remote projects when temporarily disconnected
2023-01-06 18:01:08 -07:00
Nathan Sobo 213658f1e9 Fix tests that failed due to defaulting the grouping interval to zero in tests 2023-01-06 17:56:21 -07:00
Nathan Sobo 386f7ba16d Merge remote-tracking branch 'origin/main' into project-reconnection 2023-01-06 16:52:22 -07:00
Nathan Sobo 4256a96051 Avoid holding project handle on a call that could hang
This fixes a leaked handle error.
2023-01-05 21:01:27 -07:00
Nathan Sobo 77e322cb75 Wait for incomplete buffers when handling incoming buffer file updates 2023-01-05 13:50:25 -07:00
7a629769b7 Re-request incomplete remote buffers when syncing buffers
Any buffers we requested but that haven't been fully sent will cause
outstainding open requests to hang. If we re-request them, any
waiting open requests will resume when the requested buffers finish
being created.

Co-authored-by: Max Brunsfeld <max@zed.dev>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-01-04 16:00:43 -07:00
Nathan Sobo 1006ada458 Update scan_id on worktree entries when there is a conflict
Forgetting to do this meant we were unable to sync changes with reconnecting
guests in some cases.
2023-01-04 13:59:16 -07:00
Nathan Sobo 789bbf15b7 Update buffer files when synchronizing buffers
It's possible that the host was disconnected when attempting to notify
guests of a file save, so we need to transmit this in order to correctly
update the file's mtime.

Next failing seed OPERATIONS=200 SEED=6894
2023-01-04 12:33:48 -07:00
Nathan Sobo 1dd085fc92 Introduce completed_scan_id to worktree
We need to know the most recent scan id we have actually completed. This is to
handle the case where a guest disconnects when we're in the middle of streaming
worktree entries to them. When they reconnect, they need to report a scan_id
from before we started streaming the entries, because we have no record of when
the stream was interrupted.

Next failure:
SEED=5051 ITERATIONS=1 OPERATIONS=200 cargo test --release --package=collab random -- --nocapture
2023-01-03 18:26:57 -07:00
Nathan Sobo 90fb9b53ad WIP 2023-01-03 13:30:14 -07:00
Nathan Sobo 8d70a22fa3 Record failing seed 2023-01-02 21:12:39 -07:00
Nathan Sobo a6ffcdd0cf Track open buffers when handling sync requests
When a host sends a buffer to a guest for the first time, they record that
they have done so in a set tied to that guest's peer id. When the guest
reconnects and syncs buffers, they do so under a different peer id, so we
need to be sure we track which buffers we have sent them to avoid sending
them the same buffer twice, which violates the guest's assumptions.
2023-01-02 20:27:59 -07:00
Nathan Sobo f3dee2d332 Remove printlns, found a failure
Failing seed:
SEED=416 MAX_PEERS=2 ITERATIONS=5000 OPERATIONS=159 cargo +beta test --package=collab random -- --nocapture
2022-12-27 17:01:31 -07:00
Nathan Sobo 273988b8d5 Set transaction group interval to ZERO by default in tests
We were seeing non-deterministic behavior in randomized tests when
generating backtraces took enough time to cause transactions to group
in some cases, but not group in others.

Tests will need to explicitly opt into grouping if they want it by
setting the interval explicitly. We have tests in the text module that
currently test the history grouping explicitly, but I'm not sure
it's needed elsewhere.
2022-12-27 16:47:28 -07:00
Nathan Sobo 9eee22ff0a Fix column name in query 2022-11-16 19:40:53 -07:00
Nathan Sobo 94fe93c6ee Move unshare_project to db module 2022-11-16 18:28:45 -07:00
Nathan Sobo e5f05c9f3b Move leave_project from Store to db module 2022-11-16 17:45:47 -07:00
Nathan Sobo bdb521cb6b Fix typo in query 2022-11-16 16:52:05 -07:00
Nathan Sobo 275f0ae492 collab 0.2.3 2022-11-15 15:45:04 -07:00
Nathan Sobo f4e9759f26 Merge pull request #1896 from zed-industries/fix-invites
Once we email someone an invite, honor the invitation
2022-11-15 15:43:30 -07:00
fdf758e050 Once we email someone an invite, honor the invitation
Previously, we were waiting to decrement the invite_count until a user
confirmed their email address, which created weird situations where we would
email people only to have them get a 500 when trying to sign up. Now, we
decrement the invite_count upon sending the email and always honor the
invitation.

Co-Authored-By: Joseph Lyons <joseph@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-15 15:36:59 -07:00
Nathan SoboandAntonio Scandurra fb03eb7a3c Store absolute path on server when sharing worktree
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-11-10 09:34:16 -07:00
Nathan SoboandAntonio Scandurra 8e70e1934a Avoid unwrapping when computing tab description
A bug caused the assumptions of this method to be violated. We will fix that in the next commit, but we want to be more conservative in our assumptions here going forward.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-11-10 09:33:57 -07:00
Nathan SoboandAntonio Scandurra 8c2ff69515 Render a tooltip on toggle screen sharing button
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-10-24 09:44:05 -06:00
Nathan Sobo 77b13b1356 Merge pull request #1788 from zed-industries/style
Apply a slight stylistic tweak
2022-10-20 18:43:50 -06:00
Nathan Sobo 2e97e2dbfd Apply a slight stylistic tweak 2022-10-20 18:38:27 -06:00
Nathan Sobo 0ef62fc334 Preserve symlinks in WebRTC.framework to avoid bundle signing failure 2022-10-20 14:37:04 -06:00
Nathan Sobo 6bdb08ab9c Fix crash loading Swift symbol (I think associated with concurrency)
I add /usr/lib/swift as an rpath, which seems to fix the issue even though
there doesn't seem to be a relevant library at that location on my machine.

Based on my research, wondering if `-Wl,-weak-lswiftCompatibilityConcurrency`
is also required for this to work on older OSes, but holding back for now.
2022-10-20 13:18:53 -06:00
9858906463 Return an optional response when creating users via invites
If the user already exists, we return none. This will allow the web frontend
to avoid reporting a "join alpha" user event but also not error.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2022-10-20 10:52:34 -06:00
Nathan Sobo 69472f7823 Ensure we can send a second frame 2022-10-19 19:21:09 -06:00
Nathan Sobo 723fa83909 Use fake LiveKit server to test we can send frames when screen sharing 2022-10-19 19:14:55 -06:00
Nathan Sobo f8e5a08324 Merge pull request #1764 from zed-industries/gpui-events
Eliminate dispatch_event on Element trait
2022-10-18 15:24:13 -06:00
Nathan Sobo a42a703b35 Pass tracks to Rust unretained
We always call CFRetain when constructing a track on the Rust side.
2022-10-17 23:56:41 -06:00
Nathan Sobo 59fab0bb2d WIP 2022-10-17 23:47:55 -06:00
Nathan Sobo c73e2c2d0f Get test_app running without crashing 2022-10-17 23:38:43 -06:00
Nathan Sobo 8c1c98a0bf WIP 2022-10-17 23:25:04 -06:00
Nathan Sobo 19a2752674 WIP: Update token module to support server api 2022-10-17 09:59:16 +02:00
Nathan Sobo 9569323f93 WIP: Getting a big black window, then a crash 2022-10-17 09:59:16 +02:00
Nathan SoboandAntonio Scandurra 0bbba90f30 Use ScreenCaptureKit-enabled LiveKit SDK and add display_sources function
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-10-17 09:59:16 +02:00
Nathan Sobo 12eab6551f Remove dispatch_event from Element trait 2022-10-16 13:08:25 -06:00
Nathan Sobo d25c6b15a6 Move Terminal key down event handling from element to View::key_down method 2022-10-16 12:55:02 -06:00
Nathan Sobo b9308ad80d Move handling of modifier changes to new View hook 2022-10-16 12:47:48 -06:00
Nathan Sobo 6e363e464c Start on view-level dispatch approach for keyboard events 2022-10-16 11:46:31 -06:00
Nathan Sobo 6e53deb1b2 Refine mouse event naming 2022-10-16 11:18:58 -06:00
Nathan Sobo 3e23d1f48d Merge pull request #1762 from zed-industries/less-click-and-hover-invalidation
Reduce unnecessary view invalidations related to mouse events
2022-10-16 10:23:54 -06:00
Nathan Sobo 1750fcf833 Merge pull request #1761 from zed-industries/mouse-region-view-invalidation
Remove unconditional invalidation when calling mouse region handlers
2022-10-14 18:31:23 -06:00
Nathan SoboandMax Brunsfeld 646d344a11 Avoid re-rendering editor on mouse move
Only notify editor when clearing highlights if there were highlights to
begin with.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-14 18:27:55 -06:00
Nathan SoboandMax Brunsfeld bc03592912 Only invalidate parent view on click/hover if we read that state when rendering
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-10-14 18:09:15 -06:00
Nathan Sobo 934474f87e Remove unconditional invalidation when calling mouse region handlers
We want invalidation to opt-in as much as possible.
If you want a view to re-render, you need to call `cx.notify`.
2022-10-14 17:06:46 -06:00
Nathan Sobo eef086f60f 0.60.2 2022-10-13 16:26:26 -06:00
Nathan Sobo 6ac0b81778 Merge pull request #1754 from zed-industries/fix-list-scroll
Pass the current view id when painting List's mouse region instead of 10
2022-10-13 16:24:55 -06:00
Nathan Sobo 8d82702da2 Pass the current view id value when painting List's mouse region
Previously, a dummy value was being passed. I think this slipped in accidentally.
2022-10-13 15:57:19 -06:00
Nathan Sobo e0b6b0df2a Rename Join button to Open, rework message slightly 2022-10-10 18:12:00 -06:00
Nathan SoboandAntonio Scandurra b8c2acf0f2 Show worktree root names when sharing additional projects on a call
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-10-10 17:56:03 -06:00
Nathan Sobo 425e540c9a Fix tests by providing close: true 2022-10-10 15:29:24 -06:00
Nathan Sobo 3ae96f2c6e Don't autoclose brackets when is false 2022-10-10 15:15:43 -06:00
Nathan SoboandAntonio Scandurra 8ff4f044b7 Start a call when clicking on a contact in the contacts popover
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-09-28 11:02:26 -06:00
Nathan SoboandAntonio Scandurra 815cf44647 Rename AddParticipantPopover to ContactsPopover
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-09-28 09:10:01 -06:00
Nathan SoboandAntonio Scandurra f5b2d56efd Remove contacts menu bar extra
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2022-09-28 09:06:28 -06:00
Nathan SoboandMax Brunsfeld 824fdb54e6 Report editor open and save events to Amplitude
Co-authored-by: Max Brunsfeld <max@zed.dev>
2022-09-26 18:18:34 -06:00
Nathan SoboandJoseph Lyons f0c50c1e0a Extract db module from project to its own crate
This will let us use it from the telemetry crate.

Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-26 16:37:09 -06:00
Nathan Sobo 0c4c5f9238 0.54.1 2022-09-21 10:36:46 -06:00
Nathan Sobo 7bf64ec23e Add ability to get a screen share track for a window
And also list windows
2022-09-13 14:10:13 +02:00
Nathan Sobo 5347c7d678 Connect to LiveKit room in capture example 2022-09-13 14:10:13 +02:00
Nathan SoboandAntonio Scandurra 45d83b557b Remove LiveKitObjC experiment
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-09-13 14:10:13 +02:00
Nathan SoboandAntonio Scandurra 3c2566fc11 Copy WebRTC.framework when building livekit crate
We determine the location of the target executable directory in a somewhat hacky way, but it seems reasonably stable.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-09-13 14:10:13 +02:00
Nathan Sobo 4bcc008cbf WIP: Start on live_kit crate that uses a C-based bridge 2022-09-13 14:10:13 +02:00
Nathan Sobo b51abc5a63 Read the frame data out of the CMSampleBuffer
Still not sending it anywhere, but think I'm reading it correctly.
2022-09-13 14:10:13 +02:00
Nathan Sobo 37da841716 Start on using CVMetalTextureCache 2022-09-13 14:10:13 +02:00
Nathan Sobo 531ffc01c9 Pass CVImageBuffers into GPUI instead of IOSurfaces 2022-09-13 14:10:13 +02:00
Nathan Sobo 0430bbf7d9 WIP: Start on Renderer::render_surfaces but really it's nothing 2022-09-13 14:10:13 +02:00
Nathan Sobo db88ee2f4c Handle captured frames in the background 2022-09-13 14:10:13 +02:00