DirectAdmin v1.642 RC

Quick update, we have pushed one more update to the beta RC channel.
  • Fixed issue of main menu icon hidden on tablet size (reported by @apogee)
  • Updated CSS variable names for logo images, it is now possible to have static name for image that automatically changes based on light/dark mode being active. Note: CSS snippet for recreating traditional theme look and feel was updated.
  • Fixed scrollbar (reported by @apogee)
  • Security improvements for cpanel-import based on rack911labs.ca team report.
  • Changed the way Evolution loads static assets - this improves the Evo load time a bit and ensures we never serve old cached files, after change there should never be a need to clear browser cache after Evo update.
@Zhenyapan , will leave exim change for next release right now we just focused on finishing up Evolution customizations overhaul.
@apogee , external CSS is still supported. Maybe we will move it to the CSS customiaztions section, but I think we will keep the functionality.
 
Following the update, plugins such as CSF and Custombuild display a blank page (tested on Linux Ubuntu 22.04.1 LTS with Firefox and Brave Browser)

Code:
vendors.js?b0dda24c5cb3ec22cbfa:42 TypeError: Cannot read properties of undefined (reading 'toUpperCase')
    at i.pluginDefinition (user-plugins-index.js?f4d3c0df1d404e2c55db:1:15272)
    at pn.get (vendors.js?b0dda24c5cb3ec22cbfa:42:26617)
    at pn.evaluate (vendors.js?b0dda24c5cb3ec22cbfa:42:27757)
    at i.pluginDefinition (vendors.js?b0dda24c5cb3ec22cbfa:42:28522)
    at i.host (user-plugins-index.js?f4d3c0df1d404e2c55db:1:15466)
    at pn.get (vendors.js?b0dda24c5cb3ec22cbfa:42:26617)
    at pn.evaluate (vendors.js?b0dda24c5cb3ec22cbfa:42:27757)
    at i.host (vendors.js?b0dda24c5cb3ec22cbfa:42:28522)
    at i.<anonymous> (user-plugins-index.js?f4d3c0df1d404e2c55db:1:24434)
    at e._render (vendors.js?b0dda24c5cb3ec22cbfa:42:34594)
He @ vendors.js?b0dda24c5cb3ec22cbfa:42
DevTools failed to load source map: Could not load content for chrome-extension://cofdbpoegempjloogbagkncekinflcnj/build/content.js.map: System error: net::ERR_BLOCKED_BY_CLIENT
17Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
 
Following the update, plugins such as CSF and Custombuild display a blank page (tested on Linux Ubuntu 22.04.1 LTS with Firefox and Brave Browser)

Code:
vendors.js?b0dda24c5cb3ec22cbfa:42 TypeError: Cannot read properties of undefined (reading 'toUpperCase')
    at i.pluginDefinition (user-plugins-index.js?f4d3c0df1d404e2c55db:1:15272)
    at pn.get (vendors.js?b0dda24c5cb3ec22cbfa:42:26617)
    at pn.evaluate (vendors.js?b0dda24c5cb3ec22cbfa:42:27757)
    at i.pluginDefinition (vendors.js?b0dda24c5cb3ec22cbfa:42:28522)
    at i.host (user-plugins-index.js?f4d3c0df1d404e2c55db:1:15466)
    at pn.get (vendors.js?b0dda24c5cb3ec22cbfa:42:26617)
    at pn.evaluate (vendors.js?b0dda24c5cb3ec22cbfa:42:27757)
    at i.host (vendors.js?b0dda24c5cb3ec22cbfa:42:28522)
    at i.<anonymous> (user-plugins-index.js?f4d3c0df1d404e2c55db:1:24434)
    at e._render (vendors.js?b0dda24c5cb3ec22cbfa:42:34594)
He @ vendors.js?b0dda24c5cb3ec22cbfa:42
DevTools failed to load source map: Could not load content for chrome-extension://cofdbpoegempjloogbagkncekinflcnj/build/content.js.map: System error: net::ERR_BLOCKED_BY_CLIENT
17Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
csf:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
Confirmed in Alma Linux 8.6

@fln Please add JetBackup and ConfigServer Mail Queues plugins to the list of blank pages.

What's interesting is, the two Softaculous plugins that open themselves outside the DA panel have not been affected.

How do I revert to the previous beta version until this issue is fixed?
 
Last edited:
@fln Can also confirm that Cpanel accounts don't get imported in the GUI and the operation ends prematurely with a "backup stage, database is locked" error when the Cpanel account contains no databases.
 
We have pushed previous beta release, to revert the plugins regression, it will auto-update. The problem with plugins has a fix in alpha channel already.

@dafang thanks for hint about cpanel accounts with no database, we will check this out. However failure at backup stage means we got error from cpanel server calling cpmove tool. So this is not something we can fix, only search for work-arounds.
 
@fin thanks for the updates, I'm still struggling with the logo issue, do you have any idea what this could be?

BTW: the scrollbar is still not visible for me, latest alpha
 
@apogee with the last release CSS for traditional compatibility was updated once again. The logo line were changed to:

Code:
html.layout\:grid .app .app-header .header-logo {background-image: var(--img-logo-dark); }

It used to be --img-logo2. We used our chance to fix CSS variable names before the release. Once those names are used we will not be able to change them easily. It is documented here.

I can confirm the black scrollbar issue. A lot of black scrollbars were fixed in Refreshed layout (dark mode) but apparently the main one which triggered the hunt for black scrollbars (grid layout login-as user drop down) was left unchanged 😅. Thanks.
 
@fin ok, this is now new for me, I did not know that the variable names have been adjusted, I'll try again and get back to you.

g8 that the scroll problem is now localized.

Mobile version: for me it is illogical that I should first click on the, now visible icon on the right, and only the statistics are displayed and not the options to make settings directly...
 
@fin I have adjusted the CSS, logo was displayed, joy was great, so I've cleared the browser cache and the logo was again gone.
 
We have just pushed the final update to the RC before main release. It includes only a couple of changes:
  • Grid view login-as header bar user drop down list scrollbar color fix
  • FileManager supports new Evolution color customizations and uses cusomized colors.
@apogee I am sure the CSS logo issue is some misunderstanding and does not require any more changes to Evolution or DA. If you still have issues making sure it works please drop me a private message and I will help to track it down.
 
@fln About no-db Cpanel accounts failing to be imported: The long log file in DA is confirming that the pkgacct operation is completing without errors. I can also see the cpmove file in the /home directory at the Cpanel side. It looks like the import operation then fails if mysqlsize=0.

The last few lines at DA log file shows:
Code:
[2022-08-02 00:00:35 +0100] size is: 66998
[2022-08-02 00:00:35 +0100] homesize is: 3559424
[2022-08-02 00:00:35 +0100] homefiles is: 96
[2022-08-02 00:00:35 +0100] mysqlsize is: 0
[2022-08-02 00:00:35 +0100] pkgacct completed

Cpanel accounts that contain at least 1 db are getting imported perfectly.
 
@dafang I am unable to reproduce the issue with backup stage, database is locked. Restoring account with 0 databases works fine on my testing CP server.

Code:
[2022-08-03 18:32:00 +0000]
[2022-08-03 18:32:00 +0000] size is: 65925
[2022-08-03 18:32:00 +0000]
[2022-08-03 18:32:00 +0000] homesize is: 1855488
[2022-08-03 18:32:00 +0000]
[2022-08-03 18:32:00 +0000] homefiles is: 102
[2022-08-03 18:32:00 +0000]
[2022-08-03 18:32:00 +0000] mysqlsize is: 0
[2022-08-03 18:32:00 +0000] pkgacct completed
executing: CP2DA_OWNER=admin CP2DA_OUTPUT_FILE=/home/tmp/cpanelimport36397...

Maybe pkgacct is not at fault here. Could you share access with your server to investigate this further?
 
@fln Thank u for the new version and the server access, it seems to work effectively now!
 
Last edited:
Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received

This error message indicates that there was a problem with the communication between the listener and the message channel. The reason is that sendMessage is now promisified internally, so you can 'await' it, but the by-product is that when you don't specify a callback yourselves, it is added internally anyway in order for the call to return a Promise, which means that since you don't call sendResponse in onMessage, the API will think that it was you who made a mistake of using a callback and not providing a response, and report it as such.

Since the new behaviour is very confusing for almost everyone, a solution might be to stop showing this error when the callback is not specified, however it might cause confusion for those developers who still use callbacks and forgot to call sendResponse inside onMessage by mistake, which should be reported ideally as it always was.

If you see your extension causing this errors - inspect closely all your onMessage listeners. Some of them probably need to start returning promises (marking them as async should be enough).

If still error showing, try disabled all installed extensions in Chrome then you will get a clear console without errors.
 
Back
Top