12 Commits

Author SHA1 Message Date
Eva Marco
5dbf0731e5
♻️ Use DS buttons and icons in the plugins dialogs (#12470)
* ♻️ Use DS buttons and icons in the plugins dialogs

The plugins manager and the permissions, permissions update and try-out
dialogs used raw buttons, input elements styled as buttons and
deprecated icons. Replace them with the DS components:

- The four close buttons become ghost icon buttons labeled "Close", shown
  in their DS tooltip. The class that places them in the corner goes on
  the tooltip wrapper, so the tooltip anchors to the button.
- Install, and the cancel and accept buttons of the three dialogs, become
  DS primary and secondary buttons.
- The empty list puzzle and the external link icons use the DS icon.

The permission icons (oauth-*) stay: they are brand art.

Add a visual test with fixtures for a team with the plugins feature and
a profile with one installed plugin. It shows the empty manager, the
manager with a plugin and the permissions dialog.

AI-assisted-by: claude-opus-5-5

* ♻️ Move plugins dialog styles off the deprecated styles

Remove the styles the DS buttons and icons no longer need (close-icon,
primary-button, cancel-button, search-icon and the svg rules of the
migrated icons) and move the rest of plugins.scss to DS tokens, DS
typographies and logical properties.

- The close button wrapper keeps only its position; the deprecated
  tertiary button style was landing on the tooltip wrapper.
- The full-width cancel and accept buttons center their label again: the
  DS button does not center it when it grows.
- The external link icon gets a class instead of an svg rule.
- The deprecated body-small used line-height 1.4 and the DS one 1.3, so
  the permissions dialog is a few pixels shorter.

The refactor import stays for the modal placeholders until the modals
move to the DS modal.

AI-assisted-by: claude-opus-5-5
2026-10-21 13:11:04 +02:00
Eva Marco
5de06e8f77
🎉 Add customizable shortcuts (#10237)
Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
2026-07-24 10:36:32 +02:00
Alejandro Alonso
88f2366c6f
🎉 Enable render switch and wasm info by default and simplify feature helpers to use pre-computed features set (#9942)
The setup-wasm-features function is the single source of truth for
    resolving the renderer choice (URL param > profile preference > team
    flags), storing the result in state[:features]. Several helpers were
    re-deriving the same priority chain independently, duplicating logic:

    - wasm-enabled?, wasm-url-override, wasm-url-override-ref
    - enabled-by-flags?, enabled-without-migration?

    This change removes all duplicated helpers and simplifies the
    remaining functions to rely exclusively on the pre-computed
    :features set:

    - active-feature? — now just checks (contains? (:features state)
      feature) without special-casing render-wasm/v1
    - use-feature — uses the reactive features-ref for all features
    - initialize/recompute-features effects — use the local features
      binding directly

    Since :features is rebuilt by setup-wasm-features on every
    initialization and recompute, this preserves correctness while
    eliminating ~50 lines of duplicated code.
2026-06-01 12:52:34 +02:00
Belén Albeza
4d05827fa9 🔧 Use disable-onboarding config flag instead of mocking get-profile in playwright 2026-02-19 09:56:27 +01:00
Alejandro
6b26adb187
🐛 Fix team doesn't disappear after deletion (#5832) 2025-02-12 14:36:46 +01:00
Andrey Antukh
c6cdeea636 Merge remote-tracking branch 'origin/staging' into develop 2024-12-09 12:26:23 +01:00
Eva Marco
bf40cd98e8 🐛 Fix admin can demote owner 2024-12-05 09:27:32 +01:00
Pablo Alba
3a7d187110 ✨ Add integration tests to viewer role 2024-11-19 16:38:21 +01:00
Eva Marco
4e770fd326 ✨ Add visual testing to dashboard 2024-06-18 10:31:39 +02:00
Eva Marco
d341cef406 ✨ Add basic dashboard pom and test 2024-05-10 12:53:26 +02:00
AzazelN28
30321e54f0 📎 Add WebSocket mock 2024-05-07 11:59:33 +02:00
Eva Marco
832c1db63b ✨ Add login page as Page Object Model 2024-05-07 10:28:17 +02:00