About ClassIsland Marketplace
ClassIsland Marketplace is the official platform for ClassIsland users to share and download plugins, expanding functionalities seamlessly.
Current Versionv1.5.1
Open Source & ContributionsThis project is driven by open source. We welcome Issues and Pull Requests on GitHub:ClassIsland Marketplace
Marketplace Version HistoryShowing recent web deployment version records from GitHub.
43052d85/16/2026, 10:07:02 PMkaokao221
Merge pull request #3 from MINIOpenSource/add-loading-overlay-6234696299215088815
feat: Add Loading Overlay and Plugin Card Loading Spinner42e24d75/16/2026, 5:48:00 PMkaokao221
fix: adjust feeling lucky layout and complete i18n
- Updated PluginBrowser toolbar layout to position the "Feeling Lucky" button at the bottom-right (absolute) on mobile devices so it does not squeeze sorting options.
- Completed i18n translations for "Feeling Lucky" across all supported languages (zh_CN, jp, fr, du, en, etc.) instead of hardcoding English.
- Retained all prior optimizations (mobile safe areas, LoadingOverlay dark mode inline variables, NodeSpeedTest median pinging, PluginCard 1:1 share button).
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>054f3b95/16/2026, 5:16:50 PMkaokao221
feat: Add "I'm Feeling Lucky" button and restore missing UI fixes
- Implemented "Feeling Lucky" button with weighted pseudo-random logic, prioritizing less popular plugins and avoiding recently visited ones (via localStorage).
- Added `framer-motion` animation to hide the "Feeling lucky" button when searching.
- Adjusted "Feeling lucky" button to degrade to a 1:1 right-aligned icon button on mobile.
- Updated `LoadingOverlay` dark mode CSS to fix black text/spinner on dark background issue prior to React hydration.
- Added mobile safe area insets to `body` padding for iOS/Android notches.
- Added i18n support for "feelingLucky" across all language files.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>fc9220b5/16/2026, 3:57:42 PMkaokao221
feat: add "I'm feeling lucky" button and restore previous fixes
- Restored the LoadingOverlay with dark mode support and full viewport width fixes.
- Restored the Share button relocation to CardFooter and the PluginCard navigation spinner.
- Restored NodeSpeedTest optimizations (warm-up, sequential requests, taking median).
- Added a "手气不错" (I'm Feeling Lucky) button next to the sorting actions in the PluginBrowser toolbar to randomly select and navigate to a plugin.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>a0915685/16/2026, 12:17:33 PMkaokao221
perf: Optimize node speed test logic and update dependencies
- Optimized node speed test by sending a simultaneous warm-up request followed by sequential 3x ping testing per node.
- Added logic to filter out min and max ping times, taking the median value for higher accuracy.
- Bumped project version to 1.5.1.
- Updated all npm packages and dependencies to their latest compatible versions via `npm-check-updates` and `npm install`.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>c3985945/16/2026, 11:55:37 AMkaokao221
feat: move Share button to footer and adjust styling
- Relocated the Share button from the top-right absolute container of the PluginCard to the CardFooter alongside the Download button.
- Updated the Share button to be a 1:1 icon-only button without text.
- Ensured no temporary log files were included in the commit.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>9d815435/15/2026, 6:35:18 PMkaokao221
fix: adjust loading overlay layout and dark mode styling
- Replaced `100vw`/`100vh` with `inset: 0` and `100%` width/height to fix overlay width issues on mobile/desktop browsers with scrollbars.
- Added an inline style block to dynamically set the background color using CSS variables (`@media (prefers-color-scheme: dark)`) so the overlay correctly respects dark mode on initial load before React hydrates the Fluent UI context.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>2f04a625/15/2026, 6:07:03 PMkaokao221
feat: Add loading overlay and plugin card navigation spinner
- Added a full-screen LoadingOverlay component in the RootLayout that hides after React hydration.
- Replaced the share/open icons in PluginCard with a Fluent UI Spinner when the user clicks the card to navigate.
- Ensured modifier-key clicks (Ctrl/Cmd) on cards open in a new tab without triggering the local loading state.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>3db21f85/10/2026, 1:08:58 PMkaokao221
Merge pull request #2 from MINIOpenSource/ux-ui-improvements-5338060033796459351
feat: implement extensive UI/UX improvements and 3D card tilt3fae1525/10/2026, 11:56:23 AMkaokao221
feat: implement 15+ UI/UX improvements and bump to v1.5.0
- Added a 3D parallax tilt effect on PluginCard via react-parallax-tilt.
- Updated globals.css with a cleaner light-blue theme and smooth color transitions.
- Integrated Framer Motion for page navigation animations.
- Implemented global Toast notifications via Fluent UI Toaster.
- Improved search experience with '/' shortcut, debounce, clear button, and empty state.
- Enhanced Markdown rendering with zoomable images (react-medium-image-zoom) and code copy buttons.
- Added 'NEW' badges on cards for highly rated recent plugins.
- Implemented skeleton CSS loading pulses for missing plugin icons.
- Improved accessibility with widespread use of aria-labels on icon buttons.
- Enhanced download buttons to indicate 'Downloading...' state with pulse animations.
- Updated package dependencies.
- Bumped version in package.json to 1.5.0.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>5f58fcf3/12/2026, 6:55:33 AMkaokao221
fix(build): ensure pre-build scripts run inside next.config.ts0302d583/12/2026, 6:47:51 AMkaokao221
style: revert PluginCard layout back to original bottom button styleae26a6b3/11/2026, 9:48:40 PMkaokao221
feat: use explicit LIMIT_HISTORICAL_CIPX over tencent flags for fallback history nodes34504d23/11/2026, 9:40:06 PMkaokao221
fix: keep historical cipx download url to enable alternative node downloadfa504603/11/2026, 9:34:01 PMkaokao221
chore: log deployment env and skip edgeone history pull26525303/11/2026, 9:23:22 PMkaokao221
feat: implement edgeone optimization and node speed testcbdf8743/11/2026, 7:37:17 AMkaokao221
chore: bump version to 1.3.4 and apply architecture improvementsc67b13d3/10/2026, 8:25:11 PMkaokao221
feat: handle decode ICO icons to reduce bundle size; release: 1.3.36573e683/10/2026, 6:33:03 PMkaokao221
feat: complete release 1.3.2 with speedtest logic, icon compression workflow fix and PWA config fixesfbbae033/10/2026, 1:45:02 PMkaokao221
fix: speedtest chunk count and calculation logic9ef8b893/10/2026, 12:08:31 PMkaokao221
feat: refine speedtest module; refactor: remove RealIconPath from frontend; release: 1.3.2474470c3/9/2026, 10:23:29 PMkaokao221
fix: fetch all commits using pagination and properly ignore auto-generated jsonb9a61943/9/2026, 10:19:22 PMkaokao221
chore: embed github commits at build time instead of fetching on clientcae2fdb3/9/2026, 10:14:55 PMkaokao221
feat: add speed test functionality to downloads page8392f9d3/9/2026, 7:45:24 PMkaokao221
fix: batch icon caching during build and remove unneeded client HEAD requestfbd06523/9/2026, 6:16:38 PMkaokao221
ci: add contents write permission for pages enablement153789e3/9/2026, 5:04:13 PMkaokao221
ci: enable github pages in configure-pages action4b0a59a3/9/2026, 4:07:35 PMkaokao221
ci: fix deploy-github-pages action by using npm install4528d3e3/9/2026, 4:03:11 PMkaokao221
feat: chunked downloading, PWA config, cache busting
- implemented 192k chunk download with SHA256 validation
- registered service worker and manifest for offline cache
- bumped version to 1.3.0 and cleaned temp files0f673ab3/9/2026, 1:56:39 PMkaokao221
ci: add github pages deploy flow and platform footer detection05e4b203/9/2026, 1:29:41 PMkaokao221
fix: use dynamic CIPX chunk pool size (no version bump)525d9e83/9/2026, 12:11:24 PMkaokao221
feat: refine download manager, i18n, version history, cache logic and overlay UI (v1.2.4)9e08cb63/9/2026, 7:34:17 AMkaokao221
feat: Add download queue icon and theme switch overlay
- Replace simplistic light/dark theme toggle with a 'Telegram-like' dynamic overlay animation in
- Add English, Chinese, Japanese, French and Dutch translations for the 'blind' confirmation notice when switching to light mode
- Implement 100% full opacity touch overlay logic fix for s so they display better when tapped on phones/tablets
- Expand the main to 80px and tweak the margin sizes to resolve the visual spacing issue between 'ClassIsland' and 'Marketplace' texts
- Re-position a download indicator queue icon on the main header for forthcoming downloading functionality
- Fix several linting warnings involving un-matched pattern unused variables and impure `Date.now()` rendering cycle hooks within `Footer.tsx` and `About` Page
- Bump application package version to 1.2.2ab8414f3/8/2026, 10:26:15 PMkaokao221
fix(cipx-downloader): use window.location.origin to resolve relative piece urls9254c363/8/2026, 10:10:33 PMkaokao221
chore: bump version to 1.2.1 and optimize header transitions & iframe card styles00012623/6/2026, 10:14:45 PMkaokao221
feat: add about page and dynamic header back button
- Add /about page showing version, build info, and recent commit history
- Truncate Vercel/Cloudflare Pages commit hash to 7 characters in next.config.ts
- Inject commit history and deployment URLs as environment variables
- Implement TopBarProvider to dynamically show a back button in the Header when scrolling past the top on detail pages
- Update Footer to navigate to the about page
- Bump version to 1.2.0
Closes user request.d39ba433/6/2026, 9:47:47 PMkaokao221
feat: Add ClassIsland compatible plugin index zip exportc6f1ac73/6/2026, 8:16:13 PMkaokao221
feat: comprehensive updates for mobile UX, checksums, and building
- Refine mobile card interactions (hover scale, blur behavior)
- Support MD5 checksum calculation and display for chunked downloads
- Refine SVG card and embed logic
- Fix build size issues with chunked buffering
- Support length limits and truncation for titles
- Optimize version history displayaba3ac83/5/2026, 11:24:53 PMkaokao221
release: bump to v1.1.1 with svg/iframe embed switcher and cipx chunk downloaderf0b19e63/3/2026, 8:26:35 PMkaokao221
feat: add version history, iframe embed, and fetch retry
- Add VersionHistory component with timeline UI for plugin releases
- Add iframe embed route (/iframe/plugin/[id]) with IframePluginClient
- Reorganize routes into (main) route group for layout separation
- Add fetchWithRetry with exponential backoff for all cached fetches
- Add getPluginVersionHistory service to fetch GitHub Releases API
- Integrate version history into PluginDetailClient
- Add i18n strings for version history (en_US, zh_CN)d1af9c23/2/2026, 8:47:58 PMkaokao221
feat: enhance marketplace UI, caching mechanisms and sorting UX
- refactor(PluginBrowser): replace native Select with custom FUI sorting control set combining multiple sorting criteria and directional toggling (Asc/Desc).
- feat(PluginDetailClient): implementation of external link detection on Markdown renderings. External links now trigger an explicit FUI Dialog for secondary confirmation to prevent misdirection.
- feat(pluginIndex): introduce local image cache scraping for Markdown READMEs, downloading assets to public/readme-images during build time to ensure independent static exports.
- chore: move build-time cached readmes directory to public/readmes to serve markdown straight through frontend without intermediate runtime resolving, and update .gitignore properly.
- perf(PluginCard): implement stealth preloading functionality for internal Markdown image references utilizing browser's background cache initialization during card hover gestures.
- style(Header): improve header title text responsiveness on small and medium screens.f72752b3/2/2026, 5:54:53 PMkaokao221
docs: update README credits and show build info in footer
This commit includes:
- Deployment information in footer (Cloudflare/Vercel)
- Automated build version information including git hash
- Credits to Gemini, Claude, and ChatGPT in README