Skip to content

Copy element debug JSON to the clipboard on cmd-alt-i - #9

Merged
nathansobo merged 4 commits into
masterfrom
debug-elements
Apr 8, 2021
Merged

Copy element debug JSON to the clipboard on cmd-alt-i#9
nathansobo merged 4 commits into
masterfrom
debug-elements

Conversation

@nathansobo

Copy link
Copy Markdown
Contributor

Picking up from #8, which got closed when I deleted the base branch.

This PR adds a new cmd-alt-i keybinding, which copies JSON representing the current element state to the clipboard. You can now call Element::named instead of boxed to tag any element with a name that will appear in the JSON. I used the DJSON Chrome extension to produce the screenshot below showing the open file finder.

Screen Shot 2021-04-07 at 10 00 06 PM

@nathansobo
nathansobo merged commit d572c22 into master Apr 8, 2021
@nathansobo
nathansobo deleted the debug-elements branch April 8, 2021 14:09
Anthony-Eid pushed a commit to Anthony-Eid/zed that referenced this pull request Aug 1, 2024
* Wip move handle reverse requests on the debug panel

* Remove todo for startDebugging

* Remove unused code

* Make clippy happy

* Log error instead of ignoring it

* Remove debug code
rtfeldman added a commit that referenced this pull request Feb 5, 2026
- Fix #9: ToolPermissionContext::input_value now includes both source and destination
  paths formatted as 'source -> destination' for copy_path and move_path tools.
  Updated doc comments in tool_permissions.rs and settings_content/agent.rs.
  Added CopyPathTool to path pattern extraction in build_permission_options.
- Fix #14: Replaced .ok() on unbounded_send calls in authorize_third_party_tool
  and authorize methods with explicit error logging.
rtfeldman added a commit that referenced this pull request Feb 5, 2026
…cing docs

- agent-settings.md: Add per-tool permission rules section with pattern
  precedence docs and copy_path/move_path pattern matching explanation
- agent-panel.md: Add note about copy_path/move_path pattern behavior
- mcp.md: Add link to detailed tool permissions documentation
rtfeldman added a commit that referenced this pull request Feb 5, 2026
Add a new 'MCP and External Tool Permissions' section to agent-settings.md
documenting the mcp:server_name:tool_name key format for per-tool defaults.
rtfeldman added a commit that referenced this pull request Feb 28, 2026
#3: Ensure worktree creation status cannot get stuck in Creating.
    Clone the WeakEntity handle before passing it to setup_new_workspace
    so failures can call set_worktree_creation_error to transition the
    status to Error.

#8: Store the visual-test global observer subscription instead of
    detaching it, and explicitly drop it during teardown.

#9: Delete the preserved temp directory after visual-test cleanup so
    repeated runs don't accumulate filesystem artifacts.

#10: Add run_git_command helper that checks exit status and includes
     stderr/stdout in the error message for actionable diagnostics.

#11: Change two open_new().detach() calls to detach_and_log_err(cx) so
     workspace creation failures are logged instead of silently swallowed.
rtfeldman added a commit that referenced this pull request Mar 2, 2026
- Fix #3: Add catch-all error handling around setup_new_workspace so
  worktree creation status cannot get stuck in Creating
- Fix #8: Store visual-test workspace observer subscription instead of
  detaching it; explicitly drop during teardown
- Fix #9: Delete preserved temp directory after visual test completion
- Fix #10: Add run_git_command helper that checks exit status and
  includes stderr/stdout context in failure messages
- Fix #11: Change two open_new().detach() calls to detach_and_log_err
- Revert unrelated thread_history.rs changes (delete event refactoring,
  format_relative_time extraction, v_flex layout, iteration guard)
- Restore assistant namespace conditional and CopyCode test assertions
  in agent_ui.rs
chan-yuu pushed a commit to chan-yuu/zed that referenced this pull request Apr 18, 2026
m-bers pushed a commit to m-bers/zed that referenced this pull request Apr 19, 2026
…topped

Three fixes for the systematic n-1 response shift where each message
gets the response for the previous message:

1. EntryUpdated uses turn-scoped request_id with prev_turn fallback:
   Claude Code delivers background events (tool completions, text
   flushes) asynchronously via session_notification after a turn ends.
   EntryUpdated now checks whether the entry belongs to the current
   turn (>= turn_start) or a previous one, and tags it with the
   correct turn's request_id. Previously it read the global
   THREAD_REQUEST_MAP which could already point to the next turn.

2. NewEntry updates turn_request_id only at turn boundaries:
   turn_request_id is now only updated from the global map when
   current == last_completed (i.e. a new turn is starting). The old
   value is rotated into prev_turn_request_id for use by late
   EntryUpdated events from the previous turn.

3. Guard normal-completion Stopped against duplicate emission:
   When cancel() races with natural turn completion, both paths could
   emit Stopped. The duplicate triggers the stale-detection fallback
   which reads the global map (now pointing to the next turn's
   request_id), sending a premature message_completed that shifts all
   subsequent responses by one. Added stopped_emitted_for_task check
   to the normal completion path, matching the existing guard on the
   cancelled path. Documented as Critical Fix zed-industries#9 in portingguide.md.

E2E tests pass for both zed-agent and claude (all 10 phases).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
KlausUllrich added a commit to KlausUllrich/zed that referenced this pull request May 11, 2026
…p + refresh call-site tracers

Three new cfg-gated log emits under texture-cache-debug feature, all in
crates/gpui/src/window.rs:

- entity_taffy_input (Tracer A, primary): per-entity style+children hash
  on every Window::request_layout call; tracks frame-to-frame stability
  to inform zed-industries#1 Path B viability + zed-industries#7 Taffy memoization hit rate. Hashes
  via seahash (already a workspace dep) over Debug repr (Style has no
  Hash derive). Per-EntityId keying — last-wins intra-frame semantics;
  cross-frame aggregation gives the useful signal.

- ancestor_walk_step (Tracer B): per-iteration log inside mark_view_dirty's
  view_path_reversed walk; captures leaf id + step + walking ancestor +
  already_dirty bool. Tells us how many ancestors are spurious vs
  necessary. Inputs zed-industries#9 walk-skip viability decision.

- window_refresh_called (Tracer C): logs every Window::refresh() call site
  via #[track_caller] + Location::caller(). #[track_caller] is unconditional
  (matches existing pattern in same file); emit cfg-gated. Counts which of
  the 12 div.rs refresh sites duo identified actually fire under real
  workloads. Inputs zed-industries#6 P5.2.8 extend viability.

Hot-path overhead estimated 3-5% FPS measurement skew during smoke;
acceptable trade-off for the empirical attribution. Zero release-build
cost (cfg-gated).

Refs: S538 synthesis §"Bundled Logging Proposal"; bolt S538 Hop 2 Step 1
implementation brief.
Sipaha added a commit to Sipaha/spk-editor that referenced this pull request May 19, 2026
Adds Option<DateTime<Utc>> status_started_at to acp_thread::ToolCall,
plumbs it through solution_agent MCP tool-call summary wire payload,
renders an 'Xs' badge in conversation_render next to the InProgress
status text, and adds a 1s tick on session_view while any visible
tool is InProgress (mirrors the existing thinking_tick pattern in
status_row). Mobile (task zed-industries#9) consumes the new wire field once that
repo is unblocked.

Touches an untouched-upstream file (acp_thread/src/acp_thread.rs) —
additive field + init only, per ADR-0001's escape valve.
MartinYe1234 pushed a commit that referenced this pull request May 19, 2026
Follow-ups from code review on #skills-announcement. Items #5 (the
doc-comment removal was intentional), #7 (illustration skill names), and
#9 (the TODO on the version match) are intentionally left as-is per
discussion.

### Changes

**`Try Now` no longer un-focuses an already-focused agent panel.**
`ToggleFocus` dispatches `workspace.toggle_panel_focus` which un-focuses
when already focused. Swapped for `FocusAgent`, which calls
`focus_panel` unconditionally.

**Migration bullet is omitted for users who never had Rules.** The
deleted `RulesToSkillsModal` had two flavors (generic intro vs migration
summary) gated on `MigrationResult::is_empty()`. The toast now reads
`migration_result()` and only includes the "Default Rules are converted
into your global AGENTS.md\u2026" bullet when the migration actually
moved something. New users (and existing users without Rules) see a
cleaner two-bullet message that doesn't reference rules they don't have.

**Telemetry events prefixed with `Skills`.** Previously `Announcement
Main Click` etc., which would collide with the past parallel-agent
announcement data and any future announcement reusing this code path.
Now `Skills Announcement Main Click` / `Skills Announcement Secondary
Click` / `Skills Announcement Dismiss`.

**Dropped `Option<SharedString>` around `secondary_action_label`.** The
underlying `AnnouncementToast` field is a plain `SharedString` with a
default of `"Learn More"`, so `None` didn't actually hide the button
\u2014 it just kept the default label. Made the field a plain
`SharedString` to match.

**Renamed dismiss key** from
`skills_migration_announcement_banner_dismissed_at` to
`skills_announcement_dismissed`. "banner" was leftover from when this
was a title-bar banner; `_at` suggested a timestamp value but it's a
bool. Safe to rename because this PR hasn't shipped yet.

**Refreshed stale doc comments** in
`prompt_store/src/rules_to_skills_migration.rs` that still referenced
the deleted modal and title-bar banner.

### Files

- `crates/auto_update_ui/Cargo.toml` \u2014 add `prompt_store` dep
- `crates/auto_update_ui/src/auto_update_ui.rs` \u2014 all the
toast-side changes above
- `crates/prompt_store/src/rules_to_skills_migration.rs` \u2014
doc-comment refresh only, no behavior change
- `Cargo.lock` \u2014 `prompt_store` added to `auto_update_ui`'s deps

`cargo check -p auto_update_ui` is clean.

Release Notes:

- N/A
hdmjack added a commit to hdmjack/zed that referenced this pull request Jul 3, 2026
…lding

Remove the #![allow(dead_code)] that masked ahead-of-time scaffolding, and
delete what was actually unused now that the feature is wired:

- Provider trait: name, request_reviewers, fetch_checks, fetch_mergeable,
  fetch_labels, apply_suggestion, and merge_pull_request (plus MergeMethod)
  — superseded by fetch_pull_request_status or not yet used.
- Types: CheckStatus, CheckRun; slim PullRequestDetails to just `info`
  (the only field consumed); drop PullRequestInfo.description/state,
  PullRequestState::Merged, and FileChangeStatus::Renamed's unread `from`
  (and the previous_filename plumbing).
- Mappers/fields: map_pr_state, map_graphql_state, and the unused `state`
  fields on the REST/GraphQL PR structs.
- review_panel: ActiveView::{Empty,Configuration}, PendingAction::OpenLocal
  + open_local_file_by_path, and RowKind::Comment's unread `path`.

Merge and configuration scaffolding will be re-added when those features
land (zed-industries#5, zed-industries#9).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
LoneBeast27 added a commit to LoneBeast27/zed that referenced this pull request Jul 10, 2026
…ave arm, multi-conv momentum cap, wrong-conv wave spawns

zed-industries#2 unquote slices only after confirming ASCII quote bytes -- a multi-byte first/last char (the em-dashes the writer fix now emits) panicked the indexer; surrogate pairs decode (zed-industries#6). zed-industries#1 orchestrator_target grows the missing "wave" arm (the native dispatch path was dead code; the bridge WAVE_RE fallback masked it). zed-industries#3 momentum_only_since moves onto ConvSim -- the Sim-level timer was reset every frame by any cold sibling conv, disabling the limit-cycle cap on multi-conversation boards. zed-industries#4+zed-industries#7+zed-industries#8 /wave + Run-wave: strict arg parse (bare vendor word refuses instead of spawning everything), in-flight guards, plan_conv (never the most-recent-conv fallback -- real spend on the wrong plan), refusals render verbatim (composer note + under-score line). zed-industries#9 project spokes prefer type:project docs over the generic first-wins resolve. 788 green single-threaded.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
LoneBeast27 added a commit to LoneBeast27/zed that referenced this pull request Jul 10, 2026
…mmands fetch + execute w/ honest 404/405/501 rendering (parity gap zed-industries#9)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jolutz pushed a commit to jolutz/zed that referenced this pull request Aug 8, 2026
Copy element debug JSON to the clipboard on cmd-alt-i
audivir added a commit to audivir/zed that referenced this pull request Aug 10, 2026
…font scans

Closes out High zed-industries#9 and Medium zed-industries#15 from BUG_REPORT.md:

- resolve_project (walks parent directories checking typst.toml/main.typ -
  real filesystem I/O) ran synchronously in schedule_typst_update's
  foreground view.update closure on every debounced edit. It's now a plain
  (project_resolution: bool, active_path: &Path) function with no view
  dependency, called from the existing cx.background_executor() block
  instead; needs_new_world/world_arc selection moved there too since it
  depends on the resolved root. Covered by four new tests in
  typst_preview_view.rs exercising resolve_project directly.
- TypstSystemWorld::new re-scanned every system font and re-parsed every
  bundled asset font on every project-root switch, even though neither
  depends on the root. Bundled + system fonts are now scanned once per
  process into a cached static_fonts() OnceLock<(FontBook, Vec<FontSlot>)>
  (FontSlot is now Clone); new() clones that and layers a fresh, root-scoped
  load_fonts_dir(&root) scan on top. Covered by two new tests in
  typst_world.rs.

Also investigated the "path-normalization mismatch on symlinked roots" Low
finding: traced worktree::LocalFile::abs_path to confirm Zed deliberately
never canonicalizes worktree roots anywhere, so the mismatch this described
is only reachable across multiple worktrees with divergent symlink paths to
the same file - narrower than originally flagged, and fixing it locally
would cut against that codebase-wide convention. Left open, documented in
BUG_REPORT.md with the concrete reproduction condition instead of a fix.

BUG_REPORT.md and TEST_PLAN.md updated to reflect what's fixed/tested now.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
audivir added a commit to audivir/zed that referenced this pull request Aug 10, 2026
…font scans

Closes out High zed-industries#9 and Medium zed-industries#15 from BUG_REPORT.md:

- resolve_project (walks parent directories checking typst.toml/main.typ -
  real filesystem I/O) ran synchronously in schedule_typst_update's
  foreground view.update closure on every debounced edit. It's now a plain
  (project_resolution: bool, active_path: &Path) function with no view
  dependency, called from the existing cx.background_executor() block
  instead; needs_new_world/world_arc selection moved there too since it
  depends on the resolved root. Covered by four new tests in
  typst_preview_view.rs exercising resolve_project directly.
- TypstSystemWorld::new re-scanned every system font and re-parsed every
  bundled asset font on every project-root switch, even though neither
  depends on the root. Bundled + system fonts are now scanned once per
  process into a cached static_fonts() OnceLock<(FontBook, Vec<FontSlot>)>
  (FontSlot is now Clone); new() clones that and layers a fresh, root-scoped
  load_fonts_dir(&root) scan on top. Covered by two new tests in
  typst_world.rs.

Also investigated the "path-normalization mismatch on symlinked roots" Low
finding: traced worktree::LocalFile::abs_path to confirm Zed deliberately
never canonicalizes worktree roots anywhere, so the mismatch this described
is only reachable across multiple worktrees with divergent symlink paths to
the same file - narrower than originally flagged, and fixing it locally
would cut against that codebase-wide convention. Left open, documented in
BUG_REPORT.md with the concrete reproduction condition instead of a fix.

BUG_REPORT.md and TEST_PLAN.md updated to reflect what's fixed/tested now.
Bombfuse pushed a commit to gemdropgames/zed that referenced this pull request Aug 10, 2026
Conditional GGO_EMD hint (lookup failures only, not CLI drift), now that
worldlib's Missing text is host-neutral (ggo zed-industries#86). MIGRATION re-tally:
seven rows moved, 44/34/15/11. UPSTREAM: F5.3 measurements + drill zed-industries#9.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant