Skip to content

Conversation

@qnixsynapse
Copy link
Contributor

@qnixsynapse qnixsynapse commented Feb 25, 2025

Describe Your Changes

  • Add flatpak manifest, desktop file, metadata file and scalable icon for flathub submission

Self Checklist

  • Added relevant comments, esp in complex areas
  • Updated docs (for bug fixes / features)
  • Created issues for follow-up changes or refactoring needed

Important

Add Flatpak manifest and related files for Jan AI application to enable Flathub distribution.

  • Flatpak Manifest:
    • Adds ai.jan.Jan.yml for Flatpak packaging, specifying runtime, SDK, and build modules.
    • Includes modules for volk, vulkan-headers, vulkan-tools, shaderc, and cuda-toolkit.
    • Defines build commands for installing binaries and setting up the application environment.
  • Metadata and Icons:
    • Adds ai.jan.Jan.metainfo.xml for application metadata, including description, categories, and release information.
    • Installs icons and modifies desktop entry in the build process to align with Flatpak standards.

This description was created by Ellipsis for 87b6d2d. You can customize this summary. It will automatically update as commits are pushed.

@qnixsynapse qnixsynapse marked this pull request as draft February 25, 2025 04:38
@qnixsynapse qnixsynapse changed the title Chore: Add flatpak manifest Feat Add flatpak manifest Feb 25, 2025
@qnixsynapse qnixsynapse changed the title Feat Add flatpak manifest Feat: Add flatpak manifest Feb 25, 2025
@qnixsynapse qnixsynapse marked this pull request as ready for review August 12, 2025 05:41
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed everything up to a35ebfd in 2 minutes and 15 seconds. Click for details.
  • Reviewed 291 lines of code in 4 files
  • Skipped 0 files when reviewing.
  • Skipped posting 7 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. flatpak/ai.jan.Jan.extension.cuda12.yml:15
  • Draft comment:
    Confirm that the cleanup directive '/cuda' targets the correct temporary files created during the CUDA installation.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50% None
2. flatpak/ai.jan.Jan.extension.vulkan.yml:1
  • Draft comment:
    Ensure that the pinned versions for Vulkan dependencies (volk, vulkan-headers, vulkan-tools, shaderc) are tested for compatibility with the targeted runtime.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% This comment is asking the PR author to ensure that the pinned versions of Vulkan dependencies are tested for compatibility. This falls under the rule of not asking the author to ensure testing or compatibility, which is not allowed.
3. flatpak/ai.jan.Jan.metainfo.xml:28
  • Draft comment:
    Verify that the desktop id 'ai.jan.Jan.desktop' matches the desktop file installed in the main manifest.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% This comment is asking the PR author to verify something, which is against the rules. It doesn't provide a specific suggestion or point out a specific issue with the code.
4. flatpak/ai.jan.Jan.yml:112
  • Draft comment:
    Double-check the 'install -Dm755 usr/bin/bun /app/bin/uv' command. If 'uv' is intended as a separate binary, ensure its source is correct and not a duplicate of 'bun'.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 30% <= threshold 50% The comment is asking the author to double-check a command, which violates the rule against asking the author to confirm their intention or to double-check things. However, it does provide a specific suggestion about ensuring the source of 'uv' is correct and not a duplicate of 'bun', which could be useful. The comment is partially useful but mostly violates the rules.
5. flatpak/ai.jan.Jan.yml:79
  • Draft comment:
    Remove the commented-out CUDA toolkit module if it's no longer needed to keep the manifest clean.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 40% vs. threshold = 50% Since this is a new file, the author deliberately added this code in a commented state, likely as a reference for future use or as a work in progress. The comment is suggesting a cleanup, which is generally good for code quality. However, the author may have specific reasons for keeping this reference code, and we don't have enough context to know if it will be needed soon. The comment assumes the CUDA toolkit won't be needed, but this could be premature - the code might be commented out temporarily during development or could be needed in the near future. While keeping reference code can be useful, having large blocks of commented code in production files generally isn't a best practice and can lead to maintenance issues. The comment makes a valid suggestion about code cleanliness, but since this is a new file and the commented section might be intentionally kept for reference or future use, we should be less confident about keeping this comment.
6. flatpak/ai.jan.Jan.yml:108
  • Draft comment:
    Extraction commands using 'ar' and 'tar' assume a fixed .deb structure. Consider adding error checks or comments to handle potential layout changes in future releases.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 20% vs. threshold = 50% While error handling is generally good practice, this is a Flatpak build file where commands typically fail fast by default. The .deb structure is very standardized and stable. The specific version is pinned with a SHA hash, so we know exactly what we're getting. Build systems typically handle errors automatically. The comment raises a valid point about robustness. Future versions of the .deb could theoretically change structure. The .deb format is extremely stable and standardized. The build will fail immediately if extraction fails, which is appropriate behavior. Adding error handling would add complexity without clear benefit. The comment should be removed as it suggests adding unnecessary complexity to handle an extremely unlikely scenario in a build script that already fails appropriately on errors.
7. flatpak/ai.jan.Jan.yml:15
  • Draft comment:
    Review the filesystem permission '--filesystem=~/.config/kioslaverc'; granting write access may expose user configurations. Confirm if write access is truly required.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 40% <= threshold 50% The comment is asking the PR author to confirm if write access is truly required, which violates the rule against asking for confirmation of intention. However, it does point out a potential security issue with granting write access to user configurations, which is a valid concern. The comment could be rephrased to suggest reviewing the necessity of write access without asking for confirmation.

Workflow ID: wflow_tIVSUCio2WS2wze0

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed 702b91e in 1 minute and 41 seconds. Click for details.
  • Reviewed 47 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 3 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. flatpak/ai.jan.Jan.yml:86
  • Draft comment:
    Use 'mkdir -p /app/cuda' to avoid errors if /app/cuda already exists.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. flatpak/ai.jan.Jan.yml:87
  • Draft comment:
    Ensure the installer has execute permissions; consider adding 'chmod +x cuda_toolkit.run' before running it.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% The comment suggests adding execute permissions, but this isn't necessary because the file is being executed using 'sh' which reads the file as input rather than executing it directly. Using 'sh file.run' is a valid and common way to run installer scripts. The current implementation is correct and doesn't need modification. Could there be a reason why execute permissions would be preferred over using 'sh'? Maybe there are installer-specific requirements I'm not aware of? While direct execution might work too, using 'sh' is an equally valid approach that's commonly used for running installer scripts. The current implementation is working as intended. The comment should be deleted because the current implementation using 'sh' is correct and doesn't require execute permissions.
3. flatpak/ai.jan.Jan.yml:79
  • Draft comment:
    Uncommenting the CUDA toolkit module activates it; ensure this is intentional and that any related documentation and licensing considerations are updated.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None

Workflow ID: wflow_p7KVd6SD32J4rXuG

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed 933c981 in 2 minutes and 7 seconds. Click for details.
  • Reviewed 242 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 5 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. flatpak/ai.jan.Jan.yml:4
  • Draft comment:
    Consider specifying the SDK version explicitly (e.g., org.gnome.Sdk//48) so it matches the runtime version.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. flatpak/ai.jan.Jan.yml:85
  • Draft comment:
    Ensure that 'cuda_toolkit.run' is executable; consider adding a 'chmod +x cuda_toolkit.run' before executing it.
  • Reason this comment was not posted:
    Comment was on unchanged code.
3. flatpak/ai.jan.Jan.yml:116
  • Draft comment:
    Verify if installing 'usr/bin/bun' as '/app/bin/uv' is intentional or if this is a copy‐paste error.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 0% vs. threshold = 50% This does look suspicious - why would you copy the bun binary as uv? The presence of python3-uv module suggests uv should be its own binary. However, the comment is phrased as a verification request which violates our rules. We should not ask authors to verify their intentions. I could be wrong about this being an error - there might be a legitimate reason to alias bun as uv that isn't obvious from this context. Even if there is a legitimate reason, the comment as written violates our rule about not asking authors to verify their intentions. If this is an actual issue, it should be stated directly. Delete this comment because it's phrased as a verification request. If there's a real issue here, it should be rewritten as a direct statement of the problem.
4. flatpak/ai.jan.Jan.yml:123
  • Draft comment:
    The metainfo file is installed as 'ai.jan.Jan.rosary.metainfo.xml' which differs from the manifest id; please confirm this naming is intentional.
  • Reason this comment was not posted:
    Comment was on unchanged code.
5. flatpak/ai.jan.Jan.yml:95
  • Draft comment:
    Consider using a stronger hash (e.g., SHA256) for the CUDA installer instead of MD5.
  • Reason this comment was not posted:
    Comment was on unchanged code.

Workflow ID: wflow_xlRVrNTL6RSUIVHq

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed 24815e4 in 1 minute and 10 seconds. Click for details.
  • Reviewed 17 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. flatpak/ai.jan.Jan.yml:100
  • Draft comment:
    Consider specifying the version (e.g. 'uv==0.8.9') in the pip install command for clarity and reproducibility.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. flatpak/ai.jan.Jan.yml:101
  • Draft comment:
    Ensure that '--find-links="file://${PWD}"' correctly points to the downloaded tarball (uv-0.8.9.tar.gz) so pip can locate the package.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None

Workflow ID: wflow_mds80DGVaHyvCOnT

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed 9f058b6 in 1 minute and 14 seconds. Click for details.
  • Reviewed 29 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. flatpak/ai.jan.Jan.yml:94
  • Draft comment:
    Removed the python3-uv module. Ensure that the uv dependency is fully satisfied (now provided by the deb package) so removal is intentional.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. flatpak/ai.jan.Jan.yml:117
  • Draft comment:
    Fixed installation command typo: now installing usr/bin/uv (instead of mistakenly using usr/bin/bun for uv).
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.

Workflow ID: wflow_nL07hHySHZdDXS6Z

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed 87b6d2d in 1 minute and 52 seconds. Click for details.
  • Reviewed 90 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. flatpak/ai.jan.Jan.extension.vulkan.yml:1
  • Draft comment:
    The Vulkan extension manifest file was completely removed. Confirm this removal is intentional and that any dependencies or docs referencing it are updated.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. flatpak/ai.jan.Jan.yml:100
  • Draft comment:
    The DEB URL and sha256 have been updated for v0.6.8. Ensure this binary is the correct and trusted release.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% This comment is asking the PR author to ensure that the binary is correct and trusted, which falls under the rule of not asking the author to double-check things. It doesn't provide a specific suggestion or point out a specific issue with the code.

Workflow ID: wflow_zna1llINsShLbgcJ

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@qnixsynapse qnixsynapse merged commit 1d4a6a7 into dev Aug 14, 2025
@qnixsynapse qnixsynapse deleted the flatpak branch August 14, 2025 13:50
@github-project-automation github-project-automation bot moved this to QA in Jan Aug 14, 2025
@github-actions github-actions bot added this to the v0.6.9 milestone Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants