Skip to content

Bugfix/241.006#885

Merged
paullizer merged 6 commits intoDevelopmentfrom
bugfix/241.006
May 7, 2026
Merged

Bugfix/241.006#885
paullizer merged 6 commits intoDevelopmentfrom
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
@Bionic711 Bionic711 requested review from Copilot and paullizer May 7, 2026 19:46
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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

4 participants