Skip to content

refactor!: port vue-portal to teleport or extension system#2015

Merged
JammingBen merged 2 commits intomainfrom
refactor/remove-portal-vue
Mar 3, 2026
Merged

refactor!: port vue-portal to teleport or extension system#2015
JammingBen merged 2 commits intomainfrom
refactor/remove-portal-vue

Conversation

@JammingBen
Copy link
Member

@JammingBen JammingBen commented Feb 20, 2026

Breaking changes for portal und portal-target usages

  • Global $wormhole on vue instance has been removed
  • PortalTarget component has been removed
  • app.files.sidebar.file.details.table portal target has been removed. Register an extension on the app.files.sidebar.file-details.table extension point instead.
  • app.files.sidebar.space.details.table portal target has been removed. Register an extension to the app.files.sidebar.space-details.table extension point instead.
  • app.files.sidebar.sharing.shared-with.top portal target has been removed. Register an extension on the app.files.sidebar.shares-panel.shared-with.top extension point instead.
  • app.files.sidebar.sharing.shared-with.bottom portal target has been removed. Register an extension on the app.files.sidebar.shares-panel.shared-with.bottom extension point instead.
  • app.runtime.header.left portal target has been removed. Register an extension on the app.runtime.header.left extension point instead.
  • app.runtime.header.right portal target has been removed. Register an extension on the app.runtime.header.right extension point instead.

Portals intended for internal use (e.g. the bottom drawer), I didn't replace with new extension points but with teleports. Also, extensions of type CustomComponentExtension can now have properties via the new componentProps property.

closes #1936

@JammingBen JammingBen self-assigned this Feb 20, 2026
@JammingBen JammingBen added Type:Maintenance E.g. technical debt, packaging, etc. Type:Breaking-Change labels Feb 20, 2026
@JammingBen JammingBen force-pushed the refactor/remove-portal-vue branch from af8ab7f to 617f6e9 Compare February 20, 2026 11:35
@JammingBen JammingBen marked this pull request as ready for review February 20, 2026 12:05
Copy link
Member

@AlexAndBear AlexAndBear left a comment

Choose a reason for hiding this comment

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

Works just fine 👍

needs rebase

@JammingBen JammingBen force-pushed the refactor/remove-portal-vue branch from 617f6e9 to ad4c329 Compare March 3, 2026 13:15
@JammingBen JammingBen force-pushed the refactor/remove-portal-vue branch from ad4c329 to 764d0f1 Compare March 3, 2026 13:29
Sets the initial state of the app FAB to disabled to avoid unnecessary flicker.

export const createNewFileOrFolder = async (args: createResourceArgs): Promise<void> => {
const { page, name, type, content } = args
await page.locator(addNewResourceButton).waitFor({ state: 'visible' })
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be better to use expect(page.locator(addNewResourceButton)).toBeVisible()

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for the hint, I'll do this in #1998 because I need to rebase it anyways and then we can merge this now to unblock other PRs.

@JammingBen JammingBen merged commit e9c1ce8 into main Mar 3, 2026
28 checks passed
@JammingBen JammingBen deleted the refactor/remove-portal-vue branch March 3, 2026 15:09
openclouders pushed a commit that referenced this pull request Mar 3, 2026
refactor!: port vue-portal to teleport or extension system
@openclouders openclouders mentioned this pull request Mar 3, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type:Breaking-Change Type:Maintenance E.g. technical debt, packaging, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace portal-vue plugin with built-in teleport

3 participants