mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	Check if reverse proxy is correctly configured (#30890)
Follow #27011 Follow #30885 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
		
							
								
								
									
										31
									
								
								web_src/js/features/admin/selfcheck.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								web_src/js/features/admin/selfcheck.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
import {toggleElem} from '../../utils/dom.js';
 | 
			
		||||
import {POST} from '../../modules/fetch.js';
 | 
			
		||||
 | 
			
		||||
const {appSubUrl} = window.config;
 | 
			
		||||
 | 
			
		||||
export async function initAdminSelfCheck() {
 | 
			
		||||
  const elCheckByFrontend = document.querySelector('#self-check-by-frontend');
 | 
			
		||||
  if (!elCheckByFrontend) return;
 | 
			
		||||
 | 
			
		||||
  const elContent = document.querySelector('.page-content.admin .admin-setting-content');
 | 
			
		||||
 | 
			
		||||
  // send frontend self-check request
 | 
			
		||||
  const resp = await POST(`${appSubUrl}/admin/self_check`, {
 | 
			
		||||
    data: new URLSearchParams({
 | 
			
		||||
      location_origin: window.location.origin,
 | 
			
		||||
      now: Date.now(), // TODO: check time difference between server and client
 | 
			
		||||
    }),
 | 
			
		||||
  });
 | 
			
		||||
  const json = await resp.json();
 | 
			
		||||
  toggleElem(elCheckByFrontend, Boolean(json.problems?.length));
 | 
			
		||||
  for (const problem of json.problems ?? []) {
 | 
			
		||||
    const elProblem = document.createElement('div');
 | 
			
		||||
    elProblem.classList.add('ui', 'warning', 'message');
 | 
			
		||||
    elProblem.textContent = problem;
 | 
			
		||||
    elCheckByFrontend.append(elProblem);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // only show the "no problem" if there is no visible "self-check-problem"
 | 
			
		||||
  const hasProblem = Boolean(elContent.querySelectorAll('.self-check-problem:not(.tw-hidden)').length);
 | 
			
		||||
  toggleElem(elContent.querySelector('.self-check-no-problem'), !hasProblem);
 | 
			
		||||
}
 | 
			
		||||
@@ -451,5 +451,5 @@ export function checkAppUrl() {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  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/OAuth2 sign-in.`);
 | 
			
		||||
Mismatched ROOT_URL config causes wrong URL links for web UI/mail content/webhook notification/OAuth2 sign-in.`, 'warning');
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user