gh-manager-cli 1.10.0 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.10.2](https://github.com/wiiiimm/gh-manager-cli/compare/v1.10.1...v1.10.2) (2025-09-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * handle GitHub API 422 status for sync-upstream as potential success ([9a13e8a](https://github.com/wiiiimm/gh-manager-cli/commit/9a13e8a76d4ed09eb7af18b5b8de9e0f2d4c978f))
7
+
8
+ ## [1.10.1](https://github.com/wiiiimm/gh-manager-cli/compare/v1.10.0...v1.10.1) (2025-09-01)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * keep sync and delete modals open on error for better UX ([1823076](https://github.com/wiiiimm/gh-manager-cli/commit/1823076bdd74c2cb50591d9133eabe4a96927cea))
14
+
1
15
  # [1.10.0](https://github.com/wiiiimm/gh-manager-cli/compare/v1.9.0...v1.10.0) (2025-09-01)
2
16
 
3
17
 
package/README.md CHANGED
@@ -45,7 +45,7 @@ On first run, you'll be prompted for a GitHub Personal Access Token.
45
45
  - Open in browser (Enter/`O`)
46
46
  - Delete repository (`Del` or `Ctrl+Backspace`) with secure two-step confirmation
47
47
  - Archive/unarchive repositories (`Ctrl+A`) with confirmation prompts
48
- - Sync forks with upstream (`Ctrl+U`) with automatic conflict detection
48
+ - Sync forks with upstream (`Ctrl+S`) with automatic conflict detection
49
49
 
50
50
  ### User Interface & Experience
51
51
  - **Keyboard Navigation**: Full keyboard control (arrow keys, PageUp/Down, `Ctrl+G`/`G`)
@@ -151,7 +151,7 @@ Launch the app, then use the keys below:
151
151
  - Confirm: press `Y` or Enter
152
152
  - Cancel: press `C` or Esc
153
153
  - Archive/Unarchive: `Ctrl+A`
154
- - Sync fork with upstream: `Ctrl+U` (for forks only, shows commit status and handles conflicts)
154
+ - Sync fork with upstream: `Ctrl+S` (for forks only, shows commit status and handles conflicts)
155
155
  - Logout: `Ctrl+L`
156
156
  - Toggle fork metrics: `F`
157
157
  - Quit: `Q`
@@ -668,6 +668,19 @@ async function syncForkWithUpstream(token, owner, repo, branch = "main") {
668
668
  const body = await res.json();
669
669
  return body;
670
670
  }
671
+ if (res.status === 422) {
672
+ try {
673
+ const body = await res.json();
674
+ if (body && body.message && body.message.includes("There was a problem updating the branch")) {
675
+ return {
676
+ message: "Sync completed (with warnings)",
677
+ merge_type: "merge",
678
+ base_branch: branch
679
+ };
680
+ }
681
+ } catch {
682
+ }
683
+ }
671
684
  let msg = `Fork sync failed (status ${res.status})`;
672
685
  try {
673
686
  const body = await res.json();
@@ -17,7 +17,7 @@ import {
17
17
  updateCacheAfterArchive,
18
18
  updateCacheAfterDelete,
19
19
  updateCacheWithRepository
20
- } from "./chunk-X5PZ5T27.js";
20
+ } from "./chunk-KOZ6QCTU.js";
21
21
  export {
22
22
  archiveRepositoryById,
23
23
  deleteRepositoryRest,
package/dist/index.js CHANGED
@@ -17,14 +17,14 @@ import {
17
17
  updateCacheAfterArchive,
18
18
  updateCacheAfterDelete,
19
19
  updateCacheWithRepository
20
- } from "./chunk-X5PZ5T27.js";
20
+ } from "./chunk-KOZ6QCTU.js";
21
21
 
22
22
  // package.json
23
23
  var require_package = __commonJS({
24
24
  "package.json"(exports, module) {
25
25
  module.exports = {
26
26
  name: "gh-manager-cli",
27
- version: "1.10.0",
27
+ version: "1.10.2",
28
28
  private: false,
29
29
  description: "Interactive CLI to manage your GitHub repos (personal) with Ink",
30
30
  license: "MIT",
@@ -280,7 +280,7 @@ function OrgSwitcher({ token, currentContext, onSelect, onClose }) {
280
280
  const loadOrgs = async () => {
281
281
  try {
282
282
  setLoading(true);
283
- const client = await import("./github-OM6QOCRV.js").then((m) => m.makeClient(token));
283
+ const client = await import("./github-HC6GZCKR.js").then((m) => m.makeClient(token));
284
284
  const orgs = await fetchViewerOrganizations(client);
285
285
  setOrganizations(orgs);
286
286
  if (!isPersonalContext) {
@@ -1051,7 +1051,7 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
1051
1051
  }
1052
1052
  return;
1053
1053
  }
1054
- if (key.ctrl && (input === "u" || input === "U")) {
1054
+ if (key.ctrl && (input === "s" || input === "S")) {
1055
1055
  const repo = visibleItems[cursor];
1056
1056
  if (repo && repo.isFork && repo.parent) {
1057
1057
  const hasCommitData = repo.defaultBranchRef && repo.parent.defaultBranchRef && repo.parent.defaultBranchRef.target?.history && repo.defaultBranchRef.target?.history;
@@ -1741,7 +1741,7 @@ function RepoList({ token, maxVisibleRows, onLogout, viewerLogin, onOrgContextCh
1741
1741
  ] }) }),
1742
1742
  /* @__PURE__ */ jsxs5(Box5, { marginTop: 1, paddingX: 1, flexDirection: "column", children: [
1743
1743
  /* @__PURE__ */ jsx6(Box5, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx6(Text6, { color: "gray", dimColor: modalOpen ? true : void 0, children: "\u2191\u2193 Navigate \u2022 Ctrl+G Top \u2022 G Bottom \u2022 / Filter \u2022 W Org Switcher \u2022 S Sort \u2022 D Direction \u2022 T Density \u2022 F Forks \u2022 \u23CE/O Open" }) }),
1744
- /* @__PURE__ */ jsx6(Box5, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx6(Text6, { color: "gray", dimColor: modalOpen ? true : void 0, children: "Del/Ctrl+Backspace Delete \u2022 Ctrl+A Un/Archive \u2022 Ctrl+U Sync Fork \u2022 I Info \u2022 Ctrl+I Cache \u2022 Ctrl+L Logout \u2022 R Refresh \u2022 Q Quit" }) })
1744
+ /* @__PURE__ */ jsx6(Box5, { width: terminalWidth, justifyContent: "center", children: /* @__PURE__ */ jsx6(Text6, { color: "gray", dimColor: modalOpen ? true : void 0, children: "Del/Ctrl+Backspace Delete \u2022 Ctrl+A Un/Archive \u2022 Ctrl+S Sync Fork \u2022 I Info \u2022 Ctrl+I Cache \u2022 Ctrl+L Logout \u2022 R Refresh \u2022 Q Quit" }) })
1745
1745
  ] }),
1746
1746
  process.env.GH_MANAGER_DEBUG === "1" && /* @__PURE__ */ jsxs5(Box5, { marginTop: 1, borderStyle: "single", borderColor: "yellow", paddingX: 1, flexDirection: "column", children: [
1747
1747
  /* @__PURE__ */ jsx6(Text6, { bold: true, color: "yellow", children: "Debug Messages:" }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gh-manager-cli",
3
- "version": "1.10.0",
3
+ "version": "1.10.2",
4
4
  "private": false,
5
5
  "description": "Interactive CLI to manage your GitHub repos (personal) with Ink",
6
6
  "license": "MIT",