New updates#439
Conversation
| var div = document.createElement('div'); | ||
| div.style = | ||
| 'color: white; position: fixed; top: 100px; left: 0; right: 0; z-index: 99999; background: red; padding: 20px; font-size: 16px; word-break: break-all;'; | ||
| div.innerHTML = '<b>URL:</b> ' + window.location.href + '<br><b>Path:</b> ' + window.location.pathname; |
There was a problem hiding this comment.
Pull request overview
This PR modernizes the Coho PWA + Capacitor codebase by upgrading frontend/tooling dependencies, improving routing behavior under the capacitor:// scheme (including web-router patching), and applying a broad pass of UI markup/style adjustments across Lit components and custom MD components. It also introduces iOS-native project scaffolding for Capacitor (SPM + app delegate/scene setup).
Changes:
- Improve Capacitor (notably iOS) compatibility:
capacitor://localhosthandling in routing/CORS, polyfill loading, and View Transition behavior. - Large-scale UI/template refactors (mostly formatting) and MD component style updates.
- Dependency upgrades + introduce
patch-packagewith aweb-routerpatch; add iOS project files.
Reviewed changes
Copilot reviewed 115 out of 122 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/setup.ts | Updates Vitest browser page import path. |
| src/utils/theme-color.ts | Removes color parsing/mixing/meta-tag logic; simplifies applyThemeColor() signature. |
| src/styles/home-styles.ts | Adjusts responsive breakpoint upper bound. |
| src/services/push-native.ts | Guards Android-only notification channel creation; minor type formatting. |
| src/services/account.ts | Minor type formatting. |
| src/router/nav-router.ts | Adds capacitor: origin/path handling; adds View Transition promise catch hooks. |
| src/pages/search-page.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/post-detail.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/create-account.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/conversation-thread.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-muted.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-messages.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-hashtags.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-following.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-followers.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-followed-hashtags.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-follow-requests.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-domain-blocks.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-blocked.ts | Template formatting refactor (whitespace/ternaries). |
| src/pages/app-announcements.ts | Template formatting refactor + minor type formatting. |
| src/mastodon/types/filter.ts | Collapses union type formatting. |
| src/mastodon/api/accounts.ts | Minor type formatting. |
| src/config/firebase.ts | Treats capacitor: as non-local for Functions base URL selection. |
| src/components/user-profile.ts | Template formatting refactor. |
| src/components/timeline.ts | Template formatting refactor + adds “Manage lists…” menu item. |
| src/components/timeline-poll.ts | Template formatting refactor. |
| src/components/timeline-item.ts | Template formatting refactor + type formatting. |
| src/components/shortcuts-help-dialog.ts | Template formatting refactor. |
| src/components/settings-drawer-content.ts | Template formatting refactor + minor type formatting. |
| src/components/search.ts | Template formatting refactor. |
| src/components/report-dialog.ts | Template formatting refactor. |
| src/components/quoted-post.ts | Template formatting refactor. |
| src/components/pwa-install.ts | Template formatting refactor + union type formatting. |
| src/components/profile-hover-card.ts | Template formatting refactor. |
| src/components/post-edit-history-dialog.ts | Template formatting refactor. |
| src/components/post-dialog.ts | Switches to MD dialog “sheet” behavior on mobile; removes mobile fullscreen CSS override. |
| src/components/post-detail-dialog.ts | Template formatting refactor. |
| src/components/post-composer/types.ts | Collapses union type formatting. |
| src/components/post-composer/render-features.ts | Template formatting refactor. |
| src/components/otter-drawer.ts | Template formatting refactor. |
| src/components/notification-preferences-dialog.ts | Template formatting refactor. |
| src/components/media-timeline.ts | Collapses union type formatting. |
| src/components/media-edit-dialog.ts | Template formatting refactor. |
| src/components/md/md-toolbar.ts | Style tweaks (border vs shadow, easing changes). |
| src/components/md/md-toast.ts | Style tweaks (radius/shadow/hover behavior, easing). |
| src/components/md/md-text-field.ts | Style tweaks (outline borders, dark-mode colors, easing). |
| src/components/md/md-text-area.ts | Style tweaks (outline borders, dark-mode colors, easing). |
| src/components/md/md-tabs.ts | Union type formatting + focusgroup attribute formatting. |
| src/components/md/md-tab.ts | Style tweaks (press feedback, opacity changes, indicator height). |
| src/components/md/md-switch.ts | Style tweaks (simplified colors, easing). |
| src/components/md/md-shared-styles.ts | Updates font stack and adds font smoothing. |
| src/components/md/md-segmented-button.ts | Style tweaks (radius, weight, selected styling). |
| src/components/md/md-option.ts | Style tweaks; removes ripple; hover/active background changes. |
| src/components/md/md-menu.ts | Style tweaks (elevation token usage, dark palette). |
| src/components/md/md-menu-item.ts | Style tweaks; removes ripple; hover/active behavior changes. |
| src/components/md/md-icon.ts | Expands SVG sizing rules to slotted SVG; template formatting. |
| src/components/md/md-icon-button.ts | Union type formatting + style tweaks (hover/active via opacity/filter). |
| src/components/md/md-dropdown.ts | Union type formatting + animation tweaks; capacitor-related type formatting. |
| src/components/md/md-dialog.ts | Adds `type: 'dialog' |
| src/components/md/md-checkbox.ts | Style tweaks; removes ripple layer markup. |
| src/components/md/md-card.ts | Style tweaks (radius, elevation, hover behavior). |
| src/components/md/md-button.ts | Union type formatting + style tweaks (hover/active via filter/opacity); removes ripple. |
| src/components/md/md-badge.ts | Style tweaks (hover behavior, easing). |
| src/components/md/md-autocomplete.ts | Style tweaks (borders, dropdown animation, hover states). |
| src/components/md/md-audio-player.ts | Style tweaks (hover/active behavior, easing). |
| src/components/lists-dialog.ts | Template formatting refactor. |
| src/components/list-membership-dialog.ts | Template formatting refactor. |
| src/components/list-edit-dialog.ts | Template formatting refactor. |
| src/components/image-preview-dialog.ts | Template formatting refactor. |
| src/components/image-grid.ts | Template formatting refactor. |
| src/components/home-tabs-nav.ts | Adds explicit ordering for tabs/FAB; template formatting refactor. |
| src/components/home-sidebar.ts | Template formatting refactor. |
| src/components/header.ts | Template formatting refactor. |
| src/components/handwriting-dialog.ts | Template formatting refactor. |
| src/components/filters-dialog.ts | Template formatting refactor. |
| src/components/favorites.ts | Template formatting refactor. |
| src/components/emoji-picker.ts | Template formatting refactor. |
| src/components/edit-account.ts | Template formatting refactor. |
| src/components/bookmarks.ts | Template formatting refactor. |
| src/components/app-theme.ts | Template formatting refactor. |
| src/components/account-settings.ts | Collapses union type formatting. |
| src/components/account-manager.ts | Template formatting refactor. |
| src/app-index.ts | Adds Capacitor route normalization, Navigation API polyfill loading, and View Transition changes; updates theme application calls. |
| patches/web-router+0.5.0.patch | Patch-package patch to make web-router work with capacitor: URLs. |
| package.json | Dependency upgrades; adds @virtualstate/navigation, patch-package, and postinstall. |
| ios/debug.xcconfig | Adds Capacitor debug build setting. |
| ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift | Adds SPM hosting module flag. |
| ios/App/CapApp-SPM/README.md | Adds documentation for SPM host package. |
| ios/App/CapApp-SPM/Package.swift | Adds Capacitor SPM package manifest (managed by CLI). |
| ios/App/CapApp-SPM/.gitignore | Ignores SPM build artifacts and user data. |
| ios/App/App/ViewController.swift | Enables native back/forward swipe gestures in WKWebView. |
| ios/App/App/SceneDelegate.swift | Adds custom scene bootstrap + deep/universal link forwarding. |
| ios/App/App/Info.plist | Adds iOS app metadata, URL scheme, and scene configuration. |
| ios/App/App/Base.lproj/Main.storyboard | Adds storyboard with ViewController bridge. |
| ios/App/App/Base.lproj/LaunchScreen.storyboard | Adds splash launch screen storyboard. |
| ios/App/App/Assets.xcassets/Splash.imageset/Contents.json | Adds splash asset metadata. |
| ios/App/App/Assets.xcassets/Contents.json | Adds asset catalog metadata. |
| ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json | Adds app icon metadata. |
| ios/App/App/AppDelegate.swift | Adds iOS app delegate with Capacitor link + notification hooks. |
| ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved | Adds SPM resolved pins for Capacitor. |
| ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist | Adds Xcode workspace checks file. |
| ios/.gitignore | Adds iOS build/artifact ignores. |
| index.html | Adds a debug overlay script on load (currently unconditional). |
| functions/src/cors.ts | Allows capacitor://localhost origin. |
| functions/package.json | Updates dev dependency versions. |
| functions/package-lock.json | Updates lockfile to match dependency bumps. |
Files not reviewed (1)
- functions/package-lock.json: Generated file
| width: 12px; | ||
| height: 12px; | ||
| opacity: 0; | ||
| transform: scale(0); | ||
| transition: all 0.12s cubic-bezier(0.2, 0, 0, 1); | ||
| transition: all 0.12s ease; |
| fill: var(--md-sys-color-primary, #6750a4); | ||
| opacity: 0; | ||
| transition: opacity 0.15s cubic-bezier(0.2, 0, 0, 1); | ||
| transition: opacity 0.15s ease; | ||
| transition: opacity 0.15s; | ||
| } |
| ).startViewTransition(updateDOM); | ||
|
|
||
| // Catch rejections on all promises to prevent unhandled rejection errors | ||
| transition.ready.catch(() => {}); | ||
| transition.updateCallbackDone.catch(() => {}); | ||
|
|
| // Disable View Transitions on Capacitor iOS to prevent severe simulator rendering lag | ||
| if (isCapacitorNative()) { | ||
| document.startViewTransition = () => { | ||
| throw new Error('disabled for capacitor'); | ||
| }; | ||
| } |
| <script> | ||
| window.onload = function () { | ||
| var div = document.createElement('div'); | ||
| div.style = | ||
| 'color: white; position: fixed; top: 100px; left: 0; right: 0; z-index: 99999; background: red; padding: 20px; font-size: 16px; word-break: break-all;'; | ||
| div.innerHTML = '<b>URL:</b> ' + window.location.href + '<br><b>Path:</b> ' + window.location.pathname; | ||
| document.body.appendChild(div); | ||
| }; | ||
| </script> |
|
Visit the preview URL for this PR (updated for commit b747e9f): https://coho-mastodon--pr439-new-updates-eep747yw.web.app (expires Fri, 10 Jul 2026 04:17:25 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 22a5c1adab53191fa6702e9454dee7bd02b2edd7 |
No description provided.