Skip to content

Commit cee33cc

Browse files
committed
fix: corrected handling of 404 for nightly downloads
1 parent c607278 commit cee33cc

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

phpmyfaq/admin/assets/src/configuration/upgrade.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,18 @@ export const handleCheckForUpdates = (): void => {
149149
const divExtractPackage = document.getElementById('pmf-update-step-extract-package') as HTMLElement;
150150
const card = document.getElementById('pmf-update-step-download') as HTMLElement;
151151

152-
if (result) {
152+
if (response.success) {
153153
card.classList.add('text-bg-success');
154154
divExtractPackage!.classList.remove('d-none');
155155
result.replaceWith(addElement('p', { innerText: response.success! }));
156156
spinner.classList.add('d-none');
157157
}
158+
159+
if (response.error) {
160+
card.classList.add('text-bg-danger');
161+
result.replaceWith(addElement('p', { innerText: response.error! }));
162+
spinner.classList.add('d-none');
163+
}
158164
} catch (error) {
159165
const errorMessage = error as ResponseData;
160166
const result = document.getElementById('result-download-new-version') as HTMLElement;

phpmyfaq/assets/templates/admin/configuration/upgrade.twig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@
7070
<p class="alert alert-warning">
7171
{{ 'alertNightlyBuild' | translate }}
7272
<hr>
73-
{{ 'noteNightlyBuild' | translate }}
73+
<span class="small">
74+
{{ 'noteNightlyBuild' | translate }}
75+
</span>
7476
</p>
7577
<div class="d-grid gap-2 d-md-flex justify-content-between">
7678
<button type="button" class="btn btn-primary mb-2" id="pmf-button-download-now">

phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/UpdateController.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,11 @@ public function downloadPackage(Request $request): JsonResponse
139139
$versionNumber = Filter::filterVar($request->get('versionNumber'), FILTER_SANITIZE_SPECIAL_CHARS);
140140

141141
$upgrade = $this->container->get('phpmyfaq.setup.upgrade');
142-
$pathToPackage = $upgrade->downloadPackage($versionNumber);
142+
try {
143+
$pathToPackage = $upgrade->downloadPackage($versionNumber);
144+
} catch (Exception $exception) {
145+
return $this->json(['error' => $exception->getMessage()], Response::HTTP_BAD_REQUEST);
146+
}
143147

144148
if ($pathToPackage === false) {
145149
return $this->json(['error' => Translation::get(

phpmyfaq/src/phpMyFAQ/Setup/Upgrade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public function downloadPackage(string $version): string
132132
$response = $httpClient->request('GET', $url);
133133

134134
if ($response->getStatusCode() !== 200) {
135-
throw new Exception('Cannot download package.');
135+
throw new Exception('Cannot download package (HTTP Status: ' . $response->getStatusCode() . ').');
136136
}
137137

138138
$package = $response->getContent();
@@ -342,7 +342,7 @@ public function getPath(): string
342342
public function getFilename(string $version): string
343343
{
344344
if ($this->isNightly()) {
345-
return sprintf(self::GITHUB_FILENAME, date('Y-m-d', strtotime('now')));
345+
return sprintf(self::GITHUB_FILENAME, date('Y-m-d', strtotime('-1 days')));
346346
}
347347

348348
return sprintf(self::PHPMYFAQ_FILENAME, $version);

0 commit comments

Comments
 (0)