a very good jj gui
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add tauri commands for abandon, recency, revset

+28
+2
apps/desktop/src/schemas.ts
··· 22 22 is_immutable: Schema.Boolean, 23 23 is_mine: Schema.Boolean, 24 24 is_trunk: Schema.Boolean, 25 + is_divergent: Schema.Boolean, 26 + divergent_index: Schema.NullOr(Schema.Number), 25 27 bookmarks: Schema.Array(Schema.String), 26 28 }); 27 29 export type Revision = typeof Revision.Type;
+26
apps/desktop/src/tauri-commands.ts
··· 76 76 export async function jjEdit(repoPath: string, changeId: string): Promise<void> { 77 77 return invoke("jj_edit", { repoPath, changeId }); 78 78 } 79 + 80 + export async function jjAbandon(repoPath: string, changeId: string): Promise<void> { 81 + return invoke("jj_abandon", { repoPath, changeId }); 82 + } 83 + 84 + /** Get recency data for commits - returns commit_id (hex) -> timestamp_millis when last WC */ 85 + export async function getCommitRecency( 86 + repoPath: string, 87 + limit: number, 88 + ): Promise<Record<string, number>> { 89 + return invoke<Record<string, number>>("get_commit_recency", { repoPath, limit }); 90 + } 91 + 92 + /** Result of resolving a revset expression */ 93 + export interface RevsetResult { 94 + change_ids: string[]; 95 + error: string | null; 96 + } 97 + 98 + /** Resolve a revset expression using jj-lib's full parser */ 99 + export async function resolveRevset( 100 + repoPath: string, 101 + revset: string, 102 + ): Promise<RevsetResult> { 103 + return invoke<RevsetResult>("resolve_revset", { repoPath, revset }); 104 + }