Commit log

a93e175 More WIP

Click to expand commit body
Co-authored-by: Ben Kunkle <ben@zed.dev>

Anthony and Ben Kunkle created

bf1625e WIP Uniform table work and created an example for it

Click to expand commit body
Co-authored-by: Ben Kunkle <ben@zed.dev>

Anthony and Ben Kunkle created

a2b86e3 Start work on creating a uniform table element in gpui

Click to expand commit body
We added a componenet preview for this element as well.

Co-authored-by: Ben Kunkle <ben@zed.dev>

Anthony and Ben Kunkle created

b9fae27 Show actions without bindings in keymap editor

Click to expand commit body
Co-authored-by: Ben Kunkle <ben@zed.dev>

Anthony and Ben Kunkle created

e66f6c4 add modal for keybind editing

Ben Kunkle created

3dff31e change background to editor background

Ben Kunkle created

9301856 render keybind input

Ben Kunkle created

a8a125a save keybinding args in keybinding

Ben Kunkle created

253883f fix horizontal scrolling by copying VSCode and using ListHorizontalSizingBehavior::FitList

Ben Kunkle created

bff5522 clean

Ben Kunkle created

91169b8 scroll to selected index when navigating via keyboard

Ben Kunkle created

0fdc162 handle `search::FocusSearch` action

Ben Kunkle created

1ee0347 click to focus row

Ben Kunkle created

01b2b62 fix row resizing issue with selection

Ben Kunkle created

ddcaf08 selection and keyboard navigation of table rows

Ben Kunkle created

16c02ea focus search by default

Ben Kunkle created

73fefe4 style pass on search bar

Ben Kunkle created

42059d6 remove dbg!

Ben Kunkle created

10be45d add search bar

Click to expand commit body
Co-Authored-By: Mikayla <mikayla@zed.dev>

Ben Kunkle and Mikayla created

cadc9aa move match between different table row types down the tree

Ben Kunkle created

8895ddc get passing through cell widths working

Ben Kunkle created

4550e52 start on configuring cell widths

Ben Kunkle created

c0f704e pass through row render context

Ben Kunkle created

fcacc41 fix clippy error

Ben Kunkle created

8c1bcac add source column

Ben Kunkle created

5885ee5 add todo

Ben Kunkle created

5295cfa reflow table api so that it matches structure of actual table better

Ben Kunkle created

034401d move rendering of scrollbars to table

Ben Kunkle created

bbf4679 clippy --fix

Ben Kunkle created

e7d0c15 move scrollbar state into TableInteractionState

Ben Kunkle created

4530d60 remove FocusableWrapper and FocusableElement

Ben Kunkle created

e564f63 add TableInteractionState to track scroll and focus

Ben Kunkle created

f2fff54 wip

Click to expand commit body
wip

Ben Kunkle created

6e66ad8 horizantal scrollbar + autohide scrollbars

Ben Kunkle created

c839ee6 clean

Ben Kunkle created

29f3bdf first pass at show scrollbar

Ben Kunkle created

26f89b4 track scroll

Ben Kunkle created

87f9838 move

Ben Kunkle created

0b0b7d0 use uniform list for scrolling table

Ben Kunkle created

b1e4b8d refactor table to be state + render utils

Ben Kunkle created

fc6d3c8 inline table

Ben Kunkle created

08ba877 first pass at reloading on keymap change

Ben Kunkle created

9ca91c3 Update default action

Mikayla Maki created

adca3a0 Sketch in a table for the keybindings UI

Mikayla Maki created

39dc4b9 Fix being unable to input a whitespace character in collab channels filter (#33318)

Click to expand commit body
Before, `space` was always causing a channel join.
Now it's less fluent, one has to press `ESC` to get the focus out of the
filter editor and then `space` starts joining the channel.

Release Notes:

- Fixed being unable to input a whitespace character in collab channels
filter

Kirill Bulatov created

deb2564 gpui: Add keybind metadata API (#33316)

Click to expand commit body
Closes #ISSUE

Adds a very simple API to track metadata about keybindings in GPUI,
namely the source of the binding. The motivation for this is displaying
the source of keybindings in the [keymap
UI](https://github.com/zed-industries/zed/pull/32436).

The API is designed to be as simple and flexible as possible, storing
only a `Option<u32>` on the bindings themselves to keep the struct
small. It is intended to be used as an index or key into a table/map
created and managed by the consumer of the API to map from indices to
arbitrary meta-data. I.e. the consumer is responsible for both
generating these indices and giving them meaning.

The current usage in Zed is stateless, just a mapping between constants
and User, Default, Base, and Vim keymap sources, however, this can be
extended in the future to also track _which_ base keymap is being used.

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

13f1344 collab: Require billing address in all Stripe checkouts (#32980)

Click to expand commit body
Summary

I've successfully implemented the required billing address collection
feature for Stripe Checkout sessions. Here's what was done:

### 1. **Added New Data Structures** (`stripe_client.rs`):
- Added `StripeBillingAddressCollection` enum with `Auto` and `Required`
variants
- Added `billing_address_collection` field to
`StripeCreateCheckoutSessionParams`

### 2. **Updated Stripe Client Implementation**
(`real_stripe_client.rs`):
- Added conversion from `StripeBillingAddressCollection` to Stripe's
`CheckoutSessionBillingAddressCollection`
- Updated the `TryFrom` implementation to map the billing address
collection field when creating checkout sessions
- Added the necessary import

### 3. **Updated Billing Service** (`stripe_billing.rs`):
- Set `billing_address_collection` to `Required` in both
`checkout_with_zed_pro()` and `checkout_with_zed_pro_trial()` methods
- Added the necessary import

### 4. **Updated Test Infrastructure** (`fake_stripe_client.rs`):
- Added `billing_address_collection` field to
`StripeCreateCheckoutSessionCall`
- Updated the `create_checkout_session` implementation to capture the
new field
- Added the necessary import

### 5. **Updated Tests** (`stripe_billing_tests.rs`):
- Added assertions to verify that `billing_address_collection` is set to
`Required` in all three test cases:
  - `test_checkout_with_zed_pro`
  - `test_checkout_with_zed_pro_trial` (regular trial)
  - `test_checkout_with_zed_pro_trial` (extended trial)
- Added the necessary import

The implementation follows the pattern established in the codebase and
ensures that whenever a Stripe Checkout session is created for Zed Pro
subscriptions (both regular and trial), the billing address will be
required from customers. This aligns with the Stripe documentation you
provided, which shows that setting `billing_address_collection=required`
will ensure the billing address is always collected during checkout.

Release Notes:

- N/A

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

morgankrey and Marshall Bowers created

94735ae Add support for Vercel as a language model provider (#33292)

Click to expand commit body
Vercel v0 is an OpenAI-compatible model, so this is mostly a dupe of the
OpenAI provider files with some adaptations for v0, including going
ahead and using the custom endpoint for the API URL field.

Release Notes:

- Added support for Vercel as a language model provider.

Danilo Leal created

0d70bcb agent: Allow to force uninstall extension if it provides more than the MCP server (#33279)

Danilo Leal created

360d73c Implement save functionality for diff view (#33298)

Click to expand commit body
Add `can_save` and `save` methods to `DiffView`, enabling users to save
changes made within the diff view.

Release Notes:

- Allow saving changes in the `zed --diff` view

Ben Brandt created