Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .github/workflows/windows-fork-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Windows Fork Build

on:
workflow_dispatch:

permissions:
contents: write

jobs:
build:
name: Build Windows (patched)
runs-on: windows-latest
timeout-minutes: 90
env:
TARGET: x86_64-pc-windows-msvc

steps:
- uses: actions/checkout@v4

- name: Add Rust target
shell: bash
run: rustup target add "$TARGET"

- uses: actions/setup-node@v4
with:
node-version: 24.14.1

- uses: pnpm/action-setup@v4

Check failure

Code scanning / zizmor

unpinned action reference Error

unpinned action reference

Check failure

Code scanning / Semgrep OSS

Insecure GitHub Actions: Third-Party Action Not Pinned to Commit SHA Error

Insecure GitHub Actions: Third-Party Action Not Pinned to Commit SHA
with:
version: 11.4.0

- name: Install dependencies
shell: bash
run: pnpm install --frozen-lockfile

- name: Create sidecar stubs
shell: bash
run: |
mkdir -p desktop/src-tauri/binaries
for bin in buzz-acp buzz-agent buzz-dev-mcp git-credential-nostr buzz; do
touch "desktop/src-tauri/binaries/${bin}-${TARGET}.exe"
done
touch "desktop/src-tauri/binaries/buzz-backend-kubernetes-${TARGET}.exe" || true

- name: Build Windows NSIS installer
shell: bash
run: cd desktop && pnpm tauri build --target "$TARGET" --bundles nsis
env:
CMAKE_POLICY_VERSION_MINIMUM: "3.5"

- name: Locate installer
id: artifact
shell: bash
run: |
EXE=$(find desktop/src-tauri/target/${TARGET}/release/bundle/nsis -name '*.exe' | head -1)
echo "exe=$EXE" >> "$GITHUB_OUTPUT"

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: buzz-windows-patched
path: ${{ steps.artifact.outputs.exe }}
if-no-files-found: error
retention-days: 14
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,15 @@ test("isAgentIdentityInManagedList: keeps people and only current managed agent
),
false,
);
// Bot channel members from other devices are not locally managed but should
// pass through so shouldHideAgentFromMentions can gate on invocability.
assert.equal(
isAgentIdentityInManagedList(
{ isAgent: true, isMember: true, pubkey: PUB_B },
managedAgentPubkeys,
),
true,
);
});

test("shouldHideAgentFromMentions: never hides non-agents", () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,12 @@ export function getMentionableAgentPubkeys({
}

export function isAgentIdentityInManagedList(
candidate: { isAgent?: boolean; pubkey: string },
candidate: { isAgent?: boolean; isMember?: boolean; pubkey: string },
managedAgentPubkeys: ReadonlySet<string>,
) {
return (
candidate.isAgent !== true ||
candidate.isMember === true ||
managedAgentPubkeys.has(normalizePubkey(candidate.pubkey))
);
}
Expand Down