Skip to content

Conversation

Jack251970
Copy link
Member

@Jack251970 Jack251970 commented Aug 31, 2025

Following on from #3826, remove ARM runtime files to reduce the artifact size.

Remove arm runtime files:

  • win-arm
  • win-arm64

Note:
With x86 removed- installer is 90mb
With x86 kept- installer is 95mb

@github-actions github-actions bot added this to the 2.0.0 milestone Aug 31, 2025
Copy link

gitstream-cm bot commented Aug 31, 2025

🥷 Code experts: jjw24

Jack251970 has most 👩‍💻 activity in the files.
Jack251970, jjw24 have most 🧠 knowledge in the files.

See details

Flow.Launcher/Flow.Launcher.csproj

Activity based on git-commit:

Jack251970
AUG 84 additions & 43 deletions
JUL 7 additions & 8 deletions
JUN 5 additions & 0 deletions
MAY
APR 3 additions & 1 deletions
MAR 1 additions & 5 deletions

Knowledge based on git-blame:
Jack251970: 30%
jjw24: 10%

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj

Activity based on git-commit:

Jack251970
AUG 4 additions & 0 deletions
JUL 1 additions & 1 deletions
JUN 36 additions & 35 deletions
MAY
APR 2 additions & 2 deletions
MAR 35 additions & 35 deletions

Knowledge based on git-blame:
Jack251970: 35%
jjw24: 34%

✨ Comment /gs review for LinearB AI review. Learn how to automate it here.

Copy link

gitstream-cm bot commented Aug 31, 2025

Be a legend 🏆 by adding a before and after screenshot of the changes you made, especially if they are around UI/UX.

@coderabbitai coderabbitai bot added the enhancement New feature or request label Aug 31, 2025
Copy link
Contributor

coderabbitai bot commented Aug 31, 2025

📝 Walkthrough

Walkthrough

Adds removal of Windows runtime folders runtimes\win-arm and runtimes\win-arm64 to existing MSBuild cleanup targets in two .csproj files (build and publish targets); existing macOS runtime removals are unchanged. No public/API changes.

Changes

Cohort / File(s) Summary
MSBuild cleanup targets
Flow.Launcher/Flow.Launcher.csproj, Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj
Expanded RemoveUnnecessaryRuntimesAfterBuild and RemoveUnnecessaryRuntimesAfterPublish lists to include runtimes\win-arm and runtimes\win-arm64 (using $(OutputPath) for build and $(PublishDir) for publish). Existing runtimes\osx* removals retained. No API surface changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Dev as Developer
  participant MSB as MSBuild
  participant Proj as .csproj Targets

  Dev->>MSB: Build
  MSB->>Proj: Compile / produce $(OutputPath)
  MSB->>Proj: Invoke RemoveUnnecessaryRuntimesAfterBuild
  Note right of Proj: Deletes:<br/>`$(OutputPath)runtimes\osx-x64`<br/>`$(OutputPath)runtimes\win-arm`<br/>`$(OutputPath)runtimes\win-arm64`

  Dev->>MSB: Publish
  MSB->>Proj: Produce publish artifacts at $(PublishDir)
  MSB->>Proj: Invoke RemoveUnnecessaryRuntimesAfterPublish
  Note right of Proj: Deletes:<br/>`$(PublishDir)runtimes\osx-x64`<br/>`$(PublishDir)runtimes\win-arm`<br/>`$(PublishDir)runtimes\win-arm64`
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • taooceros

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 3906fd4 and 9a2f813.

📒 Files selected for processing (2)
  • Flow.Launcher/Flow.Launcher.csproj (2 hunks)
  • Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • Flow.Launcher/Flow.Launcher.csproj
  • Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: gitStream.cm
  • GitHub Check: gitStream.cm
  • GitHub Check: gitStream.cm
  • GitHub Check: build
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch remove_unused_runtime_files

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (2)
Flow.Launcher/Flow.Launcher.csproj (1)

42-64: DRY the duplicate runtime lists to a single property or Directory.Build.targets.

The same long list appears in two targets and across projects. Centralize to reduce drift.

Example (conceptual):

<PropertyGroup>
  <UnnecessaryRuntimes>browser-wasm;linux-arm;linux-arm64;...;osx;osx-arm64;osx-x64;win-arm;win-arm64;win-x86</UnnecessaryRuntimes>
</PropertyGroup>

<Target Name="RemoveUnnecessaryRuntimesAfterBuild" AfterTargets="Build">
  <RemoveDir Directories="$([System.String]::Join(';', %(UnnecessaryRuntimes.Identity)->'$(OutputPath)runtimes\%(Identity)'))" />
</Target>

<Target Name="RemoveUnnecessaryRuntimesAfterPublish" AfterTargets="Publish">
  <RemoveDir Directories="$([System.String]::Join(';', %(UnnecessaryRuntimes.Identity)->'$(PublishDir)runtimes\%(Identity)'))" />
</Target>

Or move this into Directory.Build.targets for all projects.

Also applies to: 66-88

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj (1)

39-61: Deduplicate shared cleanup logic across projects.

Consider centralizing the runtime list/targets to avoid future divergence between the app and plugin.

Happy to provide a Directory.Build.targets draft if useful.

Also applies to: 63-85

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 72b4ff3 and 5108114.

📒 Files selected for processing (2)
  • Flow.Launcher/Flow.Launcher.csproj (2 hunks)
  • Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-10-08T15:52:58.573Z
Learnt from: taooceros
PR: Flow-Launcher/Flow.Launcher#2616
File: Flow.Launcher/Flow.Launcher.csproj:7-7
Timestamp: 2024-10-08T15:52:58.573Z
Learning: In the Flow Launcher project, the version number in the `Flow.Launcher.csproj` file is dynamically updated during the CI/CD process.

Applied to files:

  • Flow.Launcher/Flow.Launcher.csproj
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build
🔇 Additional comments (2)
Flow.Launcher/Flow.Launcher.csproj (1)

84-87: Verify x86 support stance before deleting win-x86 at publish.

If 32-bit Windows is still supported anywhere, dropping win-x86 could regress those users. If x86 is officially unsupported, this is fine.

Would you like me to scan the repo/CI configs for any remaining x86 artifacts or docs references and report back?

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj (1)

81-84: Confirm x86 deprecation for the plugin as well.

Ensure no x86 users or packaging paths remain for BrowserBookmark before removing win-x86 from publish output.

I can grep the repo and pipeline configs to confirm no x86 artifacts are produced or referenced.

@Jack251970 Jack251970 changed the title Test Remove unused runtime files Remove unused runtime files Aug 31, 2025
@Jack251970 Jack251970 enabled auto-merge August 31, 2025 06:55
@Jack251970 Jack251970 added bug Something isn't working and removed enhancement New feature or request labels Aug 31, 2025
@Jack251970 Jack251970 requested a review from jjw24 August 31, 2025 06:55
@jjw24
Copy link
Member

jjw24 commented Aug 31, 2025

let's see the build size with x86 removed.

@Jack251970
Copy link
Member Author

let's see the build size with x86 removed.

I wonder if arm is supported. IIRC, it is not supported?

@Jack251970
Copy link
Member Author

let's see the build size with x86 removed.

If we only keep runtime files of ×64, the installer size is 90 MB

@jjw24
Copy link
Member

jjw24 commented Aug 31, 2025

I wonder if arm is supported. IIRC, it is not supported?

It's requested, but we have had issues with Everything plugin and the fact that the rest of the plugins in the community are not publish arm versions, so for now we should remove ARM runtime files until we figure out a proper path forward for ARM builds.

@Jack251970
Copy link
Member Author

I wonder if arm is supported. IIRC, it is not supported?

It's requested, but we have had issues with Everything plugin and the fact that the rest of the plugins in the community are not publish arm versions, so for now we should remove ARM runtime files until we figure out a proper path forward for ARM builds.

Should we keep runtime files for ×86? If not, this PR should be mergable.

@Jack251970
Copy link
Member Author

Anyway, we should remove runtimes for arm to decrease size.

@jjw24
Copy link
Member

jjw24 commented Aug 31, 2025

Yeah, let's keep x86 for now.

@Jack251970
Copy link
Member Author

keep x86

Done

@Jack251970 Jack251970 changed the title Remove unused runtime files Remove arm runtime files Aug 31, 2025
Copy link
Member

@jjw24 jjw24 left a comment

Choose a reason for hiding this comment

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

Thank you for this 👍

@jjw24 jjw24 removed bug Something isn't working 1 min review labels Aug 31, 2025
@jjw24 jjw24 added the Dev branch only An issue or fix for the Dev branch build label Aug 31, 2025
@Jack251970 Jack251970 merged commit e784c8d into dev Aug 31, 2025
18 checks passed
@Jack251970 Jack251970 deleted the remove_unused_runtime_files branch August 31, 2025 07:28
TBM13 pushed a commit to TBM13/Flow.Launcher that referenced this pull request Sep 17, 2025
…d_runtime_files

Remove unused runtime files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dev branch only An issue or fix for the Dev branch build
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants