@davmash/bygone 0.9.2 → 0.9.4
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 +17 -0
- package/cli/tourHistory.js +8 -7
- package/media/webview.css +1 -1
- package/media/webview.js +161 -158
- package/out/standalone-main.js +194 -26
- package/package.json +1 -1
- package/standalone/index.html +4 -4
- package/web/index.html +4 -4
- package/web/presenter.css +6 -0
- package/web/web-host.js +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.9.4
|
|
6
|
+
|
|
7
|
+
- Updated transitive brace-expansion dependencies within their existing major versions to address high-severity denial-of-service advisories
|
|
8
|
+
- Unified non-editor tooltips with a consistent 500 ms hover delay, opaque backgrounds, and normal UI typography
|
|
9
|
+
- Restored tooltips for folder controls and fixed placement and duplicate tooltips on previous/next file buttons
|
|
10
|
+
- Stabilized tooltip behavior across icon children, keyboard focus, dynamic labels, and modal dialogs
|
|
11
|
+
- Fixed commit-detail hover transitions and Escape dismissal, and normalized commit action menu styling
|
|
12
|
+
|
|
13
|
+
macOS desktop downloads are unsigned and not notarized. If Gatekeeper reports
|
|
14
|
+
the app as damaged, run `xattr -cr /Applications/Bygone.app`, then reopen it.
|
|
15
|
+
|
|
16
|
+
## 0.9.3
|
|
17
|
+
|
|
18
|
+
- Made commit rows toggle comparison selection, with jump and detail actions available from the context menu
|
|
19
|
+
- Added fuller commit details on hover, including the commit message, author, date, revision, and parents
|
|
20
|
+
- Added tooltip coverage across toolbar controls and tour coverage indicators
|
|
21
|
+
|
|
5
22
|
## 0.9.2
|
|
6
23
|
|
|
7
24
|
- Documented the stable v3 tour contract, compatibility policy, and evidence-linked review notes
|
package/cli/tourHistory.js
CHANGED
|
@@ -49,11 +49,11 @@ function requireInput(input) {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
function listCommitHistory(root, commit) {
|
|
52
|
-
const output = git(root, ['log', '--topo-order', '--format=%x1e%H%x00%P%x00%s%x00%cI%x00', commit, '--']);
|
|
52
|
+
const output = git(root, ['log', '--topo-order', '--format=%x1e%H%x00%P%x00%s%x00%cI%x00%an%x00%ae%x00%B%x00', commit, '--']);
|
|
53
53
|
const entries = [];
|
|
54
54
|
for (const record of output.split('\x1e').slice(1)) {
|
|
55
55
|
const fields = record.split('\0');
|
|
56
|
-
const [oid, parents, summary, timestamp] = fields;
|
|
56
|
+
const [oid, parents, summary, timestamp, author, authorEmail, message] = fields;
|
|
57
57
|
if (!oid) continue;
|
|
58
58
|
entries.push({
|
|
59
59
|
commit: oid,
|
|
@@ -62,7 +62,7 @@ function listCommitHistory(root, commit) {
|
|
|
62
62
|
parents: parents.split(' ').filter(Boolean),
|
|
63
63
|
shortCommit: oid.slice(0, 7),
|
|
64
64
|
summary,
|
|
65
|
-
timestamp
|
|
65
|
+
timestamp, author, authorEmail, message: message.trimEnd()
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
return entries;
|
|
@@ -342,17 +342,18 @@ function createTourHistory(manifest) {
|
|
|
342
342
|
// Follow the file backwards from the requested revision, including deleted
|
|
343
343
|
// files and rename records; no working-tree file needs to exist.
|
|
344
344
|
const output = git(root, ['--literal-pathspecs', 'log', '--topo-order', '--follow', '-M',
|
|
345
|
-
'--format=%x1e%H%x00%P%x00%s%x00%cI%x00', '--name-status', '-z', commit, '--', filePath]);
|
|
345
|
+
'--format=%x1e%H%x00%P%x00%s%x00%cI%x00%an%x00%ae%x00%B%x00', '--name-status', '-z', commit, '--', filePath]);
|
|
346
346
|
const entries = [];
|
|
347
347
|
let historicalPath = filePath;
|
|
348
348
|
for (const record of output.split('\x1e').slice(1)) {
|
|
349
349
|
const fields = record.split('\0');
|
|
350
|
-
const [oid, parents, summary, timestamp] = fields;
|
|
351
|
-
const changes = parseNameStatusZ(fields.slice(
|
|
350
|
+
const [oid, parents, summary, timestamp, author, authorEmail, message] = fields;
|
|
351
|
+
const changes = parseNameStatusZ(fields.slice(7).join('\0').replace(/^\0?\n/, ''));
|
|
352
352
|
const change = changes.find(item => item.path === historicalPath || item.previousPath === historicalPath) || changes[0];
|
|
353
353
|
if (!change) continue;
|
|
354
354
|
entries.push({ commit: oid, oid, parentCommit: parents.split(' ')[0] || null,
|
|
355
|
-
shortCommit: oid.slice(0, 7), summary, timestamp,
|
|
355
|
+
shortCommit: oid.slice(0, 7), summary, timestamp, author, authorEmail, message: message.trimEnd(),
|
|
356
|
+
parents: parents.split(' ').filter(Boolean), path: change.path,
|
|
356
357
|
...(change.previousPath ? { previousPath: change.previousPath } : {}) });
|
|
357
358
|
historicalPath = change.previousPath || change.path;
|
|
358
359
|
}
|