Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

V2 parity: replace the remaining hand-offs to the legacy interface so "New UI only" loses nothing

Aperta
#1,722 6 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@paullizer ci sta già lavorando.

Dal 8/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Created By Copilot enhancement P1

Summary

The new React interface still sends people to legacy (classic) pages for some features it hasn't rebuilt yet. The legacy routing work moves the legacy interface under /legacy/... and adds a New UI only admin mode. In that mode non-admins can't open legacy pages, so every hand-off below becomes a dead end until it has a native V2 replacement.

Line numbers are from paullizer-react-v2-ui @ f60b982a0 (version 0.261.302) and will drift. Paths are relative to application/v2_ui/src unless noted.

Scope

# Area Gap What V2 does today Evidence Work to close
1 Agents Agent catalogue /agents is a placeholder with an "Open the agent catalogue" link to classic App.tsx:293-302, pages/PlaceholderPage.tsx Build the V2 agent catalogue
2 Chat M365 pending-action card Notices with m365_pending_action open classic chat, the only page that renders the card lib/notificationLinks.ts:361-365 Render pending M365 actions (approve/decline) in V2 chat; route these notices to /chat
3 Chat Aggregate public chat Public directory's chat action opens classic /chats?openSearch=1&scope=public pages/PublicDirectoryPage.tsx:52-56, 236-248 Add an "all public workspaces" chat scope
4 Workspaces File sources: add/configure "Adding and configuring a source is still done in the classic workspace" (personal; group/public via classicPath) pages/workspace/FileSourcesSection.tsx:150-153, lib/fileSourceWorkbench.ts:269, 556, 665 Create/configure flows for personal, group and public sources
5 Workspaces Identities: add "Adding one is still done in the classic workspace" pages/workspace/IdentitiesSection.tsx:110-113, lib/identityWorkbench.ts:167, 307, 374 Identity creation in all scopes
6 Workspaces Endpoint editor V2 lists, enables/disables and deletes endpoints only; the connection editor (provider, API versions, auth, model list) stays in classic pages/workspace/EndpointsSection.tsx:1-6 Endpoint connection editor in V2
7 Group workspace Document tools incl. upgrading legacy documents "Open classic tools for group documents" pages/workspace/DocumentsSection.tsx:61-62, pages/GroupWorkspacePage.tsx:467 Port document upgrade and remaining tools
8 Public workspace Document tools incl. upgrading legacy documents "Open classic tools to upgrade legacy public workspace documents" pages/workspace/DocumentsSection.tsx:112-113, pages/PublicWorkspacePage.tsx:336 Same as #7 for public scope
9 Group workspace Delete group "Delete group (classic)", completed on the classic group page pages/workspace/GroupSettingsSection.tsx:38-43, pages/GroupWorkspacePage.tsx:539 Deletion with prerequisite checks in V2
10 Group workspace Manage an inactive/unknown-status group "Manage group (classic)" button pages/GroupWorkspacePage.tsx:395-398 (activation redirects near :358, :437, verify) Status management and reactivation in V2
11 Public workspace Delete public workspace Confirms, then redirects to classic /public_workspaces/<id> pages/PublicWorkspacePage.tsx:221-242, 326 Deletion in V2
12 Public workspace Tags section Only documents, prompts, identities and sync are native; Tags says it is available in the classic workspace pages/PublicWorkspacePage.tsx:155-160, 348-351, lib/workspaceContext.ts:31-33 Public workspace tag management
13 Workspaces Danger-zone delete (shared settings section) "Open classic" confirm calls onOpenClassic() pages/workspace/WorkspaceSettingsSection.tsx:~814-831 Verify which scopes reach it; implement natively (overlaps #9/#11)
14 Notifications Full notifications list Bell panel "View all" opens classic /notifications; there is no V2 page components/layout/NotificationPanel.tsx:478 V2 notifications page
15 Notifications Unrecognized links classic() fallback for any link without a V2 route lib/notificationLinks.ts:439 A V2 route for every server-emitted link type
16 Workflows Workflow activity page Legacy /workflow-activity has no V2 page; V2 maps only runs it can verify against the notice, otherwise falls back to classic lib/notificationLinks.ts:163-177, 374-377; application/single_app/route_frontend_chats.py:1080 V2 equivalent for the remaining cases
17 Control Center Management section V2 /control-center says it is being built and links to classic /admin/control-center pages/ControlCenterPage.tsx:42-45, components/admin/RefreshScheduleStatus.tsx:143 Complete the V2 Control Center
18 Admin Settings DAI diagnostics A classic_only related link: the diagnostics are drawn only by the classic Scale › Cosmos › DAI Metrics pane application/single_app/admin_settings_fields.py:8313-8319, components/admin/RelatedSectionLink.tsx:41 Render the diagnostics in V2; drop classic_only
19 Admin Settings Requirement links Falls back to classic /admin/settings#<section> when it can't navigate in-page components/admin/SettingsSection.tsx:193-205 Make every requirement target navigable in V2
20 Admin Settings Chat-mode notice Says the single endpoint's address, credentials and deployment are set on the classic page (#model-endpoints) components/admin/ChatModeNotice.tsx:62-67 Verify V2 renders that configuration; link in-page
21 Admin Settings Latest Features shortcuts Shortcuts V2 can't follow in place open classic admin tabs lib/latestFeatures.ts:255-258 Map each shortcut to a V2 section
22 Admin Settings Fallback-scan note Links to classic only when undeclared enable_* keys appear. Today 106 of 107 sections are declared; the remaining one (standard-citations-section) is informational text pages/AdminSettingsPage.tsx:2099-2102, 2412-2418 No action now; keep the admin-settings parity test green
23 Errors Boot failure BootError offers "Open the classic interface" App.tsx:96-100 V2-native recovery (retry / sign out)
24 Cleanup Dead config classicHref: '/profile?tab=groups' / '/profile?tab=public-workspaces' are never read lib/workspaces.ts:68, 121, 152 Remove
Legacy pages with partial or unverified V2 counterparts
Legacy page V2 counterpart Status
/conversations V2 chat conversation list Verify parity (search, bulk actions, export)
/profile tabs (stats, settings, groups, public-workspaces, feedback, violations) /settings tabs (stats, preferences, groups, public, feedback, violations) Tabs exist; verify per-feature parity, especially M365 profile settings, fact memory and stats export
/my_feedback, /safety_violations /settings?tab=feedback, /settings?tab=violations Verify
/agents, /notifications, /admin/control-center None or placeholder #1, #14, #17

Pages with confirmed counterparts: chat, conversation deep links, approvals, content review, support pages, admin feedback and safety review, terms of use and access restricted.

Acceptance Criteria

  • Each row above is replaced by a native V2 flow or explicitly retired
  • After the routing work lands, application/v2_ui/src has no production hand-offs left to /legacy/...
  • The new UI works inside the Microsoft Teams tab (SSO token exchange, frame-ancestors, SameSite=None cookies). TEAMS_SUCCESS_REDIRECT_PATH (default /chats) will follow each user's interface
  • The separately hosted SPA mode (V2_UI_ALLOWED_ORIGIN) is smoke-tested with the root basename
  • Functional tests cover each replaced flow; the admin-settings parity test stays green

Notes

  • Rows #7–#13 may be residual items from #1542 (V2 shared workspaces: native group and public workspaces). Close them there if that is the better home.
  • Companion routing issue: #1723 (new UI at root, legacy under /legacy, admin interface policy).
Lingua principale
Python
Stelle
155
Fork
116
Merge medio
5h 5m
PR unite (30g)
204

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/simplechat

Tutte le issue di microsoft/simplechat

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.