Skip to content

Improve extensions catalog - Organize data into a table - #931

Merged
gabriela-almeida-ctw merged 25 commits into
developfrom
feature/improve-extensions-catalog
Feb 23, 2026
Merged

gabriela-almeida-ctw merged 25 commits into
developfrom
feature/improve-extensions-catalog

Conversation

@gabriela-almeida-ctw

@gabriela-almeida-ctw gabriela-almeida-ctw commented Feb 13, 2026 •

Copy link
Copy Markdown
Contributor

User-Facing Changes

Description

  • User can now view and manage extensions into a table format.
  • Users can reorder extensions based on column values
  • User can perform Uninstall in bulk
Screen.Recording.2026-02-19.at.11.24.29.mov

Checklist

  • The web version was tested and it is running ok
  • The desktop version was tested and it is running ok
  • This change is covered by unit tests
  • Files constants.ts, types.ts and *.style.ts have been checked and relevant code snippets have been relocated

@gabriela-almeida-ctw
gabriela-almeida-ctw marked this pull request as ready for review February 19, 2026 11:37

@rodrigo-p-rodrigues rodrigo-p-rodrigues left a comment •

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.

Well done :)

I think adding style={{ scrollbarGutter: "stable" }} to AppSettingsDialog.tsx would also make for a better UX:

<Stack direction="row" fullHeight overflowY="auto" style={{ scrollbarGutter: "stable" }}>

Prevents this:
https://github.com/user-attachments/assets/6e5e50c7-fc28-4f18-89f1-1a78545d2fda
Caused by the list moving when no scrollbar is present.

@sonarqubecloud

Copy link
Copy Markdown

@gabriela-almeida-ctw
gabriela-almeida-ctw merged commit e809aac into develop Feb 23, 2026
18 of 19 checks passed
@gabriela-almeida-ctw
gabriela-almeida-ctw deleted the feature/improve-extensions-catalog branch February 23, 2026 11:12
@luluiz luluiz mentioned this pull request Apr 24, 2026
luluiz added a commit that referenced this pull request Apr 27, 2026
## Release v1.15.0

This release includes **142 commits** since v1.24.3 (based on
`develop`), spanning new features, bug fixes, performance improvements,
dependency updates, and infrastructure changes across **194 files**.

---

### ✨ Features

- **Message navigation** — Navigate between messages directly (#884)
- **3D Tooltip metadata** — Show metadata in 3D view tooltips (#933)
- **Screen space panning** — Add screen space panning option in 3D
(#847)
- **Plot subscribeMessageRange** — Plot panel now uses
`subscribeMessageRange` for improved data handling (#1004)
- **State Transitions subscribeMessageRange** — State Transitions panel
uses `useSubscribeMessageRange` (#1037)
- **Latest-per-render-tick sampling** — Add sampling strategy for render
ticks (#932)
- **Clear alerts on player change** — Alerts are cleared when switching
players (#1016)
- **Select organization layout as default** — Allow selecting org layout
as default (#860)
- **Re-order series** — Allow re-ordering series in Plot and State
Transitions panels (#907, #930)
- **Extensions catalog improvements** — Organize catalog data into a
table with size info (#931, #942)
- **Add changelog/readme to Extensions API body** (#1031)
- **Only track selected panel settings** (#991)
- **Deprecate blockLoader in 3D Panel** (#909)
- **Multiple MCAPs in file picker** — E2E test for multi-MCAP file
picker (#868)

### 🐛 Bug Fixes

- Fix layout revert not working in some cases (#997)
- Fix layout change calculation (#1018)
- Fix layout selection logic (#899)
- Fix extension catalog refresh (#980)
- Fix installing remote extension not updating list (#994)
- Fix extension version check before loading from cache (#975)
- Fix uninstalling extensions from different loaders (#953)
- Fix network problems loading multiple remote MCAP files (#961)
- Optimize multi-MCAP remote loading with lazy sequential iteration
(#963)
- Fix alert spam for high message frequency on WebSocket (#962)
- Fix data lines and label overlap on State Transitions panel (#981,
#985)
- Fix editable element detection in KeyListener (#990)
- Allow `sec.nanosec` format in URL (#939)
- Allow message converter alerts and handle converter exceptions safely
(#943)
- Force converter to be called when changing settings (#952)
- Fix documentation links (#995)

### 🔧 Refactoring & Code Quality

- Migrate ESLint to 9.x (#1038)
- Sonar issue fixes: Promises misuse (#989), sort compare function
(#988), general fixes
- Rename variables for clarity, remove unused imports
- Add alert handling for messages on unsubscribed topics
- Update field and node editor styles (#978)
- Improve Plot Panel tests (#1020)
- Add unit tests for CameraStateSettings (#937)

### 🏗️ Infrastructure & CI

- Update Node.js version to 24 on jobs and runners (#1054)
- Allow release triggering only from release and hotfix branches (#835)
- Allow manual triggering of SonarCloud workflow (#1009)
- Fix SonarCloud trigger after release (#1011)
- Bump GitHub Actions: upload-pages-artifact, configure-pages,
deploy-pages, download-artifact, upload-artifact, stale, and more
- New E2E tests (#1055, #1058)

### 📦 Dependency Updates

- Bump `@mcap/core` from 2.1.6 to 2.2.0
- Bump `lodash` from 4.17.23 to 4.18.1
- Bump `follow-redirects` from 1.15.11 to 1.16.0
- Bump `@xmldom/xmldom` from 0.8.12 to 0.9.9
- Bump `@mui/icons-material` from 5.15.5 to 7.3.8
- Bump `notistack` from 3.0.1 to 3.0.2
- Update `rosbag2-web`, `copy-webpack-plugin`, `serve-handler`,
`foxglove-schemas`
- Multiple security fixes: `tar`, `dompurify`, `svgo`, `bn.js`,
`picomatch`, `yaml`
- Various npm_and_yarn group bumps across multiple directories

---------

Signed-off-by: Bezerra Luiz, (Luiz.Bezerra@ctw.bmwgroup.com) <luiz.bezerra+QCOM@ctw.bmwgroup.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: ctw-joao-luis <Joao.Luis@ctw.bmwgroup.com>
Signed-off-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Signed-off-by: Taeseung Sohn <paulsohnjp@gmail.com>
Signed-off-by: Gabriela Almeida <gabriela.almeida@criticaltechworks.com>
Signed-off-by: Bezerra Luiz, (Luiz.Bezerra@ctw.bmwgroup.com) <198787532+luiz-bezerra-ctw-bmwgroup-com_QCOM@users.noreply.github.com>
Signed-off-by: joao-oliveira-ctw <joao.alves.oliveira@criticaltechworks.com>
Signed-off-by: Bezerra Luiz, (Luiz.Bezerra@ctw.bmwgroup.com) <luiz.bezerra@ctw.bmwgroup.com>
Co-authored-by: ctw-joao-luis <Joao.Luis@ctw.bmwgroup.com>
Co-authored-by: Rodrigo CTW <rodrigo.PE.rodrigues@ctw.bmwgroup.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriela Almeida <gabriela.almeida@criticaltechworks.com>
Co-authored-by: Alexandre Neuwald CTW <Alexandre.Neuwald@ctw.bmwgroup.com>
Co-authored-by: Bezerra Luiz, (Luiz.Bezerra@ctw.bmwgroup.com) <luiz.bezerra+QCOM@ctw.bmwgroup.com>
Co-authored-by: Alexandre Neuwald <alexandre.neuwald@criticaltechworks.com>
Co-authored-by: Bruno Abreu <bmachadorj@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bezerra Luiz, (Luiz.Bezerra@ctw.bmwgroup.com) <198787532+luiz-bezerra-ctw-bmwgroup-com_QCOM@users.noreply.github.com>
Co-authored-by: Thomas Sedlmayer <tsedlmayer@pmsfit.de>
Co-authored-by: Taeseung Sohn <paulsohnjp@gmail.com>
Co-authored-by: Planck-Ho <wenloong.he@gmail.com>
Co-authored-by: lichtblick-bot <lichtblick@bmwgroup.com>
Co-authored-by: Joao Luis <joao.miguel.luis@criticaltechworks.com>
Co-authored-by: andremarques94 <90326088+andremarques94@users.noreply.github.com>
Co-authored-by: Taeseung Sohn <taeseung.sohn@tier4.jp>
Co-authored-by: joao-oliveira-ctw <joao.alves.oliveira@criticaltechworks.com>
Co-authored-by: cadkin <adkinscv@ornl.gov>
Co-authored-by: udovonbmw <udo.rietschel@bmw.de>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

3 participants