mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 15:06:20 +00:00
790ad2b2795174142b3281f478d0d1b28e19ce9b
Without an explicit alias for the umbrella package @nitrots/nitro-renderer, vite's resolver follows the node_modules symlink (@nitrots/nitro-renderer -> Nitro_Render_V3) and the \`"main": "./index"\` field, which can land on a stale built \`dist/index.js\` when one exists in the renderer working tree. When that happens the bundle ships pre-snapshot-pattern stubs of SessionDataManager / IgnoredUsersManager / etc. — and the new useSessionInfo / useUserDataSnapshot code calling getUserDataSnapshot() explodes at runtime with the Firefox error TypeError: (intermediate value)() is undefined (which is Firefox's way of reporting a chain like \`GetSessionDataManager().getUserDataSnapshot()\` where the second method is undefined). The reported call site is ToolbarView line 46 because that's the first consumer of useSessionInfo that mounts. Two fixes together: 1. This commit: explicit alias \`@nitrots/nitro-renderer\` -> \`<renderer>/index.ts\`. Subsequent transitive imports (export * from '@nitrots/api', '@nitrots/events', ...) still go through the existing per-package aliases, so all renderer code is guaranteed-source even when a stale dist exists. 2. Rebuild the renderer's dist (yarn build in Nitro_Render_V3) so that any other consumer that bypasses vite's alias resolution (e.g. an ad-hoc Node script) also sees the current state. Done separately. No source code change to any consumer. The client production build \`yarn build\` now produces a bundle containing getUserDataSnapshot, getIgnoredUsersSnapshot, SESSION_DATA_UPDATED, IGNORED_USERS_UPDATED and the other new symbols — verified via grep on dist/assets/*.js.
v2.2.0 -Nitro V3 !! Use at Own Risk as it is still in Beta !!
Prerequisites
- Git
- NodeJS >= 18
- If using NodeJS < 18 remove
--openssl-legacy-providerfrom the package.json scripts
- If using NodeJS < 18 remove
- Yarn
npm i yarn -g
Installation
- First you should open terminal and navigate to the folder where you want to clone Nitro and Nitro-Renderer
- Clone Nitro (Expl. C:\Github)
git clone https://github.com/duckietm/Nitro-V3.git<== For now switch to Dev-RendererV2git clone https://github.com/duckietm/Nitro_Render_V3.git- Install the dependencies for the renderer : cd C:\Github\Nitro_Render_V3
yarn install
- Now we will create a Link for the Nitro Renderer :
yarn linkThis will give you a link addressyarn link "@nitrots/nitro-renderer" - Install the dependencies for Cool UI : cd C:\Github\Nitro-V3
yarn installyarn link "@nitrots/nitro-renderer"<== This will link the renderer in the project
- Rename a few files
- Copy
public/configuration/renderer-config.exampletopublic/configuration/renderer-config.json - Copy
public/configuration/ui-config.exampletopublic/configuration/ui-config.json - Copy
public/configuration/client-mode.exampletopublic/configuration/client-mode.json - Set your links
- Open
public/configuration/renderer-config.json- Update
socket.url, asset.url, image.library.url, & hof.furni.url
- Update
- Open
public/configuration/ui-config.json- Update
camera.url, thumbnails.url, url.prefix, habbopages.url
- Update
yarn build<== the final step to build the DIST folder this is where your browser needs to point / or upload this to your /client if you do the compile on a other machine (preferd)- You can override any variable by passing it to
NitroConfigin the index.html
- Copy
Usage
- To use Nitro you need
.nitroassets generated, see nitro-converter for instructions - See Morningstar Websockets for instructions on configuring websockets on your server
Development
Run Nitro in development mode when you are editing the files, this way you can see the changes in your browser instantly
yarn start
Production
To build a production version of Nitro just run the following command
yarn build:prod
- A
distfolder will be generated, these are the files that must be uploaded to your webserver - Consult your CMS documentation for compatibility with Nitro and how to add the production files
Description
Languages
TypeScript
88.8%
CSS
8.3%
JavaScript
2.4%
HTML
0.5%