488 Commits

Author SHA1 Message Date
Ali 0e2d29aace fix(access): migrate missing CE access code to react [r8s-1261] (#3516) 2026-08-21 14:34:17 +12:00
Steven Kang f8a15a2f4d feat(addons): pick the add-on chart and image from a registry [R8S-1211] (#3432) 2026-08-17 16:36:36 +12:00
Chaim Lev-Ari 4097b69bcf feat(gitops/workflows): add the edit workflow wizard [BE-13183] (#3300)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: andres-portainer <91705312+andres-portainer@users.noreply.github.com>
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
2026-08-07 18:23:47 +02:00
Chaim Lev-Ari df4c700667 feat(tests): enforce no unexpected console output in unit tests [BE-13230] (#3097)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-05 10:50:18 +03:00
Chaim Lev-Ari 3857ba5157 fix(workflows): fix clipped registry dropdowns in create-workflow wizard [BE-13277] (#3322) 2026-07-28 10:44:57 -03:00
Chaim Lev-Ari 991ea2992d fix(ui/filepicker): scroll full match list in dropdown [BE-13263] (#3284) 2026-07-27 08:19:02 +03:00
LP B b7d4cfbd09 feat(app/workflows): create workflow wizard (#3159)
Co-authored-by: Chaim Lev-Ari <chaim.lev-ari@portainer.io>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 16:04:36 +03:00
nickl-portainer 6637388d67 fix(alerting): DetailsRow trying to use ReactNode for data-cy [R8S-1120] (#3199) 2026-07-23 14:36:00 +12:00
Chaim Lev-Ari 2deb46c0e0 refactor(datatables): persist auto refresh rate in ms [BE-13204] (#3193)
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-22 17:34:50 +03:00
Oscar Zhou de9dc63e85 fix(stack/k8s): deploying manifest with inline namespace fails silently [BE-13174] (#3135) 2026-07-22 17:18:07 +12:00
bernard-portainer 2b7b8b492e refactor(charts): migrate to rechart charts in UI [C9S-271] (#2990) 2026-07-20 10:36:44 +12:00
Chaim Lev-Ari 61e742a66a refactor(gitops): make workflow detach EE-only [BE-13220] (#3195)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 10:04:19 +03:00
Ali 4d49bad2a0 feat(addons): addons detail view [r8s-1139] (#3202) 2026-07-17 15:08:08 +12:00
RHCowan a930856937 feat(addons): scaffold detail view and install wizard [R8S-1141] (#3138) 2026-07-13 15:36:47 +12:00
Chaim Lev-Ari 7bce72d7d5 test(docker/networks): add e2e tests [BE-6563] (#3154) 2026-07-12 12:59:20 +03:00
Chaim Lev-Ari aee2df623a refactor(card): migrate @@/Card usages to Card primitive [DEV-63] (#2614)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-12 11:18:54 +03:00
Chaim Lev-Ari 7f40b5dd10 feat(gitops): introduce basic workflow details view [BE-13132] (#3110) 2026-07-09 12:13:40 -03:00
nickl-portainer b44b5b528e feat(addons): add Addon switcher [R8S-1088] (#3061) 2026-07-03 13:57:18 +12:00
Oscar Zhou e6394102a2 fix(ui): light background in dark mode for workflow paging dropdown [BE-12920] (#3047) 2026-06-30 08:58:41 +12:00
bernard-portainer 5395dee4c6 feat(gpu-stats): add gpu stats to environments [C9S-200] (#2735) 2026-06-22 09:21:43 +12:00
Ali cd9bb18ba1 feat(policies): reuse filter status component, give consistent styles [c9s-210] (#2723) 2026-06-16 15:58:33 +12:00
Ali 391eb22d98 fix(ui): ui consistency and bug fixes [r8s-1061] (#2880) 2026-06-12 11:49:45 +12:00
nickl-portainer 96d694b66b fix(storybook): add row id for example data for datatable story [R8S-1062] (#2856) 2026-06-11 09:10:29 +12:00
LP B 0c2f07988a feat(app/sources): source create view (#2680)
Co-authored-by: Chaim Lev-Ari <chaim.lev-ari@portainer.io>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 21:34:46 +03:00
Ali d7a1d34be7 feat(policies): docker cleanup policy [c9s-87] (#2681) 2026-06-10 16:17:23 +12:00
nickl-portainer 6a465637d4 feat(components): add new FilePicker component [R8S-1050] (#2754) 2026-06-10 10:34:14 +12:00
bernard-portainer c9e1467244 fix(stats-items): ensure stats items have consistent widths [C92-215] (#2844) 2026-06-09 16:53:17 +12:00
Chaim Lev-Ari 63eb96859d fix(endpoints): parse endpoint on GET [BE-13049] (#2824) 2026-06-08 16:59:09 +03:00
Chaim Lev-Ari 7e5e71ae67 chore(deps): bump patch/minor frontend dependencies [BE-13004] (#2808)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 15:45:58 +03:00
Ali 0143393a8c chore(policies): use generic policy reconcile system so more than helm can be used [c9s-88] (#2613) 2026-06-05 07:47:25 +12:00
Chaim Lev-Ari bc81eb7a22 feat(sources): allow user to edit source [BE-12956] (#2748) 2026-06-03 12:52:41 +03:00
Steven Kang b233453cf7 feat(kubernetes): display cached images per node [R8S-898] (#2068) 2026-06-03 10:40:14 +12:00
Josiah Clumont ba91b41d36 fix(table): restore horizontal margins on table views [C9S-227] (#2785) 2026-06-03 08:14:30 +12:00
Josiah Clumont 484af3c2c8 feat(environment group) detail view update v1 [c9s-206] (#2722)
Last system-test failure is also on dev
2026-06-02 16:59:18 +12:00
Chaim Lev-Ari 67590aa27d feat(api): auto generate typescript definition from api docs [BE-9222] (#2468) 2026-05-31 14:51:52 +03:00
Josiah Clumont 98b1d7f585 feat(environment-groups): replace Datatable with SortableList and update list UI [R8S-827] (#2661) 2026-05-29 10:08:35 +12:00
Steven Kang 5b9976433f feat(k8s): Refactor Volumes page (#2510)
Co-authored-by: Nicholas Loomans <nicholas.loomans@portainer.io>
Co-authored-by: Robbie Cowan <robert.cowan@portainer.io>
Co-authored-by: RHCowan <50324595+RHCowan@users.noreply.github.com>
2026-05-19 10:39:24 +12:00
Chaim Lev-Ari ca5f695459 feat(gitops): introduce sources details view [BE-12911] (#2627)
Co-authored-by: andres-portainer <91705312+andres-portainer@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 18:01:36 -03:00
Steven Kang 8cdc2f49d8 feat(kube): backend handlers for pod delete, pod restart, and capabil… (#2491)
Co-authored-by: Nicholas Loomans <nicholas.loomans@portainer.io>
2026-05-18 19:59:01 +12:00
bernard-portainer 29db3df98d fix(url-state) sync state of list between URL and local storage [C9S-191] (#2647) 2026-05-18 16:51:49 +12:00
Chaim Lev-Ari 7e80d88bce feat(ui): add theme selector to user menu [BE-12961] (#2625)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:50:51 +03:00
Chaim Lev-Ari dd68560ad0 chore(deps): upgrade prettier (#2592)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 16:39:58 +03:00
Chaim Lev-Ari d9a415f011 feat(gitops): introduce sources list view [BE-12902] (#2550) 2026-05-12 15:32:46 +03:00
Ali edff47fd41 feat(environments): offer edge connectivity test before adding edge environments [c9s-149] (#2527) 2026-05-12 16:25:39 +12:00
Josiah Clumont 872b824dc6 feat(design-system): introduce ResourceDetailHeader [BE-12848] (#2536)
Ignored some flaky tests
2026-05-12 10:23:58 +12:00
Chaim Lev-Ari c0ac6c56ac feat(ui): introduce design system primitives [DEV-52] (#2535) 2026-05-11 08:45:59 +03:00
Josiah Clumont 8d098a2bb9 style(dropdown-menu): fix count badge alignment and uniform width [C9S-116] (#2605) 2026-05-11 12:51:18 +12:00
Josiah Clumont 899e4b6f67 refactor(dropdown-menu): update styling to align with designs [C9S-116] (#2596) 2026-05-11 10:25:15 +12:00
Chaim Lev-Ari 8885038b7e refactor(settings/auth): migrate admin group section to react [BE-12592] (#2472) 2026-05-08 10:51:12 +03:00
bernard-portainer 76f525fd38 refactor(home): refactor Environment List to use SortableList component [C9S-131] (#2522)
- Migrate `EnvironmentList` from `GroupSortTable` to `SortableList`, removing ~1,700 lines of duplicated component code
- Move health sort ranking to the backend (`sort.go`), adding `Health` and `Id` sort keys
- Delete `GroupSortTable`, `GroupSortTableGroupRow`, `useGroupSortTableState`, and `store` — functionality absorbed by `SortableList`
- Add `useHomeViewState` hook to centralise home view URL state (`groupBy`, `groupFilter`, `order`, `page`, `search`)
- Update `useTableStateFromUrl` to support `groupBy` and `groupFilter` URL params with a `buildExtra` callback
- Rename URL param `filter` → `groupFilter` for clarity; add `search` and `order` to `/home` route definition
- Simplify `EnvironmentList` props — remove `headerFilter` / `onHeaderFilterChange`, leaving only `onClickBrowse`
- Add `computeSortDesc` pure utility to `SortableList` and cover all toggle/reset cases with unit tests
- Update `SortableListHeader` to use `activeKey` prop (renamed from `sortBy`); fix all callsites and stories
- Fix `SortableList` sort-key normalisation to be case-insensitive; update tests to reflect no-match behaviour
2026-05-08 16:55:40 +12:00