Skip to content

Bugfix/241.006 - #885

Merged
Paul Lizer (paullizer) merged 6 commits into
Developmentfrom
bugfix/241.006
May 7, 2026
Merged

Bugfix/241.006#885
Paul Lizer (paullizer) merged 6 commits into
Developmentfrom
bugfix/241.006

Conversation

@Bionic711

Copy link
Copy Markdown
Collaborator

Closes#867
Closes#813

support added for small portrait screens
covers personal/group workspaces, chat, profile, notifications
# Conflicts:
#	application/single_app/config.py
#	application/single_app/functions_activity_logging.py
#	application/single_app/semantic_kernel_loader.py
#	application/single_app/static/js/chat/chat-toast.js
#	application/single_app/static/js/control-center.js

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR appears to deliver a bundle of UI and backend bugfixes plus regression coverage across chat navigation/toolbar behavior, workspace responsive layouts, Control Center activity logs, enhanced citations PDF handling, and external healthcheck settings (closing #867 and #813).

Changes:

  • Added multiple Playwright UI tests to cover workspace navigation/cards, chat drawers/toolbars, enhanced citations toasts, and Control Center activity logs.
  • Introduced/updated frontend UI logic for chat navigation/tooling, toast anchoring, workspace section switching, and sidebar behaviors.
  • Added backend/admin wiring for an unauthenticated external healthcheck route and hardened activity log behavior, along with functional “source contract” tests and documentation.

Reviewed changes

Copilot reviewed 96 out of 97 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
ui_tests/test_workspace_sidebar_endpoint_links.pyNew UI regression for workspace sidebar endpoint links and tab rounding.
ui_tests/test_workspace_mobile_navigation_layout.pyNew UI regression for mobile workspace drawer/switcher behavior.
ui_tests/test_workspace_document_cards_layout.pyNew UI regression covering workspace document card view.
ui_tests/test_profile_fact_memory_editor.pyExtends profile UI test to validate stacked delete modal behavior and TTS button visibility contract.
ui_tests/test_enhanced_citations_pdf_error_toast.pyNew UI regression ensuring enhanced-citations PDF errors surface via toast and toast stays below tutorial launcher.
ui_tests/test_control_center_activity_logs_layout_presets.pyNew UI regression validating Activity Logs layout presets and localStorage persistence.
ui_tests/test_control_center_activity_logs_layout.pyNew UI regression validating Activity Logs responsive table + export wiring + modal behavior.
ui_tests/test_chat_sidebar_toggle_controls.pyNew UI regression for unified chat navigation shell behavior on desktop/mobile.
ui_tests/test_chat_search_panel_mobile_drawer.pyNew UI regression for grounded-search mobile drawer open/close behavior.
ui_tests/test_chat_mobile_toolbar_compaction.pyNew UI regression for compact mobile chat toolbar tools drawer and grounded search close flow.
functional_tests/test_unified_logging_entrypoint.pyExtends functional test coverage for debug_print forwarding tagged traces to App Insights.
functional_tests/test_no_auth_external_healthcheck_admin_setting.pyNew functional test verifying admin wiring for unauthenticated healthcheck setting/template.
functional_tests/test_local_agent_cognitive_services_scope.pyNew functional test ensuring local agents use config-backed cognitive services scope resolution.
functional_tests/test_group_agent_endpoint_scope_resolution.pyUpdates functional test to validate group agent endpoint scope resolution documentation and wiring.
functional_tests/test_foundry_endpoint_resolution.pyRefactors functional test to assert Foundry endpoint resolution logic via source inspection.
functional_tests/test_enhanced_citations_pdf_error_logging_fix.pyNew functional test asserting enhanced citations PDF dependency/logging fixes plus version/doc alignment.
functional_tests/test_enhanced_citations_csp_fix.pyUpdates functional test to cover blob CSP framing + chat toast anchoring logic.
functional_tests/test_default_model_selection_fallback.pyUpdates functional test metadata and removes config version assertion.
functional_tests/test_control_center_activity_logs_layout_presets.pyNew functional checks for Activity Logs preset markup/JS wiring and version bump.
functional_tests/test_control_center_activity_logs_hardening.pyNew functional checks for backend hardening + export endpoint + template hooks + version bump.
functional_tests/test_chat_toolbar_layout.pyUpdates functional test to assert compact toolbar markup/CSS/JS wiring.
functional_tests/test_chat_navigation_unified_shell.pyNew functional checks validating unified chat rail, overlay coordination, and version bump.
functional_tests/test_admin_action_activity_log.pyUpdates functional test to assert admin action user_id normalization and route wiring.
functional_tests/storage_state.jsonAdds an empty JSON storage_state fixture file.
docs/explanation/fixes/v0.241.031/CHAT_TAGS_LOADING_STATE_FIX.mdAdds fix documentation for chat tags loading-state UX.
docs/explanation/fixes/v0.241.030/CHAT_SEARCH_DRAWER_CLOSE_FIX.mdAdds fix documentation for grounded-search drawer close ownership.
docs/explanation/fixes/v0.241.029/CHAT_FLOATING_SEARCH_DROPDOWN_FIX.mdAdds fix documentation for viewport-safe dropdown positioning.
docs/explanation/fixes/v0.241.028/CHAT_MODEL_AGENT_SHARED_PRIMARY_SELECTOR_FIX.mdAdds fix documentation for shared primary selector hierarchy.
docs/explanation/fixes/v0.241.027/CHAT_MOBILE_SELECTOR_OWNERSHIP_AND_LABEL_VISIBILITY_FIX.mdAdds fix documentation for mobile selector ownership + label visibility.
docs/explanation/fixes/v0.241.026/CHAT_MOBILE_TOOLBAR_LABEL_VISIBILITY_FIX.mdAdds fix documentation for mobile toolbar labels.
docs/explanation/fixes/v0.241.025/CHAT_MOBILE_TOOLBAR_SELECTOR_REVEAL_AND_CLOSE_FIX.mdAdds fix documentation for selector reveal and close error avoidance.
docs/explanation/fixes/v0.241.024/CHAT_TOOLBAR_DESKTOP_MOBILE_PARITY_FIX.mdAdds fix documentation for desktop/mobile toolbar parity.
docs/explanation/fixes/v0.241.023/CHAT_SHELL_MOBILE_DRAWER_AND_TOOLS_SHEET_FIX.mdAdds fix documentation for chat shell mobile drawer/tools sheet fixes.
docs/explanation/fixes/v0.241.022/CHAT_NAVIGATION_AND_GROUNDED_SEARCH_DRAWER_FIX.mdAdds fix documentation for chat navigation and grounded-search drawer.
docs/explanation/fixes/v0.241.019/CHAT_MOBILE_TOOLBAR_COMPACTION_FIX.mdAdds fix documentation for compact mobile chat toolbar.
docs/explanation/fixes/v0.241.018/CHAT_NAVIGATION_UNIFICATION_FIX.mdAdds fix documentation for unified chat navigation shell.
docs/explanation/fixes/v0.241.015/CONTROL_CENTER_ACTIVITY_LOGS_HARDENING_FIX.mdAdds fix documentation for Activity Logs hardening.
docs/explanation/fixes/v0.241.014/WORKSPACE_DOCUMENT_CARDS_AND_HEALTHCHECK_SETTINGS_FIX.mdAdds fix documentation spanning workspace cards + healthcheck admin wiring.
docs/explanation/fixes/v0.241.013/WORKSPACE_LAYOUT_REFINEMENTS_FIX.mdAdds fix documentation for workspace layout refinements.
docs/explanation/fixes/v0.241.012/WORKSPACE_MOBILE_RESPONSIVE_REFRESH_FIX.mdAdds fix documentation for workspace mobile responsive refresh work.
docs/explanation/fixes/v0.241.011/CHAT_SIDEBAR_COLLAPSE_CONTROL_FIX.mdAdds fix documentation for chat/sidebar collapse control changes.
docs/explanation/fixes/v0.241.010/ENHANCED_CITATIONS_PDF_BLOB_CSP_AND_TOAST_POSITION_FIX.mdAdds fix documentation for blob CSP allowance and chat toast anchoring.
docs/explanation/fixes/v0.241.009/ENHANCED_CITATIONS_PDF_ERROR_LOGGING_FIX.mdAdds fix documentation for enhanced citations PDF dependency/logging/modal behavior.
docs/explanation/fixes/v0.241.008/PROFILE_FACT_MEMORY_DELETE_MODAL_STACKING_FIX.mdAdds fix documentation for stacked delete modal and TTS visibility changes.
docs/explanation/fixes/v0.241.007/LOCAL_AGENT_COGNITIVE_SERVICES_SCOPE_FIX.mdAdds fix documentation for local agent scope resolution.
docs/explanation/fixes/ADMIN_ACTIVITY_LOG_USER_ID_FIX.mdAdds fix documentation for normalizing admin activity log user_id.
docs/explanation/features/index.mdUpdates features index to include Activity Log Layout Presets feature doc.
docs/explanation/features/ACTIVITY_LOG_LAYOUT_PRESETS.mdAdds feature documentation for Activity Logs layout presets.
application/single_app/templates/workspace.htmlAdds responsive workspace CSS/switcher, cards view toggle, and card view container wiring.
application/single_app/templates/base.htmlIntroduces shared nav height variables and chat shell body classes; adjusts sidebar padding rules.
application/single_app/templates/admin_settings.htmlAdds separate authenticated vs unauthenticated healthcheck controls with warning messaging.
application/single_app/templates/_sidebar_nav.htmlUpdates sidebar header/toggle control markup and adds workspace endpoint links in submenus.
application/single_app/static/js/workspace_sidebar_nav.jsAdds syncing of sidebar active tab to Bootstrap tab state and prevents duplicate bindings.
application/single_app/static/js/workspace_section_switcher.jsNew JS to keep workspace section select in sync with Bootstrap tabs.
application/single_app/static/js/workspace/workspace_plugins.jsSwitches workspace actions to default to grid view on mobile.
application/single_app/static/js/workspace/workspace_agents.jsSwitches workspace agents to default to grid view on mobile.
application/single_app/static/js/workspace/workspace-tags.jsAdds cards view mode and mobile default for personal workspace document view switching.
application/single_app/static/js/workspace/view-utils.jsExtends view toggle helper with mobile defaults and media-query driven sync.
application/single_app/static/js/workspace/group_plugins.jsSwitches group actions to default to grid view on mobile.
application/single_app/static/js/workspace/group_agents.jsSwitches group agents to default to grid view on mobile.
application/single_app/static/js/sidebar.jsCentralizes sidebar toggle behavior, aria syncing, and chat rail mobile dismissal handling.
application/single_app/static/js/navigation.jsRefactors navigation JS to coordinate offcanvas/drawers and dropdowns, excluding chat-rail ownership.
application/single_app/static/js/chat/chat-toast.jsAdds preferred/anchored toast containers and dynamic positioning below tutorial launcher.
application/single_app/static/js/chat/chat-searchable-select.jsAdds configurable dropdown positioning/options for searchable selects.
application/single_app/static/js/chat/chat-prompts.jsDispatches a mobile selector activation event after prompts load.
application/single_app/static/js/chat/chat-onload.jsUses showSearchDocumentsPanel helper to open grounded search consistently.
application/single_app/static/js/chat/chat-model-selector.jsApplies viewport-safe dropdown config to model selector.
application/single_app/static/js/chat/chat-mobile-toolbar.jsAdds mobile toolbar tools drawer/offcanvas logic and cross-breakpoint surface relocation.
application/single_app/static/js/chat/chat-enhanced-citations.jsConverts PDF modal workflow to fetch-first blob-backed iframe and reuses error parsing helper.
application/single_app/static/js/chat/chat-conversation-info-button.jsSwitches info button visibility handling to Bootstrap class toggling + aria-hidden.
application/single_app/static/js/chat/chat-agents.jsApplies viewport-safe dropdown config and dispatches mobile selector activation event.
application/single_app/static/css/sidebar.cssUpdates sidebar/chat-rail layout, introduces toggle row styles, floating expand button styling, and shared transitions.
application/single_app/static/css/navigation.cssIntroduces consistent top-nav height variables and drawer offsets; adds mobile/dark styling improvements.
application/single_app/semantic_kernel_loader.pyUses config-backed cognitive services scope for AOAI token provider rather than hardcoding commercial scope.
application/single_app/route_frontend_admin_settings.pyAdds defaults + save handling for unauthenticated healthcheck; fixes admin action logging user_id parameter.
application/single_app/route_external_health.pyAdds /external/healthcheckz registration behind a new enable_no_auth_external_healthcheck flag.
application/single_app/requirements.txtBumps azure-cognitiveservices-speech dependency version.
application/single_app/functions_settings.pyAdds enable_no_auth_external_healthcheck default and removes duplicated enable_external_healthcheck entry.
application/single_app/functions_appinsights.pyExtends debug_print to forward tagged traces to App Insights while preserving console behavior.
application/single_app/functions_activity_logging.pyNormalizes admin user_id values for activity logs via coerce_activity_log_user_id.
application/single_app/config.pyAdds CSP frame-src blob allowance for blob-backed enhanced citations PDF previews.
application/single_app/app.pyRegisters the new unauthenticated external healthcheck route; fixes “External” comment typo.
.gitignoreIgnores a GitHub instructions file path.
Comments suppressed due to low confidence (8)

functional_tests/test_chat_toolbar_layout.py:1

  • The JS contract asserted here doesn’t match the newly added application/single_app/static/js/chat/chat-mobile-toolbar.js implementation (which uses bootstrap.Offcanvas, and does not contain MutationObserver, bootstrap.Collapse, or syncMobileToolsPanel). This will cause the functional test to fail even when the implementation is correct; update required_js_snippets to reflect the offcanvas-based toolbar logic (e.g., Offcanvas initialization and the chat:toolbar-selector-activated handler).
    functional_tests/test_unified_logging_entrypoint.py:1
  • original_level is captured but never restored; the finally block sets azure_monitor logger to NOTSET unconditionally. This can leak logger configuration into later tests/runs; restore parent_logger to original_level in the finally block.
    functional_tests/test_unified_logging_entrypoint.py:1
  • original_level is captured but never restored; the finally block sets azure_monitor logger to NOTSET unconditionally. This can leak logger configuration into later tests/runs; restore parent_logger to original_level in the finally block.
    application/single_app/static/js/workspace/view-utils.js:1
  • As written, options.mobileDefault always overrides the saved preference whenever the mobile media query matches, which makes the persisted storageKey ineffective on mobile (and prevents users from keeping a non-default choice across reloads). If persistence is desired, apply mobileDefault only when there is no saved preference; otherwise prefer the user’s saved value.
    application/single_app/static/js/workspace/workspace-tags.js:1
  • currentView is normalized, but the unnormalized view value is persisted to localStorage. If switchView is ever called with an unexpected value, the saved preference becomes invalid noise and will never be recognized by getPreferredWorkspaceView(). Persist currentView (the normalized value) instead of the raw argument.
    functional_tests/test_group_agent_endpoint_scope_resolution.py:1
  • The file header is duplicated and the shebang is not the first line, so it won’t work if the script is executed directly. Remove the duplicate header line and move the shebang to the first line (or remove it consistently if these tests aren’t intended to be run as scripts).
    functional_tests/test_foundry_endpoint_resolution.py:1
  • Same issue as above: duplicated header and the shebang is not the first line, which breaks direct execution semantics. Deduplicate the header and place the shebang on line 1 (or drop it).
    functional_tests/test_no_auth_external_healthcheck_admin_setting.py:1
  • The shebang is not the first line, so it won’t be honored when executing the file directly. If this file is intended to be runnable as a script, move the shebang to line 1 (or remove it for consistency).

@@ -1,4 +1,6 @@
// chat-conversation-info-button.js
// chat-conversation-info-button.js
@paullizer
Paul Lizer (paullizer) merged commit 58f017d into DevelopmentMay 7, 2026
7 of 11 checks passed
@paullizer
Paul Lizer (paullizer) deleted the bugfix/241.006 branch May 7, 2026 21:27
Sign up for freeto 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.

4 participants

@Bionic711@paullizer@nadoylemsft