feat(ui): rebuild Linux Home with modular states and routing - #2247
Open
R-Gld wants to merge 13 commits into
Open
feat(ui): rebuild Linux Home with modular states and routing#2247R-Gld wants to merge 13 commits into
R-Gld wants to merge 13 commits into
Conversation
R-Gld
force-pushed
the
linux-v4/home-state-controller
branch
from
August 3, 2026 15:27
1c34dba to
44fdbaf
Compare
…cing, and up-to-date statuses
R-Gld
force-pushed
the
linux-v4/home-screen
branch
from
August 3, 2026 15:30
ac73deb to
d26c293
Compare
|
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.

ℹ️ Description en français
Résumé
Cette PR remplace le
HomePlaceholderstatique du client Linux v4 par un écran Home modulaire piloté par état, et introduit la logique de routage qui décide quand afficher l'onboarding, la Home non configurée ou la Home configurée.Changements
mainwindowactivationdecision.*: fonction pure qui choisit la route d'activation de la fenêtre principale (Onboarding,SetupHome,ConfiguredHome) sans posséder d'état de fenêtre ou d'onboarding.AppClientLinuxutilise cette décision au démarrage et réagit désormais à l'annulation de l'onboarding et à la suppression de la dernière synchronisation configurée pour rebasculer vers la Home non configurée (handleConfiguredSyncsChanged,openOnboardingFromHome).OnboardingSessionManagerexposecancelActiveSession()et le nouveau signalonboardingCancelledpour permettre l'annulation programmatique de l'onboarding (notamment à la fermeture de la fenêtre en mode tray).HomeControllergagneopenDriveDestination()etshowActivities(); il construit désormais lui-même les URLs produit au lieu de laisser le QML le faire.AppConstants::WebDrive: énumérationDestination(Favoris, Partagés, Drive en ligne, Corbeille) et génération de l'URI web correspondante, exposée à QML sous le nomWebDrive(remplace l'énumération dupliquée initialement ajoutée surHomeController).ui/windows/main/home/:HomeView,HomeGreeting,HomeStatusPanel,HomeErrorBanner,HomeStateContent/HomeStatusVisualet les étatsLoading/Offline/Paused/SetupRequired/Syncing/UpToDate, ainsi queDriveWebShortcutsViewpour les raccourcis web du drive courant.MainWindowView/Main.qmlintègrent le nouveauHomeControlleret chargentHomeViewvia unLoaderactif seulement quand l'onglet Home est visible et la fenêtre affichée.HomePlaceholder.qml, remplacé par la nouvelle arborescence modulaire ; mise à jour deCMakeLists.txtet deAGENTS.mden conséquence.Summary
This PR replaces the static
HomePlaceholderin the Linux v4 client with a modular, state-driven Home screen, and introduces the routing logic that decides when to show onboarding, the unconfigured Home, or the configured Home.Changes
mainwindowactivationdecision.*: a pure function that selects the main window activation route (Onboarding,SetupHome,ConfiguredHome) without owning any window or onboarding state.AppClientLinuxnow uses this decision at startup and reacts to onboarding cancellation and removal of the last configured sync to fall back to the unconfigured Home (handleConfiguredSyncsChanged,openOnboardingFromHome).OnboardingSessionManagerexposescancelActiveSession()and a newonboardingCancelledsignal, enabling programmatic cancellation of onboarding (notably when closing the window while tray mode is active).HomeControllergainsopenDriveDestination()andshowActivities(); it now builds product URLs itself instead of leaving that to QML.AppConstants::WebDrive: aDestinationenum (Favorites, Shared, Online Drive, Trash) and matching web URI generation, exposed to QML asWebDrive(replacing the duplicate enum initially added onHomeController).ui/windows/main/home/:HomeView,HomeGreeting,HomeStatusPanel,HomeErrorBanner,HomeStateContent/HomeStatusVisual, and theLoading/Offline/Paused/SetupRequired/Syncing/UpToDatestates, plusDriveWebShortcutsViewfor the current drive's web shortcuts.MainWindowView/Main.qmlwire in the newHomeControllerand loadHomeViewthrough aLoaderthat is only active while the Home tab is visible and the window is shown.HomePlaceholder.qml, replaced by the new modular tree; updatedCMakeLists.txtandAGENTS.mdaccordingly.