Skip to content

Fix CreateRoot <3 - #192

Merged
Inrixia merged 1 commit into
Inrixia:masterfrom
meowarex:fix-tidal-hifi
Aug 25, 2026
Merged

Fix CreateRoot <3#192
Inrixia merged 1 commit into
Inrixia:masterfrom
meowarex:fix-tidal-hifi

Conversation

@meowarex

Copy link
Copy Markdown
Contributor

i'm pushing to Master simply because Dev look insanely out of date.. so idk <3

Copilot AI lite review requested due to automatic review settings August 25, 2026 11:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

It changes runtime module discovery and code transformation behavior against externally-fetched/minified bundles, which is hard to validate safely without running the app in real Tidal environments.

Pull request overview

This PR adjusts how Luna resolves react-dom/client in the Tidal-render environment by loosening the ReactDOM module detection and adding a runtime fallback to createRoot when Tidal’s bundling/tree-shaking removes expected exports.

Changes:

  • Update react-dom/client module resolution to no longer require hydrateRoot and to match both react-dom-* and react-dom-client-* chunk names.
  • Add a fallback react-dom/client shim that exposes createRoot via a global tag (globalThis.__lunaCreateRoot) when direct resolution fails.
  • Bump package version from 1.16.4-beta to 1.16.5-beta.
File summaries
File Description
render/src/modules.ts Updates ReactDOM client resolution and adds a createRoot fallback shim.
render/src/exposeTidalInternals.ts Injects a transform to tag createRoot into a global for fallback resolution.
package.json Version bump for the release containing this fix.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Inrixia
Inrixia merged commit 7097b87 into Inrixia:master Aug 25, 2026
3 checks passed
@github-actions

Copy link
Copy Markdown

Flake Review Results for #192

Available systems: aarch64-darwin, aarch64-linux, armv6l-linux, armv7l-linux, i686-linux, powerpc64le-linux, riscv64-linux, x86_64-darwin, x86_64-freebsd, x86_64-linux
Requested systems: aarch64-darwin, x86_64-linux

🔄 Modified (2)

  • packages.aarch64-darwin.default

    • Output: /nix/store/61bcgqmgh08pia77nc6sl9q434pafr54-tidal-2.41.3
    Derivation diff
    - /nix/store/jz2h348aq18vc8mjfrh4zg6f2rb16nbq-tidal-2.41.3.drv:{out}
    + /nix/store/18lk7s01rpzjzqv811widpsjhfihxqhw-tidal-2.41.3.drv:{out}
    • The set of input derivation names do not match:
        - TidaLuna-1.16.4-beta
        + TidaLuna-1.16.5-beta
    • The environments do not match:
        __json=''
        {"NIX_MAIN_PROGRAM":"tidal","__darwinAllowLocalNetworking":false,"__impureHostDeps":["/bin/sh","/usr/lib/libSystem.B.dylib","/usr/lib/system/libunc.dylib","/dev/zero","/dev/random","/dev/urandom","/bin/sh"],"__propagatedImpureHostDeps":[],"__propagatedSandboxProfile":[""],"__sandboxProfile":"","buildInputs":[],"builder":"/nix/store/f700nj7wlwg441h39gkq29qbviy99sgq-bash-5.3p9/bin/bash","cmakeFlags":[],"configureFlags":[],"depsBuildBuild":[],"depsBuildBuildPropagated":[],"depsBuildTarget":[],"depsBuildTargetPropagated":[],"depsHostHost":[],"depsHostHostPropagated":[],"depsTargetTarget":[],"depsTargetTargetPropagated":[],"doCheck":false,"doInstallCheck":false,"dontStrip":true,"env":{"NIX_MAIN_PROGRAM":"tidal"},"installPhase":"runHook preInstall\n\nmkdir -p $out/Applications\ncp -r *.app $out/Applications\n\nrunHook postInstall\n","mesonFlags":[],"name":"tidal-2.41.3","nativeBuildInputs":["/nix/store/q61ydp78wcs21i3aji0pc3xwa78xvd8d-undmg-1.1.0-unstable-2024-08-02"],"outputChecks":{"out":{}},"outputs":["out"],"patches":[],"pname":"tidal","postInstall":"if [ -f \"$out/Applications/TIDAL.app/Contents/Resources/app.asar\" ]; then\n  mv \"$out/Applications/TIDAL.app/Contents/Resources/app.asar\" \\\n     \"$out/Applications/TIDAL.app/Contents/Resources/original.asar\"\nfi\n\nmkdir -p \"$out/Applications/TIDAL.app/Contents/Resources/app/\"\ncp -R /nix/store/g5qh2d2dfk242dkvrs5q3i543vvawj7b-TidaLuna-1.16.4-beta/* \"$out/Applications/TIDAL.app/Contents/Resources/app/\"\n","propagatedBuildInputs":[],"propagatedNativeBuildInputs":[],"sourceRoot":".","src":"/nix/store/sckhn4ryh7jqkdzqi3hz02sgglkl7jwd-TIDAL.arm64.dmg","stdenv":"/nix/store/5qpb391n5rpgdi95j6sczjsplkkgw2v1-stdenv-darwin","strictDeps":true,"system":"aarch64-darwin","version":"2.41.3"}{"NIX_MAIN_PROGRAM":"tidal","__darwinAllowLocalNetworking":false,"__impureHostDeps":["/bin/sh","/usr/lib/libSystem.B.dylib","/usr/lib/system/libunc.dylib","/dev/zero","/dev/random","/dev/urandom","/bin/sh"],"__propagatedImpureHostDeps":[],"__propagatedSandboxProfile":[""],"__sandboxProfile":"","buildInputs":[],"builder":"/nix/store/f700nj7wlwg441h39gkq29qbviy99sgq-bash-5.3p9/bin/bash","cmakeFlags":[],"configureFlags":[],"depsBuildBuild":[],"depsBuildBuildPropagated":[],"depsBuildTarget":[],"depsBuildTargetPropagated":[],"depsHostHost":[],"depsHostHostPropagated":[],"depsTargetTarget":[],"depsTargetTargetPropagated":[],"doCheck":false,"doInstallCheck":false,"dontStrip":true,"env":{"NIX_MAIN_PROGRAM":"tidal"},"installPhase":"runHook preInstall\n\nmkdir -p $out/Applications\ncp -r *.app $out/Applications\n\nrunHook postInstall\n","mesonFlags":[],"name":"tidal-2.41.3","nativeBuildInputs":["/nix/store/q61ydp78wcs21i3aji0pc3xwa78xvd8d-undmg-1.1.0-unstable-2024-08-02"],"outputChecks":{"out":{}},"outputs":["out"],"patches":[],"pname":"tidal","postInstall":"if [ -f \"$out/Applications/TIDAL.app/Contents/Resources/app.asar\" ]; then\n  mv \"$out/Applications/TIDAL.app/Contents/Resources/app.asar\" \\\n     \"$out/Applications/TIDAL.app/Contents/Resources/original.asar\"\nfi\n\nmkdir -p \"$out/Applications/TIDAL.app/Contents/Resources/app/\"\ncp -R /nix/store/y5m34vmrgz2chvnbz15c2d8ajxlh5f8h-TidaLuna-1.16.5-beta/* \"$out/Applications/TIDAL.app/Contents/Resources/app/\"\n","propagatedBuildInputs":[],"propagatedNativeBuildInputs":[],"sourceRoot":".","src":"/nix/store/sckhn4ryh7jqkdzqi3hz02sgglkl7jwd-TIDAL.arm64.dmg","stdenv":"/nix/store/5qpb391n5rpgdi95j6sczjsplkkgw2v1-stdenv-darwin","strictDeps":true,"system":"aarch64-darwin","version":"2.41.3"}
    ''
  • packages.x86_64-linux.default

    • Output: /nix/store/a1lgi9i16f566cl9wdl3myl4r0mv8zw4-tidal-hifi-6.3.1-Mavy
    Derivation diff
    - /nix/store/w1hbszbvykap7rchs03q2h450k155nhc-tidal-hifi-6.3.1-Mavy.drv:{out}
    + /nix/store/kavqpgbcmlmrbrbykikffh08qg8ihcp9-tidal-hifi-6.3.1-Mavy.drv:{out}
    • The set of input derivation names do not match:
        - TidaLuna-1.16.4-beta
        + TidaLuna-1.16.5-beta
    • The environments do not match:
        postInstall=''
        mv $out/share/tidal-hifi/resources/app.asar $out/share/tidal-hifi/resources/original.asar
        
        mkdir -p "$out/share/tidal-hifi/resources/app/"
        cp -R /nix/store/gj8gx3grvxgx1hb1rr59d20bmg2mz3sf-TidaLuna-1.16.4-beta/* $out/share/tidal-hifi/resources/app/
        cp -R /nix/store/sp4sg8wdyxyly1405x2zgk6jdhwha9ad-TidaLuna-1.16.5-beta/* $out/share/tidal-hifi/resources/app/
    ''

Generated by flake-review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants