Enhancement: support disable release checking

feature-disable-release-checking
shamoon 6 months ago
parent e6f2ff970b
commit 84c61af74d

@ -402,7 +402,7 @@ quicklaunch:
suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q= suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q=
``` ```
## Homepage Version ## Homepage Version & Update Checking
By default the release version is displayed at the bottom of the page. To hide this, use the `hideVersion` setting, like so: By default the release version is displayed at the bottom of the page. To hide this, use the `hideVersion` setting, like so:
@ -410,6 +410,12 @@ By default the release version is displayed at the bottom of the page. To hide t
hideVersion: true hideVersion: true
``` ```
You can disable checking for new versions from GitHub (enabled by default) with:
```yaml
disableUpdateCheck: true
```
## Log Path ## Log Path
By default the homepage logfile is written to the a `logs` subdirectory of the `config` folder. In order to customize this path, you can set the `logpath` setting. A `logs` folder will be created in that location where the logfile will be written. By default the homepage logfile is written to the a `logs` subdirectory of the `config` folder. In order to customize this path, you can set the `logpath` setting. A `logs` folder will be created in that location where the logfile will be written.

@ -3,7 +3,7 @@ import useSWR from "swr";
import { compareVersions } from "compare-versions"; import { compareVersions } from "compare-versions";
import { MdNewReleases } from "react-icons/md"; import { MdNewReleases } from "react-icons/md";
export default function Version() { export default function Version({ disableUpdateCheck = false }) {
const { t, i18n } = useTranslation(); const { t, i18n } = useTranslation();
const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length
@ -12,7 +12,7 @@ export default function Version() {
const revision = process.env.NEXT_PUBLIC_REVISION?.length ? process.env.NEXT_PUBLIC_REVISION : "dev"; const revision = process.env.NEXT_PUBLIC_REVISION?.length ? process.env.NEXT_PUBLIC_REVISION : "dev";
const version = process.env.NEXT_PUBLIC_VERSION?.length ? process.env.NEXT_PUBLIC_VERSION : "dev"; const version = process.env.NEXT_PUBLIC_VERSION?.length ? process.env.NEXT_PUBLIC_VERSION : "dev";
const { data: releaseData } = useSWR("/api/releases"); const { data: releaseData } = useSWR(disableUpdateCheck ? null : "/api/releases");
// use Intl.DateTimeFormat to format the date // use Intl.DateTimeFormat to format the date
const formatDate = (date) => { const formatDate = (date) => {

@ -1,6 +1,14 @@
import cachedFetch from "utils/proxy/cached-fetch"; import cachedFetch from "utils/proxy/cached-fetch";
import createLogger from "utils/logger";
const logger = createLogger("releases");
export default async function handler(req, res) { export default async function handler(req, res) {
const releasesURL = "https://api.github.com/repos/gethomepage/homepage/releases"; const releasesURL = "https://api.github.com/repos/gethomepage/homepage/releases";
try {
return res.send(await cachedFetch(releasesURL, 5)); return res.send(await cachedFetch(releasesURL, 5));
} catch (e) {
logger.error(`Error checking GitHub releases: ${e}`);
return res.send([]);
}
} }

@ -445,7 +445,7 @@ function Home({ initialSettings }) {
</div> </div>
<div id="version" className="flex mt-4 w-full justify-end"> <div id="version" className="flex mt-4 w-full justify-end">
{!settings.hideVersion && <Version />} {!settings.hideVersion && <Version disableUpdateCheck={settings.disableUpdateCheck} />}
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save