Skip to content

refactor(core): move AppMenu component tree into core/src/appmenu/#60937

Draft
pringelmann wants to merge 5 commits into
masterfrom
feat/noid/appmenu-priority-loading
Draft

refactor(core): move AppMenu component tree into core/src/appmenu/#60937
pringelmann wants to merge 5 commits into
masterfrom
feat/noid/appmenu-priority-loading

Conversation

@pringelmann
Copy link
Copy Markdown
Contributor

@pringelmann pringelmann commented Jun 2, 2026

Summary

Moves AppMenu (the waffle) out of core-main into its own core-appmenu chunk with a small bootstrap, loaded as a normal deferred core script. Drops the old MainMenu.js mount since the component now owns its entry point.

This ensures the waffle menu appears at the start, allowing users to switch apps immediately.

Before:

waffle_before.mp4

After:

waffle_after.mp4

Nothing changes for users, the menu renders the same.

Changes

  • New core-appmenu webpack entry from core/src/appmenu/, pulled into core via addScript util.
  • New bootstrap mounts AppMenu on its own and replaces the setUp() call in init.js.
  • Removed core/src/components/MainMenu.js.

TODO

  • Recompile assets in a separate commit before merge

Checklist

  • Code is properly formatted
  • Sign-off message is added to all commits
  • Tests (unit, integration, api and/or acceptance) are included
  • Screenshots before/after for front-end changes (no visual change)
  • Documentation (manuals or wiki) has been updated or is not required
  • Backports requested where applicable (ex: critical bugfixes)
  • Labels added where applicable (ex: bug/enhancement, 3. to review, feature component)
  • Milestone added for target branch/version (ex: 35.x)

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Mounts the waffle launcher from its own entry point, independent of
core-main, and exposes OC.setNavigationCounter once mounted.

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
AppMenu is now mounted by its own bootstrap.

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Emit the AppMenu bootstrap as its own legacy entry point so it can be
loaded as a standalone core script.

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Register the core/appmenu entry in the user layout so the waffle
launcher mounts like every other core script.

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
@pringelmann pringelmann self-assigned this Jun 2, 2026
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.

1 participant