0.1.23 7396d26

custom.js RawHistoryFolder

1import 'dotenv/config'; // Import dotenv to load environment variables
2
3
4function initializeVersionCheck() {
5  // Dummy data for the remote version (as if fetched from a server)
6  const updateStrTemplate = "New version %VERSION% available, consider pulling the latest image";
7
8  const checkVersion = (versionData, currentVersion) => {
9    const fetchedVersionNumber = versionData?.amd64?.name.match(/\d+\.\d+\.\d+/)?.[0];
10
11    if (currentVersion !== fetchedVersionNumber) {
12      const updateStr = updateStrTemplate.replace("%VERSION%", fetchedVersionNumber);
13      console.log(updateStr);
14      const updateElement = document.getElementById("update-available");
15      updateElement.title = updateStr;
16      updateElement.toggleAttribute("hidden", false);
17      updateElement.classList.remove("hidden"); // Remove the Tailwind `hidden` class
18      updateElement.classList.add("block"); // Add the Tailwind `block` class
19    } else {
20      console.log("No new version. Current version is up-to-date:", currentVersion);
21    }
22  };
23
24  const fetchVersionInfo = (currentVersion) => {
25    // os.Get env proxy url + /version
26    fetch(`${process.env.PROXY_URL}/version`)
27      .then((response) => response.json())
28      .then((versionData) => checkVersion(versionData, currentVersion))
29      .catch((error) => console.error("Error fetching version:", error));
30  };
31
32  const init = () => {
33    const currentVersionElement = document.getElementById("actual-version");
34    if (!currentVersionElement) {
35      console.log("Error: #actual-version element not found.");
36      return;
37    }
38    const currentVersion = currentVersionElement.textContent.trim();
39    if (!currentVersion) {
40      console.log("Dev mode detected, skipping version check.");
41      return;
42    }
43    fetchVersionInfo(currentVersion);
44  };
45
46  init();
47}
48
49document.addEventListener('DOMContentLoaded', initializeVersionCheck);

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close