logiguard fork: GPUI xdg-activation keyboard-focus serial fix
Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Single-commit orphan branch: full zed-industries/zed @ 8c74db0 source tree with a 3-file patch applied (no upstream history). Patch (crates/gpui_linux/src/linux/wayland/): - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Mutter honors window activation only when the token carries the keyboard- focus serial from wl_keyboard.enter; GPUI used a stale mouse-press serial. See docs/tray-window-focus-wayland.md in logiguard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
46
script/flatpak/bundle-flatpak
Executable file
46
script/flatpak/bundle-flatpak
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/../.."
|
||||
shopt -s extglob
|
||||
|
||||
script/bundle-linux --flatpak
|
||||
archive_match="zed(-[a-zA-Z0-9]+)?-linux-$(uname -m)\.tar\.gz"
|
||||
archive=$(ls "target/release" | grep -E ${archive_match})
|
||||
channel=$(<crates/zed/RELEASE_CHANNEL)
|
||||
|
||||
export CHANNEL="$channel"
|
||||
export ARCHIVE="$archive"
|
||||
if [[ "$channel" == "dev" ]]; then
|
||||
export APP_ID="dev.zed.ZedDev"
|
||||
export APP_NAME="Zed Devel"
|
||||
export BRANDING_LIGHT="#99c1f1"
|
||||
export BRANDING_DARK="#1a5fb4"
|
||||
export ICON_FILE="app-icon-dev"
|
||||
elif [[ "$channel" == "nightly" ]]; then
|
||||
export APP_ID="dev.zed.ZedNightly"
|
||||
export APP_NAME="Zed Nightly"
|
||||
export BRANDING_LIGHT="#e9aa6a"
|
||||
export BRANDING_DARK="#1a5fb4"
|
||||
export ICON_FILE="app-icon-nightly"
|
||||
elif [[ "$channel" == "preview" ]]; then
|
||||
export APP_ID="dev.zed.ZedPreview"
|
||||
export APP_NAME="Zed Preview"
|
||||
export BRANDING_LIGHT="#99c1f1"
|
||||
export BRANDING_DARK="#1a5fb4"
|
||||
export ICON_FILE="app-icon-preview"
|
||||
elif [[ "$channel" == "stable" ]]; then
|
||||
export APP_ID="dev.zed.Zed"
|
||||
export APP_NAME="Zed"
|
||||
export BRANDING_LIGHT="#99c1f1"
|
||||
export BRANDING_DARK="#1a5fb4"
|
||||
export ICON_FILE="app-icon"
|
||||
else
|
||||
echo "Invalid channel: '$channel'"
|
||||
exit
|
||||
fi
|
||||
|
||||
envsubst < "crates/zed/resources/flatpak/manifest-template.json" > "$APP_ID.json"
|
||||
flatpak-builder --user --install --force-clean build "$APP_ID.json"
|
||||
flatpak build-bundle ~/.local/share/flatpak/repo "target/release/$APP_ID.flatpak" "$APP_ID"
|
||||
echo "Created 'target/release/$APP_ID.flatpak'"
|
||||
93
script/flatpak/convert-release-notes.py
Normal file
93
script/flatpak/convert-release-notes.py
Normal file
@@ -0,0 +1,93 @@
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import sys
|
||||
import textwrap
|
||||
|
||||
from html import escape
|
||||
|
||||
def clean_line(line: str, in_code_fence: bool) -> str:
|
||||
line = re.sub(r"\(\[(#\d+)\]\([\w|\d\:|\/|\.|\-|_]*\)\)", lambda match: f"[{match.group(1)}]", line)
|
||||
line = re.sub(r"\[(#\d+)\]\([\w|\d\:|\/|\.|\-|_]*\)", lambda match: f"[{match.group(1)}]", line)
|
||||
if not in_code_fence:
|
||||
line = line.strip()
|
||||
|
||||
return escape(line)
|
||||
|
||||
|
||||
def convert_body(body: str) -> str:
|
||||
formatted = ""
|
||||
|
||||
in_code_fence = False
|
||||
in_list = False
|
||||
for line in body.splitlines():
|
||||
line = clean_line(line, in_code_fence)
|
||||
if not line:
|
||||
continue
|
||||
if re.search(r'\[[\w|\d|:|\/|\.|\-|_]*\]\([\w|\d|:|\/|\.|\-|_]*\)', line):
|
||||
continue
|
||||
line = re.sub(r"(?<!\`)`([^`\n]+)`(?!`)", lambda match: f"<code>{match.group(1)}</code>", line)
|
||||
|
||||
contains_code_fence = bool(re.search(r"```", line))
|
||||
is_list = bool(re.search(r"^-\s*", line))
|
||||
|
||||
if in_list and not is_list:
|
||||
formatted += "</ul>\n"
|
||||
if (not in_code_fence and contains_code_fence) or (not in_list and is_list):
|
||||
formatted += "<ul>\n"
|
||||
in_list = is_list
|
||||
in_code_fence = contains_code_fence != in_code_fence
|
||||
|
||||
if is_list:
|
||||
line = re.sub(r"^-\s*", "", line)
|
||||
line = f" <li>{line}</li>"
|
||||
elif in_code_fence or contains_code_fence:
|
||||
line = f" <li><code> {line}</code></li>"
|
||||
else:
|
||||
line = f"<p>{line}</p>"
|
||||
formatted += f"{line}\n"
|
||||
|
||||
if (not in_code_fence and contains_code_fence):
|
||||
formatted += "</ul>\n"
|
||||
if in_code_fence or in_list:
|
||||
formatted += "</ul>\n"
|
||||
return formatted
|
||||
|
||||
def get_release_info(tag: str):
|
||||
url = f"https://api.github.com/repos/zed-industries/zed/releases/tags/{tag}"
|
||||
response = requests.get(url)
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
print(f"Failed to fetch release info for tag '{tag}'. Status code: {response.status_code}")
|
||||
quit()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
os.chdir(sys.path[0])
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
print("Usage: python convert-release-notes.py <tag> <channel>")
|
||||
sys.exit(1)
|
||||
|
||||
tag = sys.argv[1]
|
||||
channel = sys.argv[2]
|
||||
|
||||
release_info = get_release_info(tag)
|
||||
body = convert_body(release_info["body"])
|
||||
version = tag.removeprefix("v").removesuffix("-pre")
|
||||
date = release_info["published_at"]
|
||||
|
||||
release_info_str = f"<release version=\"{version}\" date=\"{date}\">\n"
|
||||
release_info_str += f" <description>\n"
|
||||
release_info_str += textwrap.indent(body, " " * 8)
|
||||
release_info_str += f" </description>\n"
|
||||
release_info_str += f" <url>https://github.com/zed-industries/zed/releases/tag/{tag}</url>\n"
|
||||
release_info_str += "</release>\n"
|
||||
|
||||
channel_releases_file = f"../../crates/zed/resources/flatpak/release-info/{channel}"
|
||||
with open(channel_releases_file) as f:
|
||||
old_release_info = f.read()
|
||||
with open(channel_releases_file, "w") as f:
|
||||
f.write(textwrap.indent(release_info_str, " " * 8) + old_release_info)
|
||||
print(f"Added release notes from {tag} to '{channel_releases_file}'")
|
||||
9
script/flatpak/deps
Executable file
9
script/flatpak/deps
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
arch=$(arch)
|
||||
fd_version=23.08
|
||||
flatpak install -y --user org.freedesktop.Platform/${arch}/${fd_version}
|
||||
flatpak install -y --user org.freedesktop.Sdk/${arch}/${fd_version}
|
||||
flatpak install -y --user org.freedesktop.Sdk.Extension.rust-stable/${arch}/${fd_version}
|
||||
Reference in New Issue
Block a user