Skip to content

feat(launchpad): in-app issue review, action inbox & internal navigation#63

Merged
devlint merged 9 commits into
mainfrom
feat/launchpad-hub
Jun 19, 2026
Merged

feat(launchpad): in-app issue review, action inbox & internal navigation#63
devlint merged 9 commits into
mainfrom
feat/launchpad-hub

Conversation

@devlint

@devlint devlint commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

This PR extends the Launchpad hub with an action-oriented inbox, full in-app issue review, and seamless internal navigation so users never leave the app to handle their GitHub workflow. PRs and issues now open inside GitWand instead of the browser, and the Launchpad is reachable directly from the header via navigation pills.

Changes

  • Added header navigation pills (Launchpad / Workspace / Agents) replacing the ⌘L-only entry point, with active-state tracking
  • New default "To handle" inbox tab (useLaunchpadInbox) grouping PRs by action: to review, changes requested, CI failing, approved
  • Launchpad PR items (inbox, PRs, Team tabs) open PrDetailView in-app with cross-repo switching instead of the browser
  • New IssueDetailView component for in-app issue reading, commenting, and close/reopen actions
  • New Rust commands gh_issue_* (REST token + gh CLI) with typed structs, dev-server mock routes, and backend.ts wrappers
  • useIssuePanel singleton composable managing issue navigation state
  • Issues badge now shows a deduplicated union of assigned/mentioned/created issues with instant sub-filter switching
  • Locale keys added across all 5 languages (en, es, fr, pt-BR, zh-CN)
  • Light-theme fix: white background on issue/PR comment blocks

Test plan

  • Open Launchpad from the header pills and verify active-state highlights correctly when switching views
  • Confirm "To handle" inbox groups PRs by action category (review needed, changes requested, CI failing, approved)
  • Click a PR from the inbox and verify it opens PrDetailView in-app with the correct repo context loaded
  • Open an issue from the Launchpad, post a comment, and close/reopen it; verify state updates in the UI
  • Run pnpm test and confirm all 251 tests pass; run vue-tsc and cargo build with no errors

Laurent Guitton added 2 commits June 19, 2026 00:16
- Launchpad atteignable depuis le header (pills Launchpad/Workspace/Agents
  + état actif) au lieu de ⌘L/menu uniquement
- Nouvel onglet par défaut « À traiter » (useLaunchpadInbox) : PR groupées
  par action (à reviewer / changes demandés / CI en échec / approuvées)
- Les PR du Launchpad (onglets À traiter, PRs, Team) ouvrent PrDetailView
  en interne (switch repo cross-repo) au lieu du navigateur
- IssueDetailView in-app (corps + commentaires, commenter, close/reopen) :
  commandes Rust gh_issue_* (REST token + gh CLI), endpoints dev-server,
  wrappers backend.ts, singleton useIssuePanel ; les issues du Launchpad
  y naviguent
- Badge Issues = union dédupliquée assigned/mentioned/created ; bascule
  de sous-filtre instantanée
- Polish : fond blanc des commentaires en thème clair ; layout pills header

Tests: useLaunchpadInbox, useIssuePanel, LaunchpadView/useLaunchpadIssues
maj — 251 verts, vue-tsc clean, cargo build OK. Issues = GitHub-only.
@devlint

devlint commented Jun 18, 2026

Copy link
Copy Markdown
Owner Author

@t1gu1 Pour info, je lance une nouvelle étape pour GitWand aka V3.
Si tu veux en savoir plus sur cette nouvelle direction => ebc5ca9
This is a big one : mon idée n'est pas de gérer un repo, puis un autre, mais d'avoir un inbox qui agglomère tes repos pour avoir un aperçu de ce que tu as à faire. C'est aussi l'entrée en matière pour faire évoluer GitWand comme un outil central, et ça devrait permettre de rejoindre ton idée "How can I code with AI in GitWand?"
Le launchpad (existant mais bien caché) devient le point de départ. La suite au bout du scope serait la suivante :

  • Viewer de fichiers ref-aware — kill-feature potentielle (ouvrir n'importe quel fichier à n'importe quel ref, sans checkout). Graine = rendu README du Dashboard. Chantier dédié, à valider via dogfood de la boucle « lire dans GW / éditer via IA ».
  • ex v2.25.0 — Stacked Branches (native)
  • v2.27.0 — Terminal tabs & AI workspace

Pour l'instant tout n'est pas décrit, mais c'est globalement la tournure que va prendre l'appli 👀

@t1gu1

t1gu1 commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Hey hey, salut @devlint !

L'idée a l'air vraiment cool, mais pour être honnête avec toi, je n'ai jamais tant utilisé les Launchpads dans les apps de Git. Je ne suis donc peut-être pas le mieux placé pour me prononcer là-dessus.

Ma seule crainte, c'est que ça ne soit pas super pertinent pour le monde qui travaille uniquement sur un ou deux projets à la fois. J'imagine que ça va dépendre bien gros de son intégration et du UX.

Si jamais t'as des maquettes ou une build de test, je serais vraiment curieux d'essayer ! (Je vais tenter de cloner ta branche après ce message pour voir si je peux déjà avoir un aperçu de la feature).

Quelques pistes en passant?

Je suis allé jeter un œil à quoi ça ressemble du côté de GitKraken pour me donner une idée.

On peut voir la petite fusée, qui est positionnée comme un genre de « Projet global » dans la liste des projets :
image

Et voilà ce qu'on obtient lorsqu'on clique dessus :
image

Bref, si jamais ça peut donner des idées!


Quelques panneaux / stats que j'aimais bien dans le dashboard

Par contre, il y a des trucs du dashboard actuel que je vais regretter :

  • Je trouvais ça vraiment cool de pouvoir consulter le README du projet à même le Git UI !
  • J'aimais aussi beaucoup jeter un œil à ces stats-là :
image image

Après, je dois avouer que le dashboard actuel a plusieurs autres éléments que je trouve pas mal moins pertinents. J'imagine qu'on pourrait facilement récupérer ces petits bouts de fonctionnalités sous forme de boutons directement dans la vue du projet, qui ouvriraient une modale avec l'info?

En tout cas, j'espère que tu trouve mon commentaire constructif et que ça va t'aider dans ta réflexion! 👊

@t1gu1

t1gu1 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Dans le haut à côté des workspaces, ça fait bien du sens.
L'ajustement visuel aussi!

image

Pour les workspaces, en fait c'est un peu déjà les tabs qui sont ouverts right?
Donc, est-ce que c'est ça le point que semblait dire qu'un workspace allait être crée par onglet ouvert?

C'est certain que s'il peut y avoir une certaine automatisation à ce niveau, ça pourrait peut-être rendre ça un peu plus accessible? (À moins que ça entre en conflit avec certain concept git)

image

Enfin, bien curieux de voir où ça va aller!

Exemple de comment ça look pour moi qui n'a pas nécessairement beaucoup de projets sur mon poste perso.

image

@t1gu1

t1gu1 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Ça fait un moment que j'y pense, mais j'ai l'impression que d'avoir le menu de gauche avec les 3 onglets et le menu de droite (GitTree) sur tous les écrans fait de moins en moins de sens, car il y a beaucoup de moment qu'on pourrait apprécier d'avoir du contenu simplement en plein écran.

Enfin, on dirait quand je regarde l'écran du Launchpad, ça me semble accentuer ce que je viens de partager.

J'avais une idée que je voulais explorer pour ce point.
Je vais explorer ça et je te reviens surement avec une PR si ça me semble concluant!

@t1gu1

t1gu1 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

@devlint

Voici les ajustements que j'avais en tête lors de mon dernier commentaire: #64

Je crois que ça va aider pour les prochains ajouts dans l'application de ne plus avoir a se soucier du panneau de gauche qui détenait notre "Main menu". (Voir les images dans la PR)

Ça pourrait permettre de changer la page d'accueil par le Launchpad et avoir un autre menu nommé stats par exemple. On pourrait même laisser le choix aux users de la page initiale dans les settings.

Laurent Guitton added 5 commits June 19, 2026 09:05
Introduces `useLaunchpadScope` composable that lets users restrict the
Launchpad to a subset of open repo tabs. Selection is persisted in
settings (`launchpadScopePaths`) and re-fetches all tabs on change.

🪄 Commit via GitWand
… inbox

Derives per-repo WIP cards from cross-repo status and surfaces them as a
prioritised "On your repos" section in the Launchpad inbox, alongside PR
buckets. Clicking a card switches to that repo's Changes view.

🪄 Commit via GitWand
…to v3 home

Move pinned branches, archived branches, and the release notes generator
from the Dashboard sidebar into their canonical v3 locations: branch
management features into BranchSelector, release notes into TagsPanel.

🪄 Commit via GitWand
@devlint devlint marked this pull request as ready for review June 19, 2026 07:40
Laurent Guitton added 2 commits June 19, 2026 09:53
Both components were always-mounted despite being gated by user actions.
Adding v-if guards and defineAsyncComponent keeps their chunks out of the
main bundle until needed.

🪄 Commit via GitWand
@devlint

devlint commented Jun 19, 2026

Copy link
Copy Markdown
Owner Author

So:
Pour l'instant les dashboards continuent d'exister, je vais y aller de façon incrémentale.
Je reprend le Launchpad (et supprime le Workspace) qui sera une vue synchro et agglomérée des repos ouverts - je laisse le nom "Launchpad" pour l'instant. A terme j'aimerai que ça devienne l'écran principal (une sorte d'Inbox qui te rappel ce qui est à faire) : c'est des onglets mais ça peut changer (des collapses ouverts : PRs, Issues, Team, etc)
Je merge ce que j'ai fait, puis ensuite je merge ta PR 64 (floating appDock) parce que c'est intéressant : je basculerai l'accès au Launchpad je pense. To be continued ;-)

@devlint devlint merged commit 705c6d7 into main Jun 19, 2026
4 checks passed
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.

2 participants