Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Conversation

@dinmukhamedm
Copy link
Member

@dinmukhamedm dinmukhamedm commented Dec 18, 2025

Note

Introduces a new trace viewing experience and infrastructure updates, plus dependency and docs refresh.

  • Frontend (Trace UI)

    • New Reader list view with virtualized spans, minimap support, and a view selector dropdown
    • Batched span output fetching: API route POST /api/projects/:projectId/traces/:traceId/spans/outputs with LRU cache, deep JSON parsing, and Quickwit-backed search URLs
    • Output rendering improvements: Markdown rendering, Mustache templates (with in-UI template editor), and list/minimap ordering/refactors
    • Misc: replace Timeline button with dropdown, routing tweaks (router.replace), and LLM/tool-call parsing improvements
  • App server (Rust)

    • Bump clickhouse to 0.14.1 and update inserts to typed insert::<T>(...) with await; disable client validation globally via .with_validation(false)
    • Bump moka to 0.12.11; unify thiserror dependency; minor parsing fix for AI SDK tool calls (args or input)
  • Docker Compose

    • Add quickwit service with health checks; ensure app-server and frontend depends_on Quickwit in all compose files
  • Docs

    • Refresh README: new URLs, positioning, and self-hosting guidance

Written by Cursor Bugbot for commit bdcb0d5. This will update automatically on new commits. Configure here.


Important

Update dependencies and Docker Compose configurations to include Quickwit service with health checks and ensure services wait for Quickwit to be healthy before starting.

  • Dependencies:
    • Bump clickhouse from 0.13.3 to 0.14.1 in Cargo.toml.
    • Bump moka from 0.12.10 to 0.12.11 in Cargo.toml.
    • Remove version specification for thiserror in Cargo.lock.
  • Docker Compose:
    • Add quickwit service with health checks in docker-compose-full.yml, docker-compose-local-build.yml, docker-compose-local-dev.yml, and docker-compose.yml.
    • Update depends_on to include quickwit with condition: service_healthy for app-server and frontend services in all Docker Compose files.
  • Code Changes:
    • Update insert function calls to use type annotations and await in browser_events.rs, datapoints.rs, evaluation_datapoint_outputs.rs, evaluation_datapoints.rs, evaluation_scores.rs, evaluator_scores.rs, events.rs, spans.rs, tags.rs, and traces.rs.

This description was created by Ellipsis for 381bdf7. You can customize this summary. It will automatically update as commits are pushed.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to 381bdf7 in 1 minute and 2 seconds. Click for details.
  • Reviewed 957 lines of code in 16 files
  • Skipped 0 files when reviewing.
  • Skipped posting 0 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.

Workflow ID: wflow_6551F1AfUoCDkk5R

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

olzhik11 and others added 2 commits December 18, 2025 16:54
* feat: new spans visualization WIP

* feat: small ui fixes

* feat: update shared trace

* feat: rename to reader

* tmp

* feat: move to sheet, deep parse json, fix comments

* feat: address comments, sort on realtime insert, trace id timerange conditions

* feat: adjust paddings on lists

* feat: default to null if absent

* feat: move button, full scroll

* feat: small ui fixes

* feat: fix layout

* feat: move file

* feat: rename hook to tsx
}
timer.current = setTimeout(scheduleFetch, debounceMs);
}
}, [visibleSpanIds, scheduleFetch, debounceMs]);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Missing timer cleanup on component unmount

The useEffect that sets timer.current via setTimeout does not return a cleanup function to clear the timer when the component unmounts or when dependencies change. This can cause the scheduleFetch callback to execute after unmount, leading to React warnings about setting state on an unmounted component and unnecessary network requests. The codebase has a proper pattern for this in copy-tooltip.tsx that returns () => clearTimeout(timeoutRef.current) from the effect.

Fix in Cursor Fix in Web

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@olzhik11 do you think that's true? If so, let's add a cleanup

* readme update

* typo
@skull8888888 skull8888888 merged commit aad80c6 into main Jan 6, 2026
4 checks passed
>
<ChartNoAxesGantt size={14} className="mr-1" />
<span>Timeline</span>
</Button>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shared trace view renders empty for unsupported persisted tabs

The tab state is now persisted to localStorage, but the shared trace view only renders content for tab === "tree" or tab === "timeline". If a user visits the main trace view and selects "reader", "chat", or "metadata" tab, that value gets persisted. When they later navigate to a shared/public trace, the persisted tab value is loaded but no content is rendered since the shared view doesn't handle those tab types. This results in an empty panel with no visible content.

Additional Locations (1)

Fix in Cursor Fix in Web

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.

4 participants