]> source.dussan.org Git - gitea.git/commitdiff
Improve AppUrl/ROOT_URL checking (#22836)
authorwxiaoguang <wxiaoguang@gmail.com>
Thu, 9 Feb 2023 16:14:45 +0000 (00:14 +0800)
committerGitHub <noreply@github.com>
Thu, 9 Feb 2023 16:14:45 +0000 (11:14 -0500)
After some PRs:
* #21986
* #22795
* #22808
* #22831
* #22839

Users won't be affected by the ROOT_URL problem in most cases. Close
#19345

This PR improves AppUrl/ROOT_URL checking, only check it on the admin
page, and the message is also updated.

Feel free to suggest about more English-native messages.

![image](https://user-images.githubusercontent.com/2114189/217811809-7d44ddb7-2c4a-46d0-a5db-8ae6ee65f8c3.png)

web_src/js/features/admin/common.js
web_src/js/features/common-global.js
web_src/js/index.js

index 2438fcf62b46536aeda4b7d3653848a1fd9d085f..d0b3e461d54b6960ebf0de3cb8c066fe62d44406 100644 (file)
@@ -1,12 +1,17 @@
 import $ from 'jquery';
+import {checkAppUrl} from '../common-global.js';
 
 const {csrfToken} = window.config;
 
 export function initAdminCommon() {
-  if ($('.admin').length === 0) {
+  if ($('.page-content.admin').length === 0) {
     return;
   }
 
+  // check whether appUrl(ROOT_URL) is correct, if not, show an error message
+  // only admin pages need this check because most templates are using relative URLs now
+  checkAppUrl();
+
   // New user
   if ($('.admin.new.user').length > 0 || $('.admin.edit.user').length > 0) {
     $('#login_type').on('change', function () {
index 4677eeac0c850fe96ffc42e50c2ab57487594473..e655feec0bae67d192721843485ad27631c63a9d 100644 (file)
@@ -381,9 +381,6 @@ export function checkAppUrl() {
   if (curUrl.startsWith(appUrl) || `${curUrl}/` === appUrl) {
     return;
   }
-  if (document.querySelector('.page-content.install')) {
-    return; // no need to show the message on the installation page
-  }
-  showGlobalErrorMessage(`Your ROOT_URL in app.ini is ${appUrl} but you are visiting ${curUrl}
-You should set ROOT_URL correctly, otherwise the web may not work correctly.`);
+  showGlobalErrorMessage(`Your ROOT_URL in app.ini is "${appUrl}", it's unlikely matching the site you are visiting.
+Mismatched ROOT_URL config causes wrong URL links for web UI/mail content/webhook notification.`);
 }
index 74d80776b5ad00f2b440a26b09eac374815a2e39..611c09d2b8c16095f827c148f2a4b9ca89e3c6a7 100644 (file)
@@ -48,7 +48,6 @@ import {
   initCommitStatuses,
 } from './features/repo-commit.js';
 import {
-  checkAppUrl,
   initFootLanguageMenu,
   initGlobalButtonClickOnEnter,
   initGlobalButtons,
@@ -199,5 +198,4 @@ $(document).ready(() => {
   initUserAuthWebAuthnRegister();
   initUserSettings();
   initViewedCheckboxListenerFor();
-  checkAppUrl();
 });