Skip to content

Conversation

@443pablo
Copy link
Member

No description provided.

its-pablo added 30 commits August 20, 2023 20:37
A new Privacy Policy has been added that gives detail about how user data is processed and handled. Codebase for the filesystem has been refactored to provide a more reliable and stable file operation - this includes changing db to database for clarity, updating imports, and removing unnecessary code. File extensions have been changed, some code files have been renamed, and logic in certain functions has been updated. Recognition of different file formats has also been expanded to handle Blob types in addition to strings. Error handling in the index database operation now provides clearer messaging. Minor UI changes have also been made, such as updating font family declarations. Lastly, website references and details in terms.md have been updated.
This commit refactors the loading process of the root file system for asynchronous handling and adds error catching. Instead of awaiting every single file load, all file loads are awaited together using Promise.all, which increases performance by simultaneous processing. In addition, this code now handles situations where the loading can fail due to constraint errors, providing a more user-friendly and debug-friendly behavior of the system. A console warning was added to notify when the root filesystem is already loaded to prevent potential overwriting.
…devDependencies.

Changed instances of 'devtool-blocker' to 'DevToolsDetector' to correctly reflect the updated package being used. This change was necessitated because the name of the developer tools detection module has been updated.

Also added 'portalog' to devDependencies for logging port usage and cleaned up unnecessary console.log usage. Changed some developer-related information (author and repository info) to reflect the new project ownership. The 'monitorDevtools' function invocation was uncommented in 'src/index.js' to enable developer tools monitoring.

Finally, renamed the 'content' variable to the more descriptive 'build_options' in 'scripts/build.js' for improved code clarity. A block for deleting the '../dist' directory was added for better error handling.
The `.eslintrc` file has been deleted and replaced with `.eslintrc.cjs`. This enhances ESLint configuration by setting specific environments and extends standard-with-typescript which unifies JavaScript and TypeScript linting rules.

`package.json` and `package-lock.json` are updated to reflect removed or updated dependencies. Among the updates, `@tauri-apps/api` was added as a new devDependency, and some unused packages related to TypeScript ESLint were removed, streamlining the list of dependencies.

Note: All this was done in a bid to clean up the codebase and ensure that all linting rules are appropriately configured while removing unnecessary dependencies.
The build script has been refactored to separate the logic for the various tasks involved in the process. Each task (cleaning up previous builds, building the kernel, target file system, and installer file system) has been moved to its own file in the 'tasks' directory. Task functions accept the session logger and command-line arguments. This commit also introduces usage of the `LogSession` and `LogItem` classes from the 'portalog' library to improve logging during the build process.

Note: This refactor enhances code maintainability, readability, and significantly improves logging for better troubleshooting build-time issues. The order-sensitive tasks array ensures the build process follows a specific, controlled sequence.
Added module noPiracy.ts to redirect non-valid domains in non-development environments. This anti-piracy check ensures that the application is run only on approved domains and redirects others to the valid site's piracy page. The function is subsequently imported and called in the main index.js file. This change is crucial in deterring unauthorized distribution and usage of the application.
This commit includes moving all build-related scripts from 'scripts' to a new 'build' directory to better separate concerns and improve code organization. The refactoring involves simplifying the main build.js script by extracting its build options into a new standalone esbuild.js script in a new 'meta' sub-directory. This arrangement increases the readability and maintainability of the build scripts. The esbuild() calls in tasks/kernel.js are also updated to use the extracted build options. Script paths in package.json are updated accordingly for consistency. The renaming and relocating of other scripts are to align with this update and to make the scripts structure more logical and systematic.
Made changes to optimize the build process tasks. Instead of a single clean task, two different clean tasks 'beforeClean' and 'afterClean' are introduced improving the task order and build hygiene. The 'beforeClean' task handles cleanup of previous build while 'afterClean' performs cleanup after current build. Also, arguments are now passed as a single object in build tasks instead of individual argument items. This enhances the task function signatures with more clarity. The refactoring commits ensure better maintenance and productivity in future development.
This commit adds a new script "serve" to our package.json to simplify local development by automatically building and serving the project on port 8000. Moreover, the startup message in src/index.js has been updated to improve user experience and engagement.
Changed the metadata and startup scripts to reflect the new name and system version of the web operating system. The name has been changed from 'open99' to 'Pluto'. Also, removed unnecessary script and added a SYSVER constant, symbolising the system version. A test line in the database transaction has also been removed. I read the version from package.json directly in the build script instead of using an environment variable. The version is now displayed during the system bootup.
The commit includes restructuring of the startup process and movement of several utility scripts for better organization. Previously, the functions 'monitorDevtools', 'devWatcher', and 'noPiracy' were invoked individually during application startup. This has been improved by wrapping them under a new 'startup' function. This ensures that these functions run sequentially in a controlled manner at startup. The custom 'setInterval' function has been removed because it was found unnecessary and was not used in the application. Additionally, all utility scripts have been moved to a new directory 'startup' which increases code readability and maintains a better project structure. These changes help optimize the application startup process and enhance the overall architecture of the project.
its-pablo and others added 14 commits September 20, 2023 21:45
This commit includes various changes to enhance the readability and functionality of the code. An unnecessary TODO comment was removed from AppRuntime.js, which no longer serves any purpose. The build order of the tasks in index.js was adjusted to make the process more efficient.

A readme.txt was added in the startup directory to explain its purpose, i.e., for carrying out passive background actions. To further categorize the codebase, codes related to 'loadRootFs
The build paths for `installer_fs` and `target_fs` were updated to reflect the correct destination in the `/dist` folder.
Furthermore, information about the `/src-tauri` directory containing Tauri configuration and Rust files was added for clarity.
Moved files related to startup process under a new 'background' folder to distinguish passive background actions for better organization and clarity. Deleted unused readme.txt plain file replaced its content with comments in the code. In README.md, "Install" section added to guide users on setting up the codebase, also updated "Usage" section to provide clarity on build process.
This commit adds CSS as a loader type in the esbuild.js file. This allows the application to treat CSS files as modules and include them in the build. A new dependency, minify-html package, was also added to the application. The purpose of this package is to minify HTML files at build-time, reducing file sizes and thereby improving the speed and performance.
@443pablo 443pablo merged commit bb0b6cf into staging Sep 27, 2023
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.

2 participants