-
Notifications
You must be signed in to change notification settings - Fork 524
feat: add diagnostics screen #2392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2d2e976
to
6e04400
Compare
@SgtPooki https://check.ipfs.network updated to v0.7.0 🚀 |
* feat: add ipfs-check tab to diagnostics screen * fix: useDebouncedCallback doesnt lose function call on delay change * feat: add retrieval check tab with ipfs-check iframe - integrate ipfs-check as iframe in diagnostics page - support passing CID parameter from URL - improve tab styling and fix linting issues NOTE: this requires ipfs-check#102 to be deployed to prod. Preview at ipfs/ipfs-check#102 (review) * security: add iframe sandboxing - add sandbox attribute with minimal required permissions - allow-scripts for check functionality - allow-forms for form submission - allow-same-origin for postMessage communication - update iframe title to be more descriptive - extract URL constants for reuse and origin validation * feat: add loading state and ARIA attributes - add loading indicator while iframe loads - hide loading state on first postMessage from iframe - use aria-busy and role=status for accessibility - position loading message to avoid layout shift - match existing UI style (charcoal-muted, f5, centered) - fix typo: intial -> initial * feat: set iframe initial height to 80vh - show browser error messages when iframe fails - height adjusts via postMessage when content loads * feat: make ipfs-check service URL configurable - add retrieval diagnostic service settings section - create IpfsCheckForm component for URL configuration - store ipfs-check URL in local storage with default fallback - update CheckScreen to use configurable URL from redux store - add translations for new settings UI users can now configure a custom ipfs-check instance URL via settings to use self-hosted or alternative diagnostic services Closes #2434 --------- Co-authored-by: Marcin Rataj <[email protected]>
- adds 'Check Retrieval' action to files context menu - triggers background provide when checking retrieval - renamed doFilesCopyCidProvide to generic doFilesCidProvide - simplified dispatchAsyncProvide to remove context logging - only log PUT_VALUE events during provide operations
upload-artifact@v4 requires unique artifact names when multiple jobs upload artifacts. adds shard index to artifact name.
fixes all 21 TypeScript errors by adding JSDoc type annotations. the errors were exposed when we started importing DEFAULT_IPFS_CHECK_URL from TypeScript files, bringing gateway.js into the TypeScript check scope.
- properly wait for async state updates to complete - remove incorrect expectations for onErrorChange calls - add test-results/ to .gitignore
- show tooltip on initial load for 6 seconds - add pulsating animation to play button before first interaction - add breathing animation to pause icon when streaming - enhance tooltip styling with better padding and non-selectable content
- show different message when streaming but no logs appear - add "Clear all logs" resets to initial state with tooltip - stop streaming when clearing logs - use muted color for empty state messages
- use single column layout for better consistency - add consistent label and input styling matching webui patterns - add htmlFor/id attributes for accessibility - use shared button labels from app translations - remove unused translation keys
- simplify and clarify all log-related labels and descriptions - rename confusing translation keys (description → placeholder) - add Default button to quickly set log level to error - rename Reset to Cancel for clarity (only cancels unsaved changes) - use consistent button labels from app translations - remove redundant main description, merge into log config section - make descriptions more user-friendly with practical examples - fix unused imports and linting errors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm, thank you @SgtPooki I think this is as good as we could make it given the time allocated.
Once CI is green, I'm going to merge it to give translators more time before we cut a release later this week (I hope to dogfood it bit more in Kubo 0.38 RC1)
@lidel Awesome. I was going to open up a follow up for the check retrieval action you added.. very nice. |
Adds diagnostics screen to the webui.
The page has tabs support, but only the logs tab is implemented currently.
refs
With unsupported kubo versions:
Main view
Demo
2025-09-02.at.19.16.08.-.Salmon.Cheetah.webm