Updating dev to main #15

Merged
N0tAI merged 10 commits from dev into main 2026-04-04 07:17:44 +00:00
N0tAI commented 2026-04-04 07:17:12 +00:00 (Migrated from github.com)
No description provided.
N0tAI commented 2026-04-04 07:17:56 +00:00 (Migrated from github.com)

Seems like github really hates rebases so I'm just gonna do a normal merge

Seems like github really hates rebases so I'm just gonna do a normal merge
gemini-code-assist[bot] (Migrated from github.com) reviewed 2026-04-04 07:19:03 +00:00
gemini-code-assist[bot] (Migrated from github.com) left a comment

Code Review

This pull request introduces an automated icon generation workflow by adding a custom Astro integration that executes a shell script to convert SVG sources into various favicon and manifest formats. The changes include new SVG assets, a web manifest, and updates to the site layout. Feedback focuses on enhancing the reliability and performance of the generation process, specifically by handling potential execution errors in the integration, optimizing the build hook to avoid unnecessary overhead during development, and improving the shell script's compatibility across different ImageMagick versions.

## Code Review This pull request introduces an automated icon generation workflow by adding a custom Astro integration that executes a shell script to convert SVG sources into various favicon and manifest formats. The changes include new SVG assets, a web manifest, and updates to the site layout. Feedback focuses on enhancing the reliability and performance of the generation process, specifically by handling potential execution errors in the integration, optimizing the build hook to avoid unnecessary overhead during development, and improving the shell script's compatibility across different ImageMagick versions.
gemini-code-assist[bot] (Migrated from github.com) commented 2026-04-04 07:19:03 +00:00

high

execSync will throw an exception if the command fails, which will crash the Astro process. This is a significant risk in CI/CD environments like Cloudflare Pages where magick (ImageMagick 7) might not be available or is named convert (ImageMagick 6). Additionally, ensure the script has the executable bit set (chmod +x). Wrapping this in a try...catch block prevents a missing dependency from breaking the entire build.

        try {
          execSync('./scripts/mkicons.sh', { stdio: 'inherit' });
        } catch (error) {
          console.error('Asset generation failed. Ensure ImageMagick is installed:', error);
        }
![high](https://www.gstatic.com/codereviewagent/high-priority.svg) `execSync` will throw an exception if the command fails, which will crash the Astro process. This is a significant risk in CI/CD environments like Cloudflare Pages where `magick` (ImageMagick 7) might not be available or is named `convert` (ImageMagick 6). Additionally, ensure the script has the executable bit set (`chmod +x`). Wrapping this in a `try...catch` block prevents a missing dependency from breaking the entire build. ```typescript try { execSync('./scripts/mkicons.sh', { stdio: 'inherit' }); } catch (error) { console.error('Asset generation failed. Ensure ImageMagick is installed:', error); } ```
gemini-code-assist[bot] (Migrated from github.com) commented 2026-04-04 07:19:03 +00:00

medium

The astro:config:setup hook is triggered every time the Astro environment is initialized, including during development server starts and configuration reloads. This can add unnecessary overhead to the development loop. Consider moving this logic to a build-specific hook (e.g., astro:build:start) or implementing a check to only regenerate icons when the source SVGs have changed.

![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg) The `astro:config:setup` hook is triggered every time the Astro environment is initialized, including during development server starts and configuration reloads. This can add unnecessary overhead to the development loop. Consider moving this logic to a build-specific hook (e.g., `astro:build:start`) or implementing a check to only regenerate icons when the source SVGs have changed.
gemini-code-assist[bot] (Migrated from github.com) commented 2026-04-04 07:19:04 +00:00

medium

The script uses the magick command, which is specific to ImageMagick 7+. Many CI/CD environments (including Cloudflare Pages) often provide ImageMagick 6, where the command is convert. Consider adding a check to use magick if available, falling back to convert for better compatibility.

![medium](https://www.gstatic.com/codereviewagent/medium-priority.svg) The script uses the `magick` command, which is specific to ImageMagick 7+. Many CI/CD environments (including Cloudflare Pages) often provide ImageMagick 6, where the command is `convert`. Consider adding a check to use `magick` if available, falling back to `convert` for better compatibility.
Sign in to join this conversation.
No description provided.