Skip to content
CAI
Software that uses CAICheck a score

DustinBrett/daedalOS

42.7

Weak · 1 October 2026

53k

lines of production code

TypeScript

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a browser-based desktop operating environment that emulates a Windows-like interface using Next.js and React. It provides a comprehensive suite of applications including file management, code editing, media playback, and document viewing, alongside extensive emulation capabilities for DOS, x86, and retro gaming consoles. The platform also integrates client-side AI inference for image generation and chat, along with web workers for heavy computational tasks like video decoding and animated wallpapers.

How it got here

2021 — Initial scaffolding and core OS implementation

71 changes.

The project was initialized as a Next.js-based desktop environment, establishing the foundational infrastructure including context providers, window management, and theming. This period focused on building the core system shell, such as the taskbar, start menu, and file explorer, while integrating essential applications like emulators, a terminal, and a browser.

2022 — client-side utility expansion and performance optimization

35 changes.

This period focused on significantly expanding the system's capabilities by introducing numerous new applications, including games, emulators, and productivity tools like a Markdown viewer and IRC client. Concurrently, the team heavily optimized performance by offloading heavy rendering tasks for wallpapers and media processing to Web Workers and WebAssembly, while also upgrading core infrastructure such as archive handling and search functionality.

2023–2026 — AI integration and system expansion

29 changes.

This period focused on integrating advanced AI capabilities, including Stable Diffusion for image generation and wallpapers, alongside a new taskbar-based AI assistant. The system expanded significantly with new applications like a Nostr messenger, TIC-80 emulator, and chess game, while enhancing core shell features such as file management, dialogs, and accessibility testing.

Features

Add Chess game

Added a new Chess game feature, including the necessary CSS styles and SVG images for the chess pieces.

public/Program Files/Chess · high confidence

Add ClassiCube app with Emscripten mounting and window resizing

This change introduces the ClassiCube application as an isolated component within the system. It integrates with the existing AppContainer infrastructure, utilizing a custom hook to manage the Emscripten-based game engine via \useEmscriptenMount\. The implementation supports dynamic window resizing by syncing the canvas size with the application window dimensions and handles file system mounting upon initialization. The app is wrapped in a styled container that accounts for the title bar height and includes memoization for performance optimization.

components/apps/ClassiCube · high confidence

Add ClassiCube game support

Users can now play ClassiCube directly in the browser. This change introduces the ClassiCube JavaScript module (ClassiCube.js) which handles loading the game's default assets (such as texture packs) and initializing the Emscripten-based runtime environment.

public/Program Files/ClassiCube · high confidence

Add Coastal Landscape ShaderToy wallpaper

A new 'Coastal Landscape' animated wallpaper has been added to the desktop system. This feature introduces a dedicated component that loads specific ShaderToy libraries (piLibs, effect, and init scripts) to render a WebGL canvas. It supports both standard DOM rendering and offscreen canvas rendering via a dedicated worker, which handles initialization, size updates, and error reporting for the visual effect.

components/system/Desktop/Wallpapers/ShaderToy · high confidence

Add DX-Ball game app

Users can now launch the DX-Ball arcade game from the application menu. The app features a responsive canvas layout, persistent high-score storage via the virtual file system, and proper cleanup of global variables and audio when the window is closed.

components/apps/DX-Ball · high confidence

Add DevTools app with Eruda-based browser inspection

Introduces a new DevTools application that embeds the Eruda library to provide browser-side debugging capabilities, including console, elements, and network inspection. The tool dynamically adjusts its available panels (such as resources and sources) based on the viewport width and automatically selects the first file entry in the DOM upon loading. It uses a Monokai Pro theme, integrates with the system's process lifecycle to manage initialization and cleanup, and hides the default Eruda toggle button for a cleaner interface.

components/apps/DevTools · high confidence

Add Eruda performance monitoring tools

The application now includes the Eruda developer tools, specifically adding a new performance monitor component that displays real-time FPS, JavaScript heap memory usage, and DOM node counts via an on-screen overlay.

public/Program Files/Eruda · high confidence

Add ImageMagick WASM-based image conversion utility

A new utility module in utils/imagemagick enables client-side image transcoding using the wasm-imagemagick library. The convert function loads the WASM binary, accepts input files, and transforms them to a specified output extension (e.g., converting to .jpg). It supports decoding common formats like .bmp, .gif, .ico, .jpeg, .jpg, .png, .psd, .tiff, and .xcf, and encoding to .bmp, .gif, .jpg, .png, .psd, .svg, and .tiff. The utility includes optional verbose logging via a callback and handles the conversion of multiple files in parallel.

utils/imagemagick · high confidence

Add JPEG XL (.jxl) image support

The application now supports decoding JPEG XL (.jxl) images. A new Web Worker (jxl\_dec.js) has been added to handle the decoding process using a compiled WebAssembly module (jxl\_dec.wasm), allowing users to view and convert .jxl files within the browser.

public/System/JXL.js · high confidence

Add JSDOS application for running DOS games and executables

Users can now launch and play DOS-based software via the new JSDOS app. This feature integrates the js-dos emulator to run .exe files and .jsdos bundles, supporting automatic state saving and restoration via zip snapshots. The app includes accessibility improvements such as canvas labeling, mute/unmute controls, and proper keyboard event handling for special keys. It also features dynamic window sizing based on the emulator's frame size, screenshot capture on save states, and support for loading files from the local file system or URLs.

components/apps/JSDOS · high confidence

Add Kiwi IRC client app

Introduces a new IRC application that embeds the Kiwi web client via an iframe. The app pre-configures connections to Libera.Chat, ErgoTestnet, and InspIRCd Testnet, automatically generating a random nickname for guests if no local configuration exists. It tracks joined and parted channels to update the app window title dynamically.

components/apps/IRC · high confidence

Add Kiwi IRC client static assets

The Kiwi IRC web client is now available as a static bundle in the public directory, including the main HTML entry point, a default configuration file (with Light theme, compact message layout, and English language), and the associated CSS/JS assets. Users can now access the IRC client interface at the /Program Files/kiwiirc/ path.

public/Program Files/kiwiirc · high confidence

Add Marked app for viewing Markdown files

A new Marked application has been added to the system, allowing users to view and read Markdown documents. The app renders Markdown content into styled HTML, supports syntax highlighting for code blocks, and includes a table of contents navigation for long documents. It integrates with the file system to open local Markdown files and handles external links within the content. For security, all rendered HTML is sanitized using DOMPurify before display, and the interface allows text selection for copying.

components/apps/Marked · high confidence

Add Marked.js and DOMPurify for secure Markdown rendering

The Markdown viewer now uses the Marked.js library to parse Markdown content and DOMPurify to sanitize the resulting HTML. This ensures that user-provided Markdown is rendered safely by stripping out potentially dangerous scripts or attributes, addressing the need for HTML sanitization in the viewer component.

public/Program Files/Marked · high confidence

Add Matrix-themed desktop wallpaper

A new Matrix-themed wallpaper has been added to the desktop system. This component initializes a canvas element and loads the necessary WebGL (regl) libraries to render the animated falling code effect. It includes a configuration file that defines visual parameters such as animation speed, color palette, brightness, and glyph settings, allowing the wallpaper to be customized and integrated into the system's desktop environment.

components/system/Desktop/Wallpapers/Matrix · high confidence

Add Quake 3 game support

This change introduces a new Quake 3 application component, including the main UI wrapper and the underlying Emscripten-based hook. Users can now launch Quake 3 within the system, where the game window supports resizing and maximization, right-click context menus are disabled, and audio is properly stopped when the application is closed.

components/apps/Quake3, public/Program Files/Quake3 · high confidence

Add Start Menu Sidebar with expandable navigation and quick-access shortcuts

Introduces a new sidebar component within the Start Menu that provides a collapsible navigation rail. The sidebar features a 'START' toggle button to expand or collapse the view, displays icons for 'All apps', 'Documents', 'Pictures', and 'Videos' (opening the File Explorer for the latter three), and includes a 'Power' button that clears session data and reloads the page. The layout is responsive, dynamically adjusting the number of visible bottom shortcuts based on available vertical space, and includes visual enhancements such as hover effects, active state highlighting, and a backdrop blur effect.

components/system/StartMenu/Sidebar · high confidence

Add TIC-80 emulator app

This change introduces a new TIC-80 application component within the system. It provides a React wrapper that integrates the TIC-80 emulator via an isolated content window, handling file loading, canvas rendering with pixelated scaling, and title updates based on the loaded \.tic\ file.

components/apps/Tic80 · high confidence

Add Webamp music player app with skin and MilkDrop support

Introduces the Webamp application to the OS, allowing users to play MP3 files and M3U/PLS/ASX playlists via drag-and-drop or file association. The player supports custom Winamp skins (including a random skin option from the Winamp Skin Museum) and includes the MilkDrop visualizer with cycling presets. It integrates with the system's file system for saving playlists and persists skin data across sessions.

components/apps/Webamp · high confidence

Add screen saver support with interactive dismissal

Users can now enable a screen saver feature that displays content in a full-screen iframe overlay. The screen saver automatically dismisses upon any user interaction, such as mouse movement, clicks, keyboard input, or touch events, ensuring the system returns to normal operation immediately when activity is detected.

components/system/Dialogs/ScreenSaver · high confidence

Add shortcuts for Chess, ClassiCube, DX-Ball, Quake III Arena, Chrome Dino, and Space Cadet

New shortcut entries have been added to the Games section of the Start Menu, providing quick access to Chess, ClassiCube (Minecraft Classic 0.30), DX-Ball (Breakout), Quake III Arena, the Chrome Dino (T-Rex Runner) side-scroller, and 3D Pinball Space Cadet. Each shortcut includes a specific icon and links to the corresponding application or URL.

public/Users/Public/Start Menu/Games · high confidence

Added Coastal Landscape ShaderToy wallpaper

A new coastal landscape visual effect is now available as a wallpaper option. This change introduces the necessary runtime files (effect.js, init.js, and piLibs.js) within the public/System/ShaderToy/CoastalLandscape directory to render the ShaderToy scene.

public/System/ShaderToy · high confidence

Added DX-Ball game implementation

The DX-Ball game has been added to the application. The new \game.js\ file implements the core game logic, including asset loading (images and audio), font rendering, and game state management. It includes functionality to initialize the game, manage audio tracks, and properly clean up resources (clearing intervals, timeouts, and pausing audio) when the game is closed or exits early.

public/Program Files/DX-Ball · high confidence

Added HEIF image support via libheif

The application now supports HEIF (High Efficiency Image File) format images. This capability is enabled by the addition of the \libheif-bundle.js\ file in the \public/System/libheif\ directory, which bundles the libheif library (compiled via Emscripten) to provide client-side decoding of HEIF content.

public/System/libheif · high confidence

The application now includes the Lunr.js library (version 2.3.9) in the public/System/lunr directory. This adds the necessary client-side search engine capabilities, enabling features such as full-text indexing, tokenization, stemming, and query parsing directly in the browser without requiring a backend search service.

public/System/lunr · high confidence

Added TIC-80 fantasy console runtime

The TIC-80 fantasy console is now available as a web-based runtime. This change introduces a new JavaScript module that loads the TIC-80 WebAssembly binary, providing a virtual file system, audio input/output, and screen rendering capabilities within the browser environment.

public/Program Files/Tic80 · high confidence

Added Web Worker-based video decoding support

A new JavaScript Web Worker (\codecbox-decoder-worker.js\) has been added to handle video and audio decoding off the main thread. This worker loads the \codecbox.js\ Emscripten module and exposes an API for opening media files, queuing video buffers, and triggering decode operations, returning processed video frames and audio samples via postMessage. This change enables asynchronous media processing without blocking the UI.

(repo-wide) · high confidence

Added client-side FFmpeg transcoding utility

A new utility module has been introduced to enable client-side media transcoding using the @ffmpeg/ffmpeg library. This addition includes a configuration file defining supported audio and video decode/encode formats, a type definition for transcoding operations, and an implementation that loads the FFmpeg core and WebAssembly assets to perform file conversions directly in the browser.

utils/ffmpeg · high confidence

Added eSheep desktop pet

Users can now install and use the eSheep desktop pet application. This change introduces the core configuration and animation data for the 'gSheep Blue' pet (named Ben), including its XML definition, sprite assets, and associated metadata.

public/Program Files/eSheep · high confidence

Added offline T-Rex runner game to the browser

Users can now play the classic T-Rex runner game directly in the browser when offline. This change adds the necessary HTML, CSS, and JavaScript assets (including the game logic, sprites, and sound effects) to the \public/Program Files/Browser/dino\ directory. The implementation includes support for both keyboard and touch input, allowing users to interact with the game on various devices.

public/Program Files/Browser · high confidence

Browser app introduces directory indexing, proxy support, and local content handling

The Browser app now supports directory indexing for local file paths, generating an HTML view of folder contents with sortable columns for name, modification date, size, and description. It includes built-in proxy support via a context menu, allowing users to route requests through allOrigins, local CORS, the Wayback Machine, or The Old Net (selectable by year). The app also features a local T-Rex Chrome Dino game accessible via the chrome://dino URL, a configurable bookmark bar with default entries like Google and Wikipedia, and improved iframe handling with sandboxing and srcDoc management for local HTML files.

components/apps/Browser · high confidence

Clock now supports NTP server time and offscreen canvas rendering

The taskbar clock now offers a new 'Server time' option in its context menu, allowing users to synchronize the displayed time with an NTP server for higher accuracy. To maintain performance, the clock rendering has been moved to a dedicated web worker using OffscreenCanvas, which reduces main-thread blocking and ensures smoother UI updates. Additionally, the clock component has been refactored with dynamic sizing and improved accessibility labels.

components/system/Taskbar/Clock · high confidence

Desktop shortcuts and icon configuration

The desktop now includes system shortcuts for 'My PC' and the 'Public' folder, defined as .url files that link to the FileExplorer component. These shortcuts use WebP icons from the /System/Icons directory. Additionally, a desktop.ini file has been added to specify the desktop's own icon.

public/Users/Public/Desktop · high confidence

Expanded Start Menu with new application shortcuts

The Start Menu now includes shortcuts for a wider range of applications, adding entries for a Browser, Developer Tools, IRC Client, Markdown Viewer (Marked), Nostr Messenger, Monaco Editor, PDF Viewer, Paint, Photo Viewer, Stable Diffusion, Terminal, TinyMCE, Video Player, Vim, and Webamp. Each shortcut is configured with a specific base URL, descriptive comment, and corresponding system icon to improve discoverability and access to these tools.

public/Users/Public/Start Menu · high confidence

The File Explorer app now includes a dedicated navigation bar featuring an address bar for direct URL/path entry, Back/Forward/Up/Refresh buttons with history tracking, and a collapsible inline search bar that displays results in a context menu. The main component also handles keyboard shortcuts (Alt+D for address, Ctrl+E/F for search) and dynamically updates the window icon based on the current folder or mounted drive state.

components/apps/FileExplorer · high confidence

File Explorer now displays a persistent status bar with view switching and selection details

The File Explorer now includes a dedicated status bar at the bottom of the window. This bar provides real-time feedback on the total item count and, when files are selected, shows the count and total size of the selection. It also features view-switching buttons that allow users to toggle between the 'Details' and 'Medium icons' views directly from the footer. Additionally, an accessible 'This folder is empty' message is now displayed when a directory contains no items.

components/system/Files/FileManager · high confidence

Initial Next.js page structure with global providers and desktop shell

The application now uses a standard Next.js page layout. The root component (\_app.tsx) wraps all pages in a hierarchy of context providers (Viewport, Process, FileSystem, Session, Menu) and an ErrorBoundary, while \_document.tsx integrates styled-components server-side rendering and sets the HTML language. The main index page renders the core desktop interface, including the Desktop, Taskbar, and AppsLoader components, and initializes global hooks for keyboard shortcuts, error handling, and URL-based app loading.

pages · high confidence

Initial Video Player app with YouTube and canvas-based codec support

Introduces a new Video Player application that leverages the video.js library to handle local video files, YouTube streams, and specific codecs via a canvas-based decoder. The player features a custom-styled control bar, automatic window resizing based on video dimensions, and support for picture-in-picture and fullscreen modes. It includes specific handling for YouTube privacy settings and quality mapping, as well as a fallback canvas mode for decoding video files that may not be natively supported by the browser.

components/apps/VideoPlayer · high confidence

Initial project scaffolding and configuration

The repository is initialized with a Next.js-based desktop environment application. This change introduces the core build and development infrastructure, including a Dockerfile for containerized builds, Next.js configuration for static export and Webpack customization, and TypeScript settings. It also establishes a comprehensive linting and formatting suite using Oxlint, Stylelint, and Prettier, alongside configuration for Jest unit testing and Playwright end-to-end testing. The project structure includes a detailed feature overview in the README, a future ideas document, and a MIT license.

(repo-wide) · high confidence

Initial release of the BoxedWine application

Users can now run Windows applications via the new BoxedWine app. This component provides a styled container with a canvas for the emulator, a boot log console that displays until the canvas is ready, and logic to handle loading executable files or ZIP archives. It integrates with the system's file system and process management to mount the Emscripten environment and manage the emulator's lifecycle.

components/apps/BoxedWine · high confidence

Initial support for running Windows applications via BoxedWine in the browser

Users can now execute Windows software directly in the browser using the BoxedWine emulator. This change introduces the core JavaScript shell and runtime modules that handle configuration, file system emulation via BrowserFS, and canvas rendering. The implementation supports persistent storage using LocalStorage, allows for dynamic window titles, and includes logic to manage the loading state by showing a console until the canvas is ready.

public/Program Files/BoxedWine · high confidence

Introduce 'Open With' dialog for file association

Users can now select which application to use for opening a file via a new 'Open With' dialog. The interface presents a primary recommended app based on the file extension, followed by a list of other supported applications (such as Paint, Photos, and VideoPlayer) that can be chosen to open the file.

components/system/Dialogs/OpenWith · high confidence

Introduce AI assistant in the taskbar

A new AI assistant is now accessible directly from the taskbar via a dedicated button. This feature provides a chat interface that supports streaming responses, multiple conversation styles (balanced, creative, precise), and the ability to summarize text. It leverages the browser's native Window AI API when available, falling back to a local WebLLM engine (DeepSeek-R1-Distill-Llama-8B) for offline capabilities. Users can also generate images using Stable Diffusion and save them as wallpapers.

components/system/Taskbar/AI · high confidence

Introduce Monaco Editor app with save, formatting, and status bar

Users can now open and edit code files using the Monaco Editor application. This new app includes a status bar that displays the current line and column, the detected language, and a line count. It supports saving files via a dedicated button or the Ctrl+S keyboard shortcut, and allows formatting code for supported languages (JSON, CSS, Sass, Less, HTML, Markdown, XML) using the 'Pretty print' button. The editor also provides inline notifications for save and formatting results, and handles custom file extensions like .whtml.

components/apps/MonacoEditor · high confidence

Introduce Ruffle Flash Player App

Adds a new Ruffle-based Flash player application to the system, allowing users to load and play SWF/SPL files via drag-and-drop or URL arguments. The app integrates with the standard AppContainer for window management, supports taskbar peek controls for play/pause, and configures Ruffle with script access disabled and autoplay enabled for a secure, seamless playback experience.

components/apps/Ruffle · high confidence

Introduce Stable Diffusion image generation app

Adds a new Stable Diffusion application that allows users to generate images from text prompts. The app features a UI with positive and negative prompt inputs, a generate button, and a canvas for displaying results. It leverages WebGPU and OffscreenCanvas via a dedicated worker for performance when supported, falling back to a TVM-based runtime otherwise. Users can right-click the generated image to save it to the desktop or set it as the system wallpaper.

components/apps/StableDiffusion · high confidence

Introduce Stable Diffusion wallpaper component

A new wallpaper component has been added to the desktop system that generates images using Stable Diffusion. It initializes the necessary TVM and tokenizer WebAssembly libraries, creates a full-screen canvas, and runs the generation process in the background, allowing users to have AI-generated dynamic wallpapers.

components/system/Desktop/Wallpapers/StableDiffusion · high confidence

Introduce Vim text editor app

Adds a new Vim application component that integrates the Vim.js editor within the system. The app supports loading existing files from the file system, allows saving changes back to the file system via a write-back mechanism, and enables drag-and-drop file support. It also features transparent background styling, pixelated rendering for the canvas, and proper cleanup on exit.

components/apps/Vim · high confidence

Introduce animated Peek window with media controls and live preview

The Peek feature now displays a dedicated, animated preview window that captures the live content of a window (including video) using a 15fps requestAnimationFrame loop, rather than static icons. This new PeekWindow component includes Play/Pause media controls for paused content, a close button, and smooth height/opacity transitions. The preview respects aspect ratios and maximum width constraints, and the window automatically adjusts its horizontal offset if it extends beyond the viewport edges.

components/system/Taskbar/TaskbarEntry/Peek · high confidence

Introduce x86 emulation via V86

Adds a new V86 application component that enables x86 emulation within the system. This change introduces the core UI structure (canvas and text screen), configuration for BIOS and WASM assets, and hooks to manage the emulator lifecycle, including loading disk images, handling screen resizing, and saving/restoring state.

components/apps/V86 · high confidence

New Chess application with AI opponent and PGN support

A new Chess app has been added to the system, providing a 2D board interface powered by chessboard2 and chess.js. Users can play against a Stockfish AI engine with adjustable skill levels (1–21), play against another human locally, or review games in Computer vs Computer mode. The app supports PGN import/export (handling multi-game files by extracting the first game), board orientation flipping, and displays lichess-style coordinate labels on the squares. It also includes a loading overlay and status indicators for engine thinking and game outcomes like checkmate or stalemate.

components/apps/Chess · high confidence

New Galaxy animated wallpaper with parallax and density-wave rendering

A new Galaxy wallpaper has been added to the desktop system, featuring a WebGL-based animated spiral galaxy. The implementation uses a density-wave model to generate realistic spiral arms, a central bar, and a warped outer disk, rendered with thousands of particles for stars, dust lanes, and nebulae. It includes a supernova effect where young stars occasionally flare, diffraction spikes on bright stars, and subtle twinkling. The wallpaper supports parallax interaction: on desktop, it responds to pointer position, and on mobile, it uses device orientation (with a fallback for permission-gated platforms). It also handles window resizing, visibility changes, and WebGL context loss/restoration gracefully.

components/system/Desktop/Wallpapers/Galaxy · high confidence

New Nostr-based encrypted Messenger app

A new Messenger application has been added to the suite, enabling end-to-end encrypted chat via the Nostr protocol. The app features a contact list, a chat log with message history retrieval (supporting day, week, month, and trimester scales), and a profile banner. It handles NIP-04 decryption for message content, displays NIP-05 verified identities, and manages relay connections for publishing and receiving events. The interface includes a send message input, status indicators for sent messages, and context menus for copying keys or editing profile details.

components/apps/Messenger · high confidence

New OpenType font viewer app

Users can now open and preview OpenType font files (OTF, TTF, WOFF) directly within the system. The new app supports drag-and-drop or file selection to load fonts, displaying metadata such as the font name, version, and supported types (e.g., OpenType Layout, TrueType Outlines). It provides a visual preview of the font using a canvas-based renderer, showing sample text including the alphabet, numbers, symbols, and various font sizes. The viewer also includes accessibility features like ARIA labels and disables the right-click context menu for a cleaner experience.

components/apps/OpenType · high confidence

New PDF viewer app with controls and rendering

A new PDF viewer application has been added to the system, allowing users to open, view, and interact with PDF files. The app renders PDF pages as canvas elements within a scrollable container and provides a control bar for navigation and manipulation. Users can zoom in or out using dedicated buttons or by entering a specific percentage, navigate between pages via a page number input, and download or print the currently viewed document. The viewer supports drag-and-drop file loading, displays the document title and page count, and handles rendering state to prevent conflicts during page loads.

components/apps/PDF · high confidence

New Photos app with pan/zoom and QOI support

The Photos app is now available, allowing users to view images with pan and zoom capabilities via the @panzoom/panzoom library. The app supports keyboard navigation (arrow keys) to browse through images in the same folder, drag-and-drop file loading, and displays error messages for unsupported or corrupted files. It also introduces support for the QOI image format through a new decoder, alongside existing native image formats.

components/apps/Photos · high confidence

New WebGL-based screensavers added to the system

The system now includes three new screensaver options: 3D Flower Box, 3D Maze, and 3D Pipes. These are implemented as standalone HTML files using WebGL (with Three.js for 3D Pipes) to render 3D graphics, providing users with visual idle animations.

public/System · high confidence

New build-time scripts for asset generation and optimization

The build process now includes a suite of new scripts to generate and optimize static assets. \fs2json.js\ creates a virtual filesystem index, while \cacheShortcuts.js\ and \preloadIcons.js\ generate cached shortcut data and preload icon manifests for the desktop and start menu. HTML and JavaScript minification are handled by \minifyHtml.js\ and \minifyJs.js\, with the latter inlining Web Workers for performance. Additionally, \robots.js\ and \rssBuilder.js\ automatically generate \sitemap.xml\, \robots.txt\, and an RSS feed from blog posts, and \searchIndex.js\ builds a Lunr.js search index based on configurable file extensions.

scripts · high confidence

New common UI components for buttons, icons, and scrollbars

The styles/common directory now includes dedicated styled components for core UI elements. A new Button component standardizes button styling with support for a compact variant. The Icon component introduces a robust image loading system featuring responsive srcSet generation, async decoding, eager/lazy loading strategies, and fallback handling for broken or unsupported image formats. Additionally, a ScrollBars component provides customizable, theme-aware scrollbar styling with support for both dark and light color schemes, while a Message utility component enables consistent inline status messaging.

styles/common · high confidence

New context factory utilities for improved state management

Added two new factory functions, \contextFactory\ and \contextActionSelectorFactory\, to standardize and optimize React context usage. \contextFactory\ provides a memoized Provider and a custom hook for simple context consumption, while \contextActionSelectorFactory\ introduces a more advanced pattern using \useSyncExternalStore\ to allow components to subscribe to specific state selectors rather than re-rendering on every state change, alongside a stable actions context.

contexts · high confidence

New context menu system with Safari touch support

This change introduces a new context menu implementation in the \contexts/menu\ directory, providing a React context (\MenuProvider\) and hooks (\useMenu\, \useMenuIsOpen\) to manage menu state and actions. The core logic in \useMenuContextState\ handles positioning based on mouse or touch events and includes specific logic to support long-press context menus on Safari via touch events, addressing previous issues where context menus did not open correctly in that browser.

contexts/menu · high confidence

New context menu system with viewport-aware positioning

The system now includes a new context menu component located in components/system/Menu. This feature allows users to open menus via right-click or long-press, with submenus that stay within the viewport boundaries. The implementation uses framer-motion for transitions and supports emoji icons, keyboard navigation (Escape to close), and touch events. The menu automatically adjusts its position to avoid going off-screen, and supports nested submenus with proper offset calculations.

components/system/Menu · high confidence

New global styling system and theme infrastructure

This change introduces a new styling architecture for the application. It adds a GlobalStyle component that resets default browser styles, sets a system font stack, fixes input cursor and selection behavior, and implements CSS variables to support animated wallpaper transitions on the background. It also establishes the theme infrastructure by defining a DefaultTheme interface for styled-components, exporting arrow icon assets, and configuring motion features.

styles · high confidence

New hooks for double-click, keyboard shortcuts, and isolated content windows

The application introduces a suite of new React hooks to enhance interaction and performance. A custom \useDoubleClick\ hook now manages double-click events with a debounce timer and pointer-move cancellation to prevent accidental triggers. Global keyboard shortcuts are centralized in \useGlobalKeyboardShortcuts\, supporting complex combinations like Meta+keys in fullscreen and Shift+keys for actions such as opening the Run dialog or Terminal. The \useIsolatedContentWindow\ hook creates isolated iframes for apps, preserving WebGL drawing buffers to fix flickering in emulators and games. Additional hooks include \useUrlLoader\ for launching apps via URL parameters, \useWebGPUCheck\ and \useWindowAI\ for hardware capability detection, and \useIFrameFocuser\ to improve focus management within embedded content.

hooks · high confidence

New page-level components for metadata, styling, and error handling

This change introduces several new components in the \components/pages\ directory that refine how the application renders and handles state. The new \Metadata\ component centralizes document head management, including dynamic titles, favicons, Open Graph tags, an RSS feed link, and preloading of desktop icons. \StyledApp\ wraps the application with a \ThemeProvider\ for styled-components and lazy-loads Framer Motion features. \ErrorBoundary\ provides a class-based error boundary that reloads the page on fatal errors in production. Additionally, new hooks \useCursor\ and \useFaviconAndTitle\ manage custom cursor styles and dynamic favicon/title updates based on foreground process state.

components/pages · high confidence

New process management context with singleton and unique instance support

The application introduces a new process management system in the \contexts/process\ directory, defining how apps are registered, opened, and controlled. This system supports both singleton apps (like BoxedWine, DevTools, and Messenger) which maintain a single instance and update their URL when reopened, and multi-instance apps which generate unique PIDs based on arguments. It also handles dynamic library preloading, window state management (maximize/minimize), and smooth closing transitions with visual effects.

contexts/process · high confidence

New session context for persistent user preferences

A new session context has been introduced to manage and persist user-specific settings across the system. This includes storing and retrieving window states (position and size), desktop icon positions, file manager sort orders and views, recent file history, run history, and system preferences such as theme, wallpaper, clock source, and custom cursor. The context also handles window stacking order and foreground identification, ensuring that user layout and configuration choices are retained between sessions.

contexts/session · high confidence

New styled components for the file manager details view

The file manager's details view now uses dedicated styled components to control layout and appearance. StyledFileManager handles the list container, applying custom scrollbars, managing overflow behavior for empty folders, and positioning selection overlays. StyledFileEntry styles individual file items, defining padding, icon alignment, text truncation, and hover/focus background colors based on the current theme.

components/system/Files/Views/Details · high confidence

New taskbar calendar component with celebration effects

A new calendar panel has been added to the taskbar, featuring a styled grid view of the current month with navigation buttons to switch months. The component includes visual enhancements such as a spotlight effect on hover for fine-pointer devices, a blur backdrop matching the taskbar theme, and a confetti celebration animation triggered when clicking on specific dates (e.g., November 26th). It also handles focus management to close when clicking outside and prevents context menus.

components/system/Taskbar/Calendar · high confidence

New taskbar search interface with file details and categorized results

The taskbar search experience has been redesigned with a new UI that includes a dedicated details panel for viewing file metadata (such as location and last modified date) and opening files or their containing folders. Search results are now organized into categorized tabs (All, Documents, Photos, Videos) and support context menus for quick actions. The interface also features a single-line compact mode for narrower screens, lazy loading for performance, and visual tweaks like thin scrollbars and hover-based scroll visibility.

components/system/Taskbar/Search · high confidence

New viewport context with cross-browser fullscreen and conditional keyboard locking

A new ViewportContext has been introduced to manage viewport state, specifically providing a \toggleFullscreen\ function that handles cross-browser compatibility for entering and exiting fullscreen mode (supporting standard, Firefox, and Safari APIs). The context also implements conditional keyboard locking: it locks specific keys (Meta, Escape) only when the document element itself is in fullscreen, ensuring that keyboard input is not blocked when non-root elements are fullscreened, which addresses switching issues in Firefox and Safari.

contexts/viewport · high confidence

New wallpaper system with dynamic loading, worker offloading, and diverse sources

The desktop wallpaper system has been rebuilt to support a wider variety of dynamic and static backgrounds, including NASA APOD, Art Institute of Chicago, Met Museum, Hexells, Matrix, Galaxy, Vanta Waves, Picture Slideshow, and Stable Diffusion. This change introduces a centralized configuration in \constants.ts\ and a handler system in \handlers.ts\ that fetches content from external APIs or local files. To maintain performance, heavy rendering tasks (such as Galaxy, Vanta, and Stable Diffusion) are offloaded to dedicated Web Workers, with specific worker definitions provided in the constants. The system also respects user accessibility preferences by reducing motion for users with \prefers-reduced-motion\ enabled and supports various image fitting modes (center, fill, fit, stretch, tile).

components/system/Desktop/Wallpapers · high confidence

New window close/open effects and desktop pets

Users can now choose from a variety of visual effects when opening or closing windows, powered by WebGL shaders adapted from the Burn-My-Windows GNOME extension. The system also introduces desktop pets, including animated sheep and a connectome-driven fruit fly that navigates window edges.

utils · high confidence

Ported DesktopFly simulation with worker-based neural processing and realistic audio

The DesktopFly utility has been ported from the upstream 'gnat' implementation, introducing a full Drosophila melanogaster simulation on the desktop. The neural simulation (9,907 neurons) now runs in a dedicated Web Worker to keep the main thread responsive, while the main thread handles desktop sensing (windows, icons, cursor) and rendering. The update adds realistic, per-fly audio generated via the Web Audio API, featuring individual wingbeat frequencies and turbulence noise. It also introduces a new 'Activity' system to detect human presence via input events, influencing fly behavior, and implements a memory system for spatial valence (danger/comfort) and object familiarity.

utils/desktopFly · high confidence

Resizable and sortable file columns in the file manager

The file manager now supports interactive column headers that allow users to resize column widths by dragging the right edge and sort the file list by clicking the header (with visual indicators for sort direction and order). This change introduces a new Columns component with defined default widths and order for Name, Date modified, Type, and Size columns, replacing previous static or less interactive header implementations.

components/system/Files/FileManager/Columns · high confidence

Space Cadet Pinball game added as an isolated web application

The Space Cadet Pinball game is now available as a standalone web application located at public/Program Files/SpaceCadet. This entry introduces the core JavaScript runtime (SpaceCadetPinball.js) that loads the game's WebAssembly module and embedded resource files (such as sounds and images) into an in-memory file system, enabling the classic game to run directly in the browser.

public/Program Files/SpaceCadet · high confidence

Space Cadet game app added

A new Space Cadet application has been introduced, featuring an isolated content window with a canvas-based rendering surface. The app utilizes Emscripten for mounting and manages its lifecycle by stopping audio upon closure and preloading specified libraries.

components/apps/SpaceCadet · high confidence

Start button now spawns Run dialog on Ctrl+Shift+click

Clicking the Start button with both Ctrl and Shift keys pressed now opens the Run dialog (spawnFly) in addition to toggling the Start menu. The Start button component also now preloads the Start menu and its icons on hover to improve perceived performance.

components/system/Taskbar/StartButton · high confidence

Start menu now includes a file manager view with a sidebar and custom thin scrollbars

The Start menu component has been refactored to display a file manager view (showing the START\_MENU\_PATH) alongside a new Sidebar component, replacing the previous static layout. This change introduces a custom thin scrollbar that dynamically appears when the user hovers near the right edge of the menu, with specific styling adjustments for Firefox and non-WebKit browsers to ensure consistent visual behavior. The menu also now supports keyboard navigation, allowing users to press Escape to close the menu or type a character to trigger the search function.

components/system/StartMenu · high confidence

Terminal app restructured with new command interpreter and subsystems

The Terminal application has been reorganized into a modular structure, introducing a dedicated command interpreter hook (useCommandInterpreter) that centralizes logic for built-in commands (such as git, python, and ffmpeg), aliases, and autocomplete. This change adds support for running Python code via Pyodide, executing JavaScript through QuickJS, and loading WebAssembly binaries from the WAPM registry. The terminal now features a local echo controller for improved input handling, history management, and context-menu clipboard integration, while styling is managed through a new styled component that applies backdrop blur and custom cursor animations.

components/apps/Terminal · high confidence

Updated TVM runtime to support WASI and Node.js environments

The TVM JavaScript runtime in the public/System/tvm directory has been upgraded to include a new WASI-compatible runtime module (tvmjs\_runtime.wasi.js) alongside the existing bundle. This change enables the TVM inference engine to execute in Node.js and WebAssembly System Interface environments, expanding the deployment options for server-side or hybrid AI workloads beyond standard browser contexts.

public/System/tvm · high confidence

Updated Video.js player assets and added YouTube tech support

The Video.js player library has been upgraded, introducing new minified JavaScript and CSS assets that include updated styling and functionality. Additionally, a new YouTube tech plugin (Youtube.min.js) has been added to the directory, enabling the player to natively support YouTube video sources via the YouTube IFrame API.

public/Program Files/Video.js · high confidence

Architecture

File entry component refactored with new sub-components and logic

The FileEntry component has been restructured into a modular architecture, introducing dedicated sub-components for the details view (ColumnRow), renaming (RenameBox), and sub-icons (SubIcons), alongside extracted logic for file extensions, executable icon parsing, and context menus. This change improves code organization and performance by enabling dynamic imports and memoization for these specific parts of the file entry UI.

components/system/Files/FileEntry · high confidence

Behavioural changes

1 commit (0 fixes) modifying public/Program Files/EmulatorJs/old

A change to existing behaviour in public/Program Files/EmulatorJs/old — 1 commit, 9 files.

public/Program Files/DesktopFly, public/Program Files/EmulatorJs/old · low confidence · unverified

3 commits (0 fixes) modifying public/Program Files/EmulatorJs/cores

A change to existing behaviour in public/Program Files/EmulatorJs/cores — 3 commits, 8 files.

public/Program Files/EmulatorJs/cores, public/System/mediainfo.js · medium confidence · unverified

Adopts yarn for pre-commit hook execution

The pre-commit hook in the .husky directory has been updated to use yarn to run lint-staged, replacing the previous method of execution. This ensures that the linting process during commits is handled consistently via the yarn package manager.

.husky · high confidence

Centralized file manager view configuration

The file manager now uses a centralized configuration in \components/system/Files/Views/index.ts\ to manage view-specific styling and icon sizing. This change introduces a \FileManagerViews\ registry that maps view names (details, icon, list) to their respective styled components, and a \FileEntryIconSize\ map that defines specific icon dimensions for each view mode, ensuring consistent visual presentation across the file explorer.

components/system/Files/Views · high confidence

Default theme configuration split into modular files

The default theme's styling configuration has been reorganized from a single monolithic structure into separate, dedicated files for colors, sizes, and formats. This change introduces a structured color palette using HSLA values for file entries, taskbar states, and window elements, defines specific sizing metrics for UI components like the taskbar, start menu, and file explorer, and establishes standard format options such as the system font stack and date display settings.

styles/defaultTheme · high confidence

Dialogs now close on Escape key and feature a new styled button component

Users can now close dialog windows by pressing the Escape key, implemented via a new \useCloseOnEscape\ hook that triggers the close transition. Additionally, a new \StyledButton\ component has been introduced to standardize button appearance within dialogs, providing consistent styling for default, hover, focus, active, and disabled states.

components/system/Dialogs · high confidence

Emulator app re-architected with EmulatorJs and new core configuration

The Emulator app has been rebuilt to use EmulatorJs instead of the previous Byuu backend, introducing a new configuration system in config.ts that maps specific console cores (such as NES, SNES, N64, and Genesis) to their supported file extensions. This change brings improved state management via the useEmulator hook, which handles ROM loading, automatic save-state restoration, and snapshot creation, while also adding accessibility improvements like ARIA labels to the emulator canvas and supporting isolated content windows for better stability.

components/apps/Emulator · high confidence

Emulators section now includes icons and dedicated shortcuts for multiple emulators

The Emulators section of the Start Menu has been updated to provide distinct shortcuts with custom icons for BoxedWine, EmulatorJS, Ruffle, TIC-80, Virtual x86, and js-dos. Each shortcut now points to its specific emulator interface and displays a unique icon, improving discoverability and organization compared to the previous unified entry.

public/Users/Public/Start Menu/Emulators · high confidence

File system context restructured with BrowserFS configuration and async operations

The file system context has been reorganized into a modular structure, introducing a dedicated configuration layer (FileSystemConfig) that defines the BrowserFS backend setup using OverlayFS with HTTPRequest for readable content and IndexedDB or InMemory for writable storage. Core utilities (core.ts) now handle 9P filesystem parsing, IndexedDB support detection, and key-value store management, while functions.ts centralizes file system handle management, permission requests, and storage reset logic. The context state (useFileSystemContextState) and async file system interface (useAsyncFs) have been refactored to support asynchronous operations, file watching, and improved error handling for mounted drives and file operations.

contexts/fileSystem · high confidence

Hexells wallpaper now runs in an offscreen worker with fallback handling

The Hexells desktop wallpaper has been refactored to execute its rendering logic in a background worker thread rather than the main UI thread. This change introduces a dedicated worker script that initializes the Hexells demo on an OffscreenCanvas, aiming to improve performance and prevent UI jank. The implementation includes error handling within the worker to catch initialization failures and report them back to the main thread, ensuring that a failing offscreen context does not silently break the wallpaper experience.

components/system/Desktop/Wallpapers/hexells · high confidence

Hexells wallpaper system upgraded to offscreen canvas with new assets

The Hexells wallpaper system has been upgraded to render on an offscreen canvas, improving performance and allowing the animation to run in the background without blocking the main thread. This change introduces new core assets, including an updated \ca.js\ (WebGL shader logic), \demo.js\ (model and texture configuration), and \UPNG.min.js\ (PNG decoding), alongside \twgl.min.js\ (WebGL utility library). The system now supports wallpaper selection and automatically cycles through different Hexells patterns every 20 seconds, with fallbacks in place for cases where the offscreen context fails to initialize.

public/System/Hexells · high confidence

JS Paint help system styled to match Windows 98 theme

The JS Paint help documentation has been restyled to visually match the Windows 98 aesthetic. New CSS files (coUA.css, nobgcolor.css) and HTML pages have been added to the help directory, utilizing Windows 98 color variables and fonts. The help system now features a consistent look and feel, including a rainbow color bar and retro typography, aligning the documentation with the application's overall theme.

public/Program Files/jspaint · high confidence

Matrix wallpaper rewritten with WebGL pipeline and camera support

The Matrix wallpaper system has been completely rewritten to use a WebGL (regl) rendering pipeline, replacing the previous implementation. This update introduces a modular effect system supporting multiple visual styles including palette, custom stripes, pride themes, and image-based backgrounds. A new camera integration allows the wallpaper to use the device's webcam as a background source, and the system now supports HoloPlay stereoscopic displays for compatible hardware. The visual quality is enhanced with a new bloom post-processing effect, volumetric rain rendering, and dithering to reduce color banding.

public/System/Matrix · high confidence

New Desktop component with strict containment and off-screen wallpaper rendering

The Desktop component has been restructured into a new layout that enforces strict CSS containment and disables overscroll behavior to prevent unintended page scrolling. It now renders the wallpaper via an off-screen canvas positioned absolutely behind the file manager, ensuring the background is covered without interfering with pointer events or layout. The file manager is configured to load icons immediately and hide loading/scrolling indicators, providing a cleaner initial desktop experience.

components/system/Desktop · high confidence

New selection box implementation with scroll support

The file manager now uses a dedicated selection hook and styled component to render a visual selection box. This change introduces logic to track mouse movements for resizing the selection area, handles scrolling within the container to allow selection beyond visible bounds, and ensures the selection menu closes when a new selection starts. The visual feedback is provided by an absolutely positioned span with theme-based colors, and the underlying state management has been refactored to support these interactions more robustly.

components/system/Files/FileManager/Selection · high confidence

New styled components for the file list view

The file manager list view now uses dedicated styled components (StyledFileEntry and StyledFileManager) to control layout and interaction. File entries are displayed as flex columns with specific padding and margins for icons and captions, and the list container adds top margin and absolute positioning for non-first images. Hover and active states are handled differently for fine versus coarse pointers, with background color changes and letter-spacing adjustments on activation.

components/system/Files/Views/List · high confidence

Paint app now displays a loading screen and handles file operations via iframe hooks

The Paint application component has been refactored to include a visual loading state while the underlying JS Paint iframe initializes, using a fade-in transition controlled by a $loaded prop. It also establishes deeper integration with the host system by intercepting JS Paint's file dialogs and save/close actions to update window titles, handle drag-and-drop file drops, and write generated images directly to the virtual file system as wallpapers or desktop files.

components/apps/Paint · high confidence

Pyodide upgraded to version 0.26.0 with Python 3.12 support

The Pyodide runtime has been upgraded to version 0.26.0, which now runs on Python 3.12.1. This update refreshes the entire standard library and bundled package ecosystem, including major scientific and web libraries such as NumPy 1.26.4, Pandas 2.2.0, Matplotlib 3.5.2, and SciPy dependencies, ensuring compatibility with the latest Python 3.12 features and security patches.

public/Program Files/Pyodide · high confidence

Redesigned Properties dialog with General and Details tabs

The Properties dialog has been rebuilt to feature a tabbed interface with a General tab for file/folder metadata and renaming, and a Details tab for media-specific information. The General tab now supports renaming files and folders, displays accurate file counts and sizes for directories, and respects Windows 10 1607-style unlimited filename lengths. The new Details tab leverages exif-js and mediainfo.js to display EXIF data for images (including thumbnails) and detailed media properties for audio/video files, with custom formatting for durations and bitrates. The UI includes a custom scrollbar, improved state management with memoization, and accessibility enhancements like escape-to-close and proper ARIA labels.

components/system/Dialogs/Properties · high confidence

Redesigned file transfer dialog with indeterminate progress animation

The file transfer dialog has been completely rewritten to improve visual feedback and state management. It now features a styled progress bar that supports an indeterminate state with a smooth gradient animation, providing clearer status updates during operations like copying, moving, or extracting. The dialog logic has been refactored to prevent dragging folder shortcuts into themselves, ensures the dialog does not open if no files are present, and correctly handles title truncation for long filenames. Additionally, the dialog can now be closed using the Escape key, and the UI updates to reflect specific operations such as converting or extracting files.

components/system/Dialogs/Transfer · high confidence

Redesigned titlebar with distinct foreground/inactive states and touch support

The titlebar component has been refactored to visually distinguish the active (foreground) window from inactive ones using specific background and text colors, along with a bottom border. It now includes dedicated SVG icons for minimize, maximize, maximize (maximized state), and close actions, with disabled states for buttons when resizing is locked. Touch interactions are supported, allowing users to open the context menu via long-press on the titlebar icon or area. The context menu itself has been updated to include mute/unmute options for supported applications and uses embedded PNG icons for its actions. Window focus management has been improved, ensuring the correct window is brought to the foreground upon clicking, minimizing, maximizing, or closing, with specific handling to prevent scroll jumps during focus changes.

components/system/Window/Titlebar · high confidence

Refactored Apps system with new loading, error handling, and rendering components

The Apps system in the system UI has been restructured to improve reliability and user experience. A new AppsLoader component now manages the lifecycle of open applications using AnimatePresence for smoother transitions. AppContainer handles loading states and file drop interactions, while RenderComponent wraps individual app instances in an ErrorBoundary to catch crashes gracefully. A dedicated ComponentError component displays a clear, high-contrast error message when an app fails, and a new StyledLoading component provides accessible feedback during initialization.

components/system/Apps · high confidence

Refactored File Explorer Icon View styling into dedicated components

The styling for the File Explorer's Icon view has been extracted into two new dedicated styled-components: \StyledFileEntry\ and \StyledFileManager\. \StyledFileManager\ now explicitly defines the grid layout (including row/column gaps and auto-fill behavior), manages scrollbar integration via a shared utility, and handles viewport overflow logic for empty folders. \StyledFileEntry\ centralizes the visual presentation of individual items, including icon sizing, text truncation (\overflow-wrap: anywhere\), hover/focus states, and the positioning of the rename textarea. This change improves code maintainability by isolating view-specific styles from the broader application theme.

components/system/Files/Views/Icon · high confidence

Refactored window management with improved resizing, positioning, and accessibility

The RndWindow component and its hooks have been restructured to provide more robust window behavior. Resizing now respects minimum dimensions (166x30px) and can maintain aspect ratios, while drag and resize operations keep windows within the viewport bounds. Windows automatically center when auto-sizing or opening without a saved position, and their state is persisted to the session. Accessibility is improved by preventing scroll on focus and correctly routing focus to resize handles. The component also handles iframe interaction better by temporarily disabling pointer events during drag/resize to prevent capture issues.

components/system/Window/RndWindow · high confidence

Refactored window management with new hooks and styling

The Window component has been restructured to improve focus handling, resizing logic, and visual transitions. A new \useFocusable\ hook centralizes foreground state, stacking order, and click-to-focus behavior, while \useWindowTransitions\ now drives open/close/minimize/maximize animations using Motion variants. Window sizing is managed by \useWindowSize\ and \functions.ts\, which enforce minimum dimensions and aspect-ratio locking. Styling is extracted into \StyledWindow\, supporting background colors, blur effects, and distinct outlines for active vs. inactive windows.

components/system/Window · high confidence

Replaced libarch with 7zip for archive handling

The archive processing capability in the System module has switched from the previous libarch library to 7zip. This change introduces a new JavaScript module (7zz.umd.js) that interfaces with the 7zip WebAssembly runtime, enabling users to utilize 7zip's compression and decompression features instead of the former implementation.

public/System/7zip · high confidence

Revert Monaco Editor upgrade to version 0.32.1

The Monaco Editor library in the public assets has been reverted to version 0.32.1 (commit 8ad5e3b). This change restores the previous editor version, undoing the prior upgrade attempt to address stability or compatibility issues.

public/Program Files/MonacoEditor · high confidence

Run dialog now supports CLI command parsing and resource aliases

The Run dialog has been updated to parse commands using the Terminal's command parser, allowing users to launch applications by name (e.g., 'cmd', 'explorer', 'mspaint') via a new resource alias map. It also supports launching IPFS resources directly by resolving and saving them to the desktop, and handles Nostr URLs by opening the Messenger app. The dialog now prevents closing on failure, disables controls while running, and uses useLayoutEffect for better rendering stability.

components/system/Dialogs/Run · high confidence

Stable Diffusion WebGPU migration with new scheduler support

The Stable Diffusion implementation in the browser has been migrated to use TVM (Tensor Virtual Machine) for WebGPU acceleration, replacing the previous execution engine. This update introduces support for two specific scheduling algorithms—PNDM and DPM-Solver Multistep—by adding their respective constant configuration files and JavaScript wrapper classes to manage the TVM virtual machine and memory. The pipeline now relies on a local \config.json\ to locate the WebAssembly module and scheduler constants, and integrates a WASM-based tokenizer (\tokenizers-wasm\) to handle text encoding, enabling image generation directly within the chat interface using these optimized inference paths.

public/Program Files/StableDiffusion · high confidence

Switched emulator engine to EmulatorJs

The in-browser emulator engine has been replaced with EmulatorJs, introducing a new set of UI styles and JavaScript logic for handling gamepad input, fullscreen modes, and context menus. This change updates the visual appearance and interaction model of the emulator interface while maintaining core emulation functionality.

public/Program Files/EmulatorJs · high confidence

Taskbar UI and interaction overhaul

The taskbar component has been restructured to support a more dynamic and accessible interface. A new context menu is now available on the taskbar background, offering options to toggle fullscreen, show the desktop, and enable/disable the AI button (when WebGPU is available), while the Start button context menu provides quick access to Terminal, File Explorer, and Run. The layout now includes a dedicated Search button and an AI button that appears conditionally based on system capabilities. Under the hood, the component uses dynamic imports to lazy-load the Start Menu, Search, Calendar, and AI modules for better performance, and introduces new styling utilities for consistent theming and animation transitions for taskbar items.

components/system/Taskbar · high confidence

Taskbar entries now animate with layout-aware transitions

The taskbar entry list has been refactored to use Motion's AnimatePresence with layout-aware animations, allowing running application entries to smoothly animate in and out as they are opened or closed. The container now dynamically calculates its right offset to account for the clock width and an optional AI button, ensuring entries are correctly positioned left-to-right without overlapping system UI elements.

components/system/Taskbar/TaskbarEntries · high confidence

Taskbar entry now shows progress and supports peek previews

The taskbar entry component has been updated to visually indicate application progress via a foreground bar and border, and to display a small preview window (peek) when the user hovers over the entry. This change also introduces smoother width transitions for the entry and improves accessibility with proper ARIA labels and focus management.

components/system/Taskbar/TaskbarEntry · high confidence

Terminal now supports local echo, autocomplete, and shell-like input handling

The terminal now processes input locally before sending it to the backend, providing immediate visual feedback (local echo) and supporting shell-like features such as command history navigation, tab completion, and quote-aware parsing. This change introduces a new local echo controller that handles input buffering, cursor movement, and autocomplete logic, replacing the previous direct-pass-through behavior. Users will see typed characters appear instantly, and commands with spaces or special characters are now handled more robustly with proper quoting and escaping.

public/Program Files/Xterm.js · high confidence

TinyMCE editor restructured with save, read-only, and RTF support

The TinyMCE app component has been refactored to include a dedicated save button and callback, allowing users to save documents to a default path or a specified URL. It now opens existing files in read-only mode by default, with an 'Edit Document' overlay to switch to design mode, while new documents open directly in edit mode. Additionally, the editor now supports loading .rtf files via RTF.js and displays a success/error notification upon saving.

components/apps/TinyMCE · high confidence

TinyMCE editor upgraded to version 6.7.0

The TinyMCE rich-text editor has been upgraded to version 6.7.0. This update includes new and refreshed keyboard navigation help documentation in multiple languages (including Arabic, Bulgarian, Catalan, Czech, Danish, German, Greek, English, Spanish, Basque, Persian, Finnish, and French) to assist users with accessibility and key shortcuts, as well as an updated code editor plugin that provides a dedicated dialog for viewing and saving source code.

(repo-wide) · high confidence

Updated BrowserFS library with bug fixes and performance improvements

The BrowserFS library in public/System/BrowserFS has been updated to a newer version. This release includes fixes for file system operations, specifically addressing issues with reading files during renames, copying bugs involving mounted files with identical names, and folder moves reading from the overlay. It also introduces performance optimizations for directory loading and removes unnecessary initial HEAD requests.

public/System/BrowserFS · high confidence

Updated Butterchurn visualization engine

Replaced the bundled \butterchurn.min.js\ file with a new version sourced directly from the Butterchurn repository. This update refreshes the underlying audio visualization engine used by the Webamp player, potentially bringing improvements in rendering performance, visual effects, or compatibility with modern browser standards.

public/Program Files/Webamp · medium confidence

Updated Ruffle self-hosted core library

The Ruffle Flash player core library (\core.ruffle...js\) in \public/Program Files/Ruffle\ has been upgraded to a newer version. This update replaces the previous static asset with a new build, which may include improvements to Flash content playback, performance, or compatibility with modern web standards.

public/Program Files/Ruffle · high confidence

Updated Three.js library in Vanta.js background effects

The bundled Three.js library used by the Vanta.js background effects has been upgraded to a newer version (r133+). This update brings improvements to the 3D rendering engine, which may result in visual changes or fixes to the animated backgrounds (such as waves or nets) and potentially better performance or compatibility with modern browsers.

public/System/Vanta.js · high confidence

Updated TinyMCE default icon set

The default icon set for the TinyMCE editor has been updated to a new version, replacing the previous assets with a new \icons.min.js\ file containing modernized SVG icons for toolbar actions such as formatting, alignment, and table manipulation.

public/Program Files/TinyMCE · high confidence

Updated html-to-image library with improved iframe and video support

The bundled html-to-image library has been updated to improve rendering accuracy for complex elements. It now properly clones iframe position, scroll, and padding states, and uses contentDocument instead of contentWindow for better compatibility. Video elements in peek views are now handled correctly by decoding frames asynchronously. Additionally, scrollbar styles and input placeholders are preserved during the conversion process.

public/System/html-to-image · high confidence

Updated js-dos emulator configuration and runtime core

The js-dos integration has been upgraded, introducing a new default \dosbox.conf\ configuration file that sets the machine type to \svga\_s3\, enables XMS/EMS/UMB memory, and configures sound hardware (SB16, GUS, PC Speaker) with specific I/O ports and IRQs. Additionally, a new \emulators-ui.js\ file has been added, which bundles a comprehensive JavaScript polyfill library (core-js v3.23.5) to ensure compatibility with older browsers and environments by providing missing native implementations for features like TypedArrays, Iterators, and Object methods.

public/Program Files/js-dos · high confidence

Upgraded v86 emulator library

The v86 emulator library (libv86.js) has been upgraded to a newer version. This update includes improvements to the virtual hardware emulation, such as enhanced ATA/IDE disk controller support with DMA capabilities, refined 9P filesystem protocol handling, and updated screen rendering logic for better text and graphical display scaling.

public/Program Files/Virtual x86 · high confidence

Vanta.js Waves wallpaper now renders in a Web Worker

The Vanta.js Waves desktop wallpaper has been refactored to use an Offscreen Canvas via a dedicated worker (wallpaper.worker.ts). This moves the heavy 3D rendering logic off the main thread, allowing the animation to run without blocking UI interactions. The change includes new configuration (config.ts) and type definitions (types.ts) to support this architecture, while maintaining the same visual output and fallback behavior for environments that do not support Offscreen Canvas.

components/system/Desktop/Wallpapers/vantaWaves · high confidence

Vim.js editor now supports transparent backgrounds and HiDPI displays

The Vim.js editor component now renders with a transparent background, allowing the underlying application theme to show through, and correctly scales the canvas for high-DPI (Retina) displays. These changes improve visual integration with the app's design and ensure text remains sharp on high-resolution screens.

public/Program Files/Vim.js · high confidence

Test coverage

Added end-to-end accessibility and focus regression tests; Added end-to-end tests for File Explorer, Terminal, V86, and app launcher; Added end-to-end tests for system components; Added unit tests for utility functions.

Dependencies

Major dependency upgrades and project reorganization

The project has been renamed to 'daedalos' and reorganized with a comprehensive set of dependency updates. Key upgrades include React and Next.js to version 19 and 16 respectively, TypeScript to 7.0, and the addition of new capabilities such as AI inference via WebLLM, spreadsheet conversion via xlsx, and enhanced file handling with 7z-wasm and mediainfo.js. The build system now utilizes Oxlint for linting, Playwright for e2e testing, and includes Docker support. Development tooling has also been updated with Husky, lint-staged, and various stylelint and prettier plugins.

(dependencies) · high confidence

PDF.js viewer upgraded to version 3.11.174

The PDF.js library embedded in the application has been upgraded to version 3.11.174. This update replaces the previous version with the latest build, which includes general improvements to rendering stability, performance, and compatibility. Users will benefit from these underlying enhancements when viewing PDF documents in the application.

public/Program Files/PDF.js · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 47 → 43 (-3.8)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 70 → 71 (+0.1)
  • Architecture 47 → 49 (+1.8)
  • Maturity 55 → 55 (+0.1)
  • Readiness 41 → 33 (-7.4)
  • Security 77 → 81 (+3.8)
  • Accessibility 48 → 45 (-2.6)
  • Performance 60 (new)

Resolved (40)

  • Critical CVE: [CVE redacted] (yarn.lock)
  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • FunctionTooLong: useFocusableEntries.useFocusableEntries (components/system/Files/FileManager/useFocusableEntries.ts)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • High CVE: [GHSA redacted] (yarn.lock)
  • …and 20 more

New (31)

  • Banned license: stockfish
  • High CVE: [GHSA redacted] (yarn.lock)
  • Hotspot: components/apps/FileExplorer/index.tsx (components/apps/FileExplorer/index.tsx)
  • Hotspot: components/apps/Quake3/useQuake3.ts (components/apps/Quake3/useQuake3.ts)
  • Hotspot: components/apps/Terminal/loadWapm.ts (components/apps/Terminal/loadWapm.ts)
  • Hotspot: components/apps/TinyMCE/useTinyMCE.ts (components/apps/TinyMCE/useTinyMCE.ts)
  • Hotspot: components/apps/V86/useV86.ts (components/apps/V86/useV86.ts)
  • Hotspot: components/apps/VideoPlayer/useVideoPlayer.ts (components/apps/VideoPlayer/useVideoPlayer.ts)
  • Hotspot: components/apps/Webamp/index.tsx (components/apps/Webamp/index.tsx)
  • Hotspot: components/pages/hooks/useFaviconAndTitle.tsx (components/pages/hooks/useFaviconAndTitle.tsx)
  • Hotspot: components/system/Files/FileEntry/SubIcons.tsx (components/system/Files/FileEntry/SubIcons.tsx)
  • Hotspot: components/system/Files/FileEntry/useFile.ts (components/system/Files/FileEntry/useFile.ts)
  • Hotspot: components/system/Files/FileEntry/useFileContextMenu.ts (components/system/Files/FileEntry/useFileContextMenu.ts)
  • Hotspot: components/system/Files/FileManager/useFileDrop.ts (components/system/Files/FileManager/useFileDrop.ts)
  • Hotspot: components/system/Files/FileManager/useFocusableEntries.ts (components/system/Files/FileManager/useFocusableEntries.ts)
  • Hotspot: components/system/Taskbar/AI/ai.worker.ts (components/system/Taskbar/AI/ai.worker.ts)
  • Hotspot: contexts/fileSystem/useFileSystemContextState.ts (contexts/fileSystem/useFileSystemContextState.ts)
  • Hotspot: hooks/useUrlLoader.ts (hooks/useUrlLoader.ts)
  • Hotspot: styles/common/Icon.tsx (styles/common/Icon.tsx)
  • Hotspot: utils/closeEffect.ts (utils/closeEffect.ts)
  • …and 11 more

Changes since last survey

  • 37 commits — 27 feature/other, 10 fixes

By area

  • (root) — 15 commits
  • components/system — 11 commits
  • components/apps — 4 commits
  • public/Program Files — 2 commits
  • .github/workflows — 1 commit
  • contexts/session — 1 commit
  • hooks/useUrlLoader.ts — 1 commit
  • public/System — 1 commit
  • utils/closeEffect.ts — 1 commit

Notable commits

  • fix: Fix Dino game for some touch devices
  • fix: Fix PDF typing issues
  • fix: Fix aspect ratio not calc'ing right
  • fix: Fix closing bug with Firefox
  • fix: Fix games flickering
  • fix: Fix icon spacing in File Explorer
  • fix: Fix loading of YT links to player via url
  • fix: Fix renamed icons losing saved position on load
  • fix: Fix squished wallpapers
  • fix: Fix webamp types
  • change: Add base nextjs settings
  • change: Allow higher image smoothing for resize on video thumbs
  • change: Build before linting to have prebuild content
  • change: Clean up WP context when possible
  • change: Don't save maximize state, not restored anyway
  • change: Ignore tsbuldinfo
  • change: Improve icon loading flow
  • change: Improve slideshow preloading & loading logic
  • change: Minify on build, prebuild private fs
  • change: Minor package upgrades
  • …and 17 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

DustinBrett/daedalOS was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit d4d9cacda724881da09fa41f3d634aed8316b357 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.