The forge announces every merge, whoever made it
The merge tool emitted at the instant it acted; a merge made in the forge's own pages or over its API emitted nothing, and the mesh went on believing every module current with its source (novox/hq 04-ISSUES/131). Merged pull requests are now watched the way repositories are: what the forge holds, asked for on a tick, announced once, with the merge commit and the clone URL a build needs. What has been announced is kept beside the module's state, so a restart does not announce the whole history again, and a first tick with no record announces nothing.
This commit is contained in:
@@ -9,6 +9,8 @@ import { ConfiguredToken, MintedToken, type TokenSource } from "./token.js";
|
||||
/** A repository, trimmed to what the mesh cares about. */
|
||||
export interface GiteaRepo {
|
||||
full_name: string;
|
||||
/** The URL a build clones — what a module records as its source. */
|
||||
clone_url?: string;
|
||||
name: string;
|
||||
owner: string;
|
||||
private: boolean;
|
||||
@@ -34,6 +36,9 @@ export interface GiteaPull {
|
||||
title: string;
|
||||
state: string;
|
||||
merged: boolean;
|
||||
/** The commit the merge produced — what a build of the base branch is made from. */
|
||||
merge_commit_sha?: string;
|
||||
merged_at?: string;
|
||||
user?: string;
|
||||
head?: string;
|
||||
base?: string;
|
||||
@@ -232,6 +237,7 @@ export class GiteaClient {
|
||||
private static mapRepo(r: any): GiteaRepo {
|
||||
return {
|
||||
full_name: r.full_name,
|
||||
clone_url: r.clone_url ?? undefined,
|
||||
name: r.name,
|
||||
owner: r.owner?.login ?? r.full_name?.split("/")[0] ?? "unknown",
|
||||
private: Boolean(r.private),
|
||||
@@ -259,6 +265,8 @@ export class GiteaClient {
|
||||
title: p.title,
|
||||
state: p.state,
|
||||
merged: Boolean(p.merged),
|
||||
merge_commit_sha: p.merge_commit_sha ?? undefined,
|
||||
merged_at: p.merged_at ?? undefined,
|
||||
user: p.user?.login,
|
||||
head: p.head?.ref,
|
||||
base: p.base?.ref,
|
||||
|
||||
Reference in New Issue
Block a user