megit-app 0.1.0 → 0.2.0

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
@@ -9,6 +9,19 @@ surface, and the HTTP API may change in any minor release.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.2.0] - 2026-07-30
13
+
14
+ ### Added
15
+
16
+ - Merge and Rebase in the right-click menu of a remote branch chip, not only a local one. When a local branch has diverged from its upstream — a local commit here, a new commit on the remote — `origin/x` is drawn as its own chip, and that chip is exactly what you want to merge in or rebase onto. The actions address the branch by its full remote-tracking ref, so a diverged `origin/main` can never resolve to the local `main`.
17
+ - A build badge in the top-right of the tab bar: `[DEV]` when running the Vite dev server, the package version (`v0.2.0`) in a production build. Baked in at build time, so it costs no request and the unused branch is dropped from the production bundle.
18
+
19
+ ### Fixed
20
+
21
+ - Refresh (⟳ button and <kbd>r</kbd>) now fetches from the remote before re-reading the repository. It previously only read local git, so commits pushed by someone else — and the Pull/Push badge counts — stayed stale until you hit Pull. Auto-refresh over SSE and the initial load of a tab remain local-only, so neither costs a network round-trip; a fetch that fails is ignored and the local refresh still happens.
22
+ - Ref chips are ordered branches-first, tags-last, instead of taking whatever order git listed them in. The sort is stable, so git's ordering still decides within each group.
23
+ - The tab close button is a real 18×18 target with a hover ring and a `Close <repo>` label for screen readers, and its cross is an SVG rather than a `×` glyph — a text glyph is positioned from the font's baseline, so flex centring aligned its line box and left the visible ink off-centre.
24
+
12
25
  ## [0.1.0] - 2026-07-28
13
26
 
14
27
  First public release.
@@ -84,5 +97,6 @@ First public release.
84
97
  - Windows (arm64, x64): builds and runs, but untested on real hardware — recursive `fs.watch` crashes the test worker there, so auto-refresh is not covered by CI
85
98
  - Linux: everything except the terminal — `node-pty` is an `optionalDependency` with no Linux prebuild, and the terminal button is hidden when it is unavailable
86
99
 
87
- [Unreleased]: https://github.com/vuongvu1/megit/compare/v0.1.0...HEAD
100
+ [Unreleased]: https://github.com/vuongvu1/megit/compare/v0.2.0...HEAD
101
+ [0.2.0]: https://github.com/vuongvu1/megit/compare/v0.1.0...v0.2.0
88
102
  [0.1.0]: https://github.com/vuongvu1/megit/releases/tag/v0.1.0
package/README.md CHANGED
@@ -16,6 +16,8 @@ Requires Node ≥ 24.
16
16
  npx megit-app # reopen your last session
17
17
  ```
18
18
 
19
+ The package is `megit-app` — `npx megit` is an unrelated package by someone else, so keep the `-app`.
20
+
19
21
  Installed globally (`npm i -g megit-app`), the command is just `megit`.
20
22
 
21
23
  `PORT` picks the port (default 3411). The server opens your browser at it.
@@ -87,7 +89,9 @@ Checkout auto-stashes a dirty worktree first. Destructive items are marked as su
87
89
 
88
90
  ### Auto-refresh
89
91
 
90
- The server watches each open repository (`fs.watch`, filtered and debounced) and pushes changes to the browser over SSE. Commit in your terminal and the graph updates within about a second. <kbd>r</kbd> forces a refresh if you want one.
92
+ The server watches each open repository (`fs.watch`, filtered and debounced) and pushes changes to the browser over SSE. Commit in your terminal and the graph updates within about a second.
93
+
94
+ Auto-refresh only ever reads local git, so commits pushed by someone else stay invisible until something fetches. <kbd>r</kbd> and the ⟳ button therefore fetch from the remote first, then refresh — that is the one path that surfaces new upstream commits and refreshes the Pull/Push badges. A fetch that fails (offline, no remote) is ignored and the local refresh still happens.
91
95
 
92
96
  ### Keyboard
93
97
 
@@ -96,7 +100,7 @@ The server watches each open repository (`fs.watch`, filtered and debounced) and
96
100
  | <kbd>↑</kbd> <kbd>↓</kbd> <kbd>Home</kbd> <kbd>End</kbd> | move through rows |
97
101
  | <kbd>⌘</kbd><kbd>F</kbd> | search commits |
98
102
  | <kbd>↵</kbd> / <kbd>⇧</kbd><kbd>↵</kbd> | next / previous match |
99
- | <kbd>r</kbd> | refresh |
103
+ | <kbd>r</kbd> | fetch from remote, then refresh |
100
104
  | <kbd>⌘</kbd><kbd>J</kbd> | toggle terminal |
101
105
  | <kbd>⌘</kbd><kbd>K</kbd> | clear terminal |
102
106
  | <kbd>⌘</kbd><kbd>⇧</kbd><kbd>0</kbd> | toggle theme |