Merged
Conversation
TallTed
reviewed
Apr 10, 2026
TallTed
reviewed
Apr 10, 2026
TallTed
reviewed
Apr 10, 2026
TallTed
reviewed
Apr 10, 2026
TallTed
reviewed
Apr 10, 2026
TallTed
reviewed
Apr 10, 2026
added 6 commits
April 11, 2026 15:18
Contributor
There was a problem hiding this comment.
Pull request overview
This PR modernizes the SolidOS “solid-panes” shell for the Solid Symposium by wiring in Solid UI web components (header/footer), adding a new left-side navigation menu, and migrating the legacy Social pane to a new implementation with updated styling and asset handling.
Changes:
- Add a new main-page shell (header/menu/footer) and update the outline manager to support the new layout containers (
MainContent,OutlineView,GlobalDashboard) and a render environment (mobile/desktop). - Replace the legacy
src/socialPane.jswith a new TypeScript-based Social pane (src/social/*) including new UI sections, icons, and CSS. - Update build/test plumbing for assets (
?rawSVGs, images) plus developer tooling (watch scripts, dev loader).
Reviewed changes
Copilot reviewed 47 out of 63 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| webpack.dev.config.mjs | Dev webpack rules updated to include src/ + dev/, and add asset handling for images / raw SVG. |
| webpack.config.mjs | Prod webpack adds raw SVG (?raw) and image asset/resource rules. |
| typings/declarations.d.ts | Adds TS module declarations for svg/svg?raw/raw queries and png. |
| tsconfig.json | Switches TS module resolution to bundler. |
| tsconfig.dev.json | Adds dev-specific TS path mappings and symlink handling. |
| test/unit/meeting/Schedule/index.html | Updates test HTML shell structure to new MainContent layout. |
| test/helpers/globals.js | Adds Jest globals/polyfills and required globals for solid-ui/solid-logic UMD expectations. |
| test/mocks/fileMock.js | Adds generic file stub mock for Jest. |
| src/tabbed/tabbedPane.ts | Adds TS ignore for store typing access. |
| src/style/tabbedtab.css | Removes legacy Social pane CSS block from shared stylesheet. |
| src/socialPane.js | Removes legacy Social pane implementation. |
| src/social/socialSections.ts | New Social pane UI section builders (header, mutual, all-friends). |
| src/social/socialPane.ts | New Social pane implementation (tabs, friend streaming, viewer mode logic). |
| src/social/socialPane.css | New Social pane styling. |
| src/social/icons.ts | Adds inline SVG icon constants for the Social pane. |
| src/social/editProfileDetails.ts | Adds “Edit profile links” dialog for FOAF homepage/weblog/workplace/school links. |
| src/slideshow/slideshowPane.js | Makes slideshow image sizing responsive via style.width. |
| src/registerPanes.js | Registers new Social pane path and adjusts editProfile/dashboard registration behavior. |
| src/profileUtils/ownerProfile.ts | New helper utilities to load profile data and derive owner name. |
| src/playlist/playlistPane.js | Improves responsive sizing for embedded video/IMG preview. |
| src/pad/padPane.ts | Switches pad layout from table to div-based responsive flex layout; imports CSS. |
| src/pad/padPane.css | Adds responsive CSS for new pad layout containers. |
| src/outline/userInput.js | Updates contextmenu disable binding to OutlineView container (new shell). |
| src/outline/manager.js | Adds layout detection, dashboard rendering changes, new container creation logic, and new dashboard items/icons. |
| src/outline/manager.css | Updates spacing variables and background styling to match new design tokens. |
| src/outline/context.ts | Extends context creation to accept RenderEnvironment. |
| src/n3Pane.js | Adds horizontal overflow handling for PRE blocks. |
| src/mainPage/menu.ts | New left-side navigation menu (mobile + collapsible desktop) wired to dashboard items. |
| src/mainPage/menu.css | Styling for the left-side menu and its mobile/desktop behaviors. |
| src/mainPage/index.ts | Creates MainContent root, initializes header/menu/footer, adds refreshUI. |
| src/mainPage/header.ts | Migrates to solid-ui-header web component, adds environment-driven layout/theme binding. |
| src/mainPage/footer.ts | Migrates to solid-ui-footer web component and nests it inside the left menu. |
| src/internal/internalPane.ts | Adds TS ignore for store typing access. |
| src/index.ts | Adds environment plumbing to outliner creation and exports refreshUI/updateEnvironment. |
| src/icons/star.svg | Adds new SVG asset. |
| src/icons/signup.png | Adds signup icon image asset. |
| src/icons/signOut.svg | Adds new SVG asset. |
| src/icons/sharing.svg | Adds new SVG asset. |
| src/icons/personInCircle.svg | Adds new SVG asset. |
| src/icons/person.svg | Adds new SVG asset. |
| src/icons/menu.svg | Adds new SVG asset. |
| src/icons/iconHelper.ts | Adds helper for converting SVG strings/data URLs into data-URL icons. |
| src/icons/help.svg | Adds new SVG asset. |
| src/icons/friends.svg | Adds new SVG asset. |
| src/icons/folder.svg | Adds new SVG asset. |
| src/icons/dashboard.svg | Adds new SVG asset. |
| src/icons/comment.svg | Adds new SVG asset. |
| src/icons/clock.svg | Adds new SVG asset. |
| src/humanReadablePane.js | Makes iframe/doc rendering responsive (100% width). |
| src/home/homePane.ts | Adds audience metadata and refines typing; adds TS ignore for create.newThingUI. |
| src/form/pane.js | Replaces float-right with flex-friendly alignment. |
| src/dashboard/homepage.ts | Switches to shared profile loading/name helpers and tweaks title copy. |
| src/dashboard/dashboardPane.ts | Makes subject nullable and adds safer fallback logic. |
| src/dashboard/basicPreferences.ts | Adds TS ignore for store typing access. |
| src/RDFXMLPane.js | Adds horizontal overflow handling for PRE blocks. |
| package.json | Adds watch scripts, concurrently, and override for pane-registry. |
| jest.config.mjs | Adds setup globals and adds SVG mapper (but needs extension for ?raw/png). |
| dev/loader.ts | Dev loader now initializes the new main page and supports layout switching. |
| dev/dev-mash.css | Major dev shell/layout CSS changes for new header/menu structure and accessibility tweaks. |
| dev/dev-mash-utilities.css | Adds/updates utility classes and accessibility helpers (skip-link needs fix). |
| dev/dev-light.css | Adds new design tokens/colors/spacing variables. |
| README.md | Documents generative AI usage and prompt history. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+243
to
+274
| const hint = dom.createElement('p') | ||
| hint.className = 'social-pane__dialog-hint' | ||
| hint.textContent = 'Enter one URL per line for each field.' | ||
| dialog.appendChild(hint) | ||
|
|
||
| const form = dom.createElement('form') | ||
| form.classList.add('social-pane__dialog-form', 'flex-column') | ||
| dialog.appendChild(form) | ||
|
|
||
| const errorMessage = dom.createElement('p') | ||
| errorMessage.className = 'social-pane__dialog-error' | ||
|
|
||
| const fields = new Map<ProfileLinkField['key'], HTMLInputElement>() | ||
| for (const field of profileLinkFields) { | ||
| const fieldWrapper = dom.createElement('label') | ||
| fieldWrapper.classList.add('social-pane__dialog-field', 'flex-column') | ||
|
|
||
| const fieldLabel = dom.createElement('span') | ||
| fieldLabel.className = 'social-pane__dialog-label' | ||
| fieldLabel.textContent = field.label | ||
| fieldWrapper.appendChild(fieldLabel) | ||
|
|
||
| const input = dom.createElement('input') | ||
| input.classList.add('social-pane__dialog-input', 'input') | ||
| input.type = 'url' | ||
| input.placeholder = field.placeholder | ||
| input.value = initialValues[field.key].split('\n')[0] || '' | ||
| fieldWrapper.appendChild(input) | ||
|
|
||
| fields.set(field.key, input) | ||
| form.appendChild(fieldWrapper) | ||
| } |
Comment on lines
+46
to
+50
| const dom = context.dom | ||
| const kb = context.session.store | ||
| const header = document.createElement('header') as SocialHeaderElement | ||
| header.className = 'social-pane__header' | ||
| let headerControls = controls |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…into milestone3m
…o avoid passing undefined to loadProfileFromURI Agent-Logs-Url: https://github.com/SolidOS/solid-panes/sessions/785bcab4-355f-4843-a1a3-1cf8b5c58ff2 Co-authored-by: timea-solid <4144203+timea-solid@users.noreply.github.com>
Agent-Logs-Url: https://github.com/SolidOS/solid-panes/sessions/785bcab4-355f-4843-a1a3-1cf8b5c58ff2 Co-authored-by: timea-solid <4144203+timea-solid@users.noreply.github.com>
…ager.js Agent-Logs-Url: https://github.com/SolidOS/solid-panes/sessions/9941f62e-3255-4bd6-9576-0cc041697625 Co-authored-by: timea-solid <4144203+timea-solid@users.noreply.github.com>
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.
This work is to:
The goal is the Solid Symposium