-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Flatpak build system and support #12006
Conversation
This fixes an issue where the checkout would fail due to it checking out to a point where one of the files no longer existed in tree-sitter-cpp
You could try doing some simple automated summary of the release notes through something like OpenAI's API it shouldn't hallucinate with text summarization, but there is a small risk and it could drop some of the more important changes or focus on minor ones sometimes, but I don't know how else you'd automate it without eiter just trimming after x chars or having separate release summaries for flatpack. |
Maybe sorting based on the likes of the linked github issues it closes, then show the top 5 and link to the full release notes at the end? It’s unreasonable to shrink 30+ bullet points into 3 sentences without it being a word soup or completely skipping all of the details, ai isn’t magic. |
Seems like that is allowed.
We already have the <url> tag which does that. |
Fixes issues with background mode and ipc.
@someone13574 We'd be interested in looking at a thinner version of the V2 changes at a future date. Feel free to try it out and let us know how it goes in #6687. But right now, we need to adjust our focus to core functionality. |
Thank you @mikayla-maki, your change will certainly be helpful. Overall, I believe this PR is important so we can start with an initial implementation, and improve this in the future, hopefully in some way through which we can run Zed in the sandbox while satisfying the requirements we discussed above. I'd like to thank @someone13574 for starting this work and moving this forward. Let's continue the discussion in the relevant issue. |
My first thought is 'no', as we're about to focus on linux bundling on our own. But I don't have the full context here, so I'll defer to whatever @ConradIrwin thinks :) |
This comment was marked as off-topic.
This comment was marked as off-topic.
To build & install the Flatpak package locally follow the steps below: | ||
|
||
1. Install Flatpak for your distribution as outlined [here](https://flathub.org/setup). | ||
2. Run the `script/flatpak/deps` script to install the required dependencies. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Before that run script/generate-licenses
I think that’s because the mimetype list in the desktop file is very small atm. I was trying to keep the changes small since that’s a bit of a side tangent to this PR, but I’d be happy to add some more in a different PR. |
I've merged this for now. Thanks for pushing this over the line @someone13574 In terms of next steps:
|
has this been mentioned? flathub/flathub#5253 this is the draft in flathub for zed |
Yes, its been mentioned but will likely never go anywhere due to how we are doing flatpak on Zed's end (escaping the sandbox and rebundling the normal linux binary). |
oh i see, well i mean would that break its ability to be toggled with something like flatseal? |
Yes. If I understand correctly the permission that makes it all work is talk-name=org.freedesktop.Flatpak which is needed for flatpak-spawn --host |
okay great, so why does the sandbox need to be escaped? |
Because unless you're using containers for development, you'll want access to development resources (i.e. language support packages, language servers, etc.) outside the sandbox, and will want to run commands outside the sandbox |
I got the impression that these were things zed automatically downloaded and installed. I certainly would much prefer all of these things running inside the sandbox rather than outside? |
ping #6687
This is the third iteration of this PR (v2 here) and uses a different approach to the first two (the process wrapper lib was a maintainability nightmare). While the first two attempted to spawn the necessary processes using flatpak-spawn and host-spawn from the app inside the sandbox, this version first spawns the cli binary which then restart's itself outside of the sandbox using flatpak-spawn. The restarted cli process than can call the bundled app binary normally, with no need for flatpak-spawn because it is already outside of the sandbox. This is done instead of keeping the cli in the sandbox because ipc becomes very difficult and broken when trying to do it across the sandbox.
Gnome software (example using nightly channel and release notes generated using the script):
TODO in this PR:
Future work:
(?) = Maybe / Request for feedback
Release Notes: