Feat/vue3/retire vue2 only deps - #13626
Open
GVodyanov wants to merge 8 commits into
Open
Conversation
The directive was registered globally in the entry point but never used in a template or stylesheet. @nextcloud/vue 9 removes its own tooltip directive anyway, so there is nothing to migrate to later. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
The isMobile mixin is deprecated and removed in @nextcloud/vue 9. Both read the same module-level ref, so this is behaviour-identical on 8.41. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
v9 drops emojiSearch and emojiAddRecent from the root barrel and only exposes them under functions/emoji, which already resolves in 8.41. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
@nextcloud/dialogs 7 drops the FilePickerVue export so the library can serve Vue 2 and Vue 3 apps alike; only the builder functions survive. Five components rendered the component behind a data flag — the plan lists four, Envelope.vue was missed. Four of them configure the same directory-only dialog, so that moves to a shared pickFolder() helper. ComposerAttachments keeps its own builder because it needs two buttons and has to know which one was pressed. Spawning the dialog on the body also fixes it outliving the NcActions popover it used to be rendered inside, which unmounts on click. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
vue-autosize is Vue-2-only with no successor, but v-autosize was registered globally and applied to nothing, so no replacement is needed. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
@riophae/vue-treeselect is Vue-2-only and unmaintained since 2020. The mailbox tree becomes a flat list whose options carry their depth, and the option slot indents by it, so nesting stays visible; the ~25 lines of CSS reaching into .vue-treeselect__* internals go away with it. The component keeps its value/input contract — moving it to modelValue is Vue 3's concern, not this wave's — so only the deep selector in ActionFileinto has to follow, from .vue-treeselect__control to .v-select. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
vue-tabs-component is Vue-2-only. NcTabs does not exist in the 8.x line and 8.41 is its last release, so the tabs become a segmented control — the same NcRadioGroup pattern the app settings dialog already uses. Panels stay mounted under v-show, matching what the tabs library did, and the manual-mode prefill becomes an immediate watcher because the library used to emit its changed event once on mount. Most of the diff is one tab level of re-indentation from dropping the Tabs wrapper; git diff -w shows the actual change. Assisted-by: ClaudeCode:claude-opus-5 Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
GVodyanov
marked this pull request as ready for review
September 3, 2026 09:26
GVodyanov
requested review from
ChristophWurst,
GretaD and
kesselb
as code owners
September 3, 2026 09:26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to A-2 of #13622
🤖 AI (if applicable)