Skip to content

Conversation

@Keshav-writes-code
Copy link
Owner

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

  • Added the full GPL-2.0 license text in LICENSE.md and updated the license field to "GPL-2.0" in apps/app/package.json, apps/app/src-tauri/Cargo.toml, and apps/site/package.json to ensure proper open-source licensing across the project. [1] [2] [3] [4]

Linux Packaging and Metadata

  • Introduced Flatpak packaging for the app by adding a Flatpak manifest (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]
  • Updated Tauri configuration (tauri.conf.json) to include metainfo XML in the Linux DEB package output for better integration with software centers.

App Configuration

  • Increased the default window size in tauri.conf.json for a better user experience (width: 1200, height: 900).

Website Dependency Updates

  • Upgraded several dependencies in apps/site/package.json to their latest versions for improved stability and security.

Copilot AI review requested due to automatic review settings February 1, 2026 10:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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>
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
<metadata_license>MIT</metadata_license>
<metadata_license>CC0-1.0</metadata_license>

Copilot uses AI. Check for mistakes.
- --device=dri
- --share=ipc
- --share=network
- --filesystem=home
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
- --filesystem=home

Copilot uses AI. Check for mistakes.
Comment on lines +2 to +8
export function init_scroll_animation({
selector = ".animate-on-scroll",
animation_classes = ["visible"],
}: {
selector?: string;
animation_classes?: string[];
}) {
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

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).

Copilot uses AI. Check for mistakes.
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.classList.add(...animationClasses);
entry.target.classList.add(...animation_classes);
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

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).

Copilot uses AI. Check for mistakes.
Comment on lines +34 to +40
<script>
import { init_scroll_animation } from "@/lib/animate_on_scroll";

document.addEventListener("astro:page-load", () => {
init_scroll_animation({ animation_classes: ["visible"] });
});
</script>
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

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

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).

Copilot uses AI. Check for mistakes.
@Keshav-writes-code Keshav-writes-code merged commit 68494b8 into staging Feb 1, 2026
6 of 21 checks passed
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.

1 participant