Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ For more information about each release including git tags and artifacts, see [R
- Per-action health metrics in the executor ([#191](https://github.com/roostorg/osprey/pull/191) by [@cmttt](https://github.com/cmttt))
- Option to suppress cached errors to reduce metric bloat ([#180](https://github.com/roostorg/osprey/pull/180) by [@lithium-powered](https://github.com/lithium-powered))
- Experimental asyncio-native worker with metrics and engine/coordinator improvements ([#341](https://github.com/roostorg/osprey/pull/341) by [@cmttt](https://github.com/cmttt))
- `osprey-stress` CLI: closed-loop stress harness that produces synthetic events at a configurable rate, observes their `ExecutionResult`s on the output topic, and reports drop rate and p50/p95/p99 latency, exiting non-zero on threshold breach so it can gate CI on pipeline health ([#367](https://github.com/roostorg/osprey/pull/367) by [@julietshen](https://github.com/julietshen), closes [#324](https://github.com/roostorg/osprey/issues/324))

### Changed

Expand All @@ -38,6 +39,7 @@ For more information about each release including git tags and artifacts, see [R
- Tolerate malformed URI escapes in `EntityWithPopover` UI component ([#377](https://github.com/roostorg/osprey/pull/377) by [@julietshen](https://github.com/julietshen))
- Add retention limits to Kafka topics to prevent unbounded disk growth ([#249](https://github.com/roostorg/osprey/pull/249) by [@VINODvoid](https://github.com/VINODvoid))
- Fix failed UDF query ([#233](https://github.com/roostorg/osprey/pull/233) by [@chimosky](https://github.com/chimosky))
- Force a visible scrollbar on the event-stream virtualized list, which was relying on the OS auto-hide default and was easy to miss ([#367](https://github.com/roostorg/osprey/pull/367) by [@julietshen](https://github.com/julietshen))

## [1.0.1] - 2026-02-27

Expand Down
28 changes: 28 additions & 0 deletions osprey_ui/src/components/event_stream/EventStream.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,34 @@
outline: none;
}

/* react-virtualized renders a scrolling div with class `ReactVirtualized__List`.
On macOS the default scrollbar auto-hides until you're actively scrolling,
which makes it hard to skim long result sets — flagged in PR #367. Force a
thin always-visible bar in the theme colors. */
.virtualizedList :global(.ReactVirtualized__List) {
scrollbar-width: thin;
scrollbar-color: var(--text-light-secondary) var(--background-secondary);
}

.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar {
width: 10px;
height: 10px;
}

.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar-track {
background: var(--background-secondary);
}

.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar-thumb {
background-color: var(--text-light-secondary);
border-radius: 5px;
border: 2px solid var(--background-secondary);
}

.virtualizedList :global(.ReactVirtualized__List)::-webkit-scrollbar-thumb:hover {
Comment on lines +25 to +45

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Stylelint currently rejects :global(...) selectors used in this block.

selector-pseudo-class-no-unknown is raised on each :global(...) selector here, so this likely fails CI unless stylelint is configured for CSS Modules syntax. Please add the appropriate stylelint config exception/plugin (preferred) or narrowly-scoped lint suppression with justification.

🧰 Tools
🪛 Stylelint (17.13.0)

[error] 25-25: Unknown pseudo-class selector ":global" (selector-pseudo-class-no-unknown)

(selector-pseudo-class-no-unknown)


[error] 30-30: Unknown pseudo-class selector ":global" (selector-pseudo-class-no-unknown)

(selector-pseudo-class-no-unknown)


[error] 35-35: Unknown pseudo-class selector ":global" (selector-pseudo-class-no-unknown)

(selector-pseudo-class-no-unknown)


[error] 39-39: Unknown pseudo-class selector ":global" (selector-pseudo-class-no-unknown)

(selector-pseudo-class-no-unknown)


[error] 45-45: Unknown pseudo-class selector ":global" (selector-pseudo-class-no-unknown)

(selector-pseudo-class-no-unknown)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@osprey_ui/src/components/event_stream/EventStream.module.css` around lines 25
- 45, The scrollbar styling block in EventStream.module.css uses CSS Modules
:global(...) selectors that Stylelint flags as unknown, so update the lint setup
to understand CSS Modules selectors for this file or add a narrowly scoped
suppression with justification. Use the virtualizedList and
ReactVirtualized__List selector block as the target when applying the fix, and
prefer a config/plugin change over silencing the rule globally.

Source: Linters/SAST tools

background-color: var(--text-light-primary);
}

.iconText {
margin-right: 8px;
}
Expand Down
1 change: 1 addition & 0 deletions osprey_worker/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ dependencies = [
]
[project.scripts]
osprey-cli = "osprey.worker.lib.cli:cli"
osprey-stress = "osprey.worker.stress.cli:main"

[project.entry-points."osprey_plugin"]
stdlib = "osprey.worker._stdlibplugin"
Expand Down
Loading
Loading