Conversation
… of each component initialization
There was a problem hiding this comment.
Pull request overview
This PR standardizes licensing across the repo (GPL-2.0), introduces Flatpak packaging assets for Linux distribution, and updates the website’s build/runtime behavior for scroll animations alongside dependency bumps.
Changes:
- Added GPL-2.0 licensing metadata across package manifests and Rust crate metadata, plus added the GPL-2.0 license text.
- Introduced Flatpak packaging files (manifest, metainfo, builder tools submodule) and added Linux DEB metadata installation via Tauri config.
- Refactored site scroll-animation initialization and adjusted UnoCSS config with a safelist entry; updated site dependencies.
Reviewed changes
Copilot reviewed 19 out of 22 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Adds workspace/root license metadata (GPL-2.0). |
| apps/site/unocss.config.ts | Safelists the new visible class used by scroll animations. |
| apps/site/src/pages/index.astro | Centralizes scroll animation init on page load. |
| apps/site/src/pages/downloads.astro | Tweaks markup/classes for the downloads counter display. |
| apps/site/src/lib/animate_on_scroll.ts | Refactors scroll animation init API (renamed + options object). |
| apps/site/src/components/home_page/section_4/index.astro | Removes component-local scroll-init script in favor of page-level init. |
| apps/site/src/components/home_page/section_3/index.astro | Removes component-local scroll-init script in favor of page-level init. |
| apps/site/src/components/home_page/section_2/index.astro | Removes transition:persist and component-local scroll-init script. |
| apps/site/src/components/home_page/section_1/index.astro | Removes transition:persist. |
| apps/site/package.json | Adds GPL-2.0 license metadata and updates site dependencies. |
| apps/app/yarn.lock | Adds a lockfile for the app workspace. |
| apps/app/src-tauri/tauri.conf.json | Updates default window size; includes metainfo.xml in DEB output. |
| apps/app/src-tauri/Cargo.toml | Sets Rust crate license to GPL-2.0. |
| apps/app/package.json | Adds GPL-2.0 license metadata. |
| apps/app/distribute/linux/flatpak/metainfo.xml | Adds AppStream metainfo for Flatpak/software centers. |
| apps/app/distribute/linux/flatpak/io.github.keshav-writes-code.cherit.yml | Adds Flatpak build manifest. |
| apps/app/distribute/linux/flatpak/flatpak-builder-tools | Adds Flatpak builder tools as a submodule pointer. |
| LICENSE.md | Adds GPL-2.0 license text. |
| LICENSE | Removes the previous GPL-3.0 license file. |
| .gitmodules | Registers the Flatpak builder tools submodule. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| </recommends> | ||
| <summary>A WSYIWYG Markdown Editor Inspired by Obsidian</summary> | ||
|
|
||
| <metadata_license>MIT</metadata_license> |
There was a problem hiding this comment.
metadata_license is the license for the AppStream metadata itself (not the app). For AppStream, this is commonly set to CC0-1.0 (and is often expected by tooling/reviewers). Consider changing metadata_license to CC0-1.0 to avoid store/validator friction while keeping project_license as GPL-2.0.
| <metadata_license>MIT</metadata_license> | |
| <metadata_license>CC0-1.0</metadata_license> |
| - --device=dri | ||
| - --share=ipc | ||
| - --share=network | ||
| - --filesystem=home |
There was a problem hiding this comment.
Granting --filesystem=home is a very broad permission and is typically discouraged for Flatpak apps unless strictly necessary. Prefer narrower access (e.g., only xdg-documents, xdg-download, and/or --persist= for specific app directories) to follow least-privilege and reduce review risk on Flathub/software centers.
| - --filesystem=home |
| export function init_scroll_animation({ | ||
| selector = ".animate-on-scroll", | ||
| animation_classes = ["visible"], | ||
| }: { | ||
| selector?: string; | ||
| animation_classes?: string[]; | ||
| }) { |
There was a problem hiding this comment.
The new API introduces snake_case names (init_scroll_animation, animation_classes) which is atypical in TS/JS codebases that generally use camelCase. To avoid inconsistent style (and make imports/readability more standard), consider renaming to initScrollAnimation / animationClasses (and optionally keeping a deprecated alias export for backwards compatibility if needed).
| entries.forEach((entry) => { | ||
| if (entry.isIntersecting) { | ||
| entry.target.classList.add(...animationClasses); | ||
| entry.target.classList.add(...animation_classes); |
There was a problem hiding this comment.
The new API introduces snake_case names (init_scroll_animation, animation_classes) which is atypical in TS/JS codebases that generally use camelCase. To avoid inconsistent style (and make imports/readability more standard), consider renaming to initScrollAnimation / animationClasses (and optionally keeping a deprecated alias export for backwards compatibility if needed).
| <script> | ||
| import { init_scroll_animation } from "@/lib/animate_on_scroll"; | ||
|
|
||
| document.addEventListener("astro:page-load", () => { | ||
| init_scroll_animation({ animation_classes: ["visible"] }); | ||
| }); | ||
| </script> |
There was a problem hiding this comment.
This script relies on ESM import syntax; to make the intent explicit and avoid any ambiguity with tooling/transforms, consider adding type="module" to the <script> tag (or using Astro’s recommended inline script directives if applicable in this project).
This pull request introduces licensing and packaging improvements, along with configuration updates for both the main app and the website. The most significant changes include adopting the GPL-2.0 license across the project, adding Flatpak packaging support for Linux, and updating dependencies for the website.
Licensing and Legal Compliance
LICENSE.mdand updated the license field to "GPL-2.0" inapps/app/package.json,apps/app/src-tauri/Cargo.toml, andapps/site/package.jsonto ensure proper open-source licensing across the project. [1] [2] [3] [4]Linux Packaging and Metadata
io.github.keshav-writes-code.cherit.yml), a metainfo XML file for app metadata and screenshots, and a submodule for Flatpak builder tools. [1] [2] [3] [4]tauri.conf.json) to include metainfo XML in the Linux DEB package output for better integration with software centers.App Configuration
tauri.conf.jsonfor a better user experience (width: 1200, height: 900).Website Dependency Updates
apps/site/package.jsonto their latest versions for improved stability and security.