diff --git a/src/dev-center/js/dev-center.js b/src/dev-center/js/dev-center.js index 347328c4..34ef844e 100644 --- a/src/dev-center/js/dev-center.js +++ b/src/dev-center/js/dev-center.js @@ -258,6 +258,11 @@ async function create_app(title, source_path = null, items = null) { maximizeOnStart: false, background: false, dedupeName: true, + metadata: { + window_resizable: true, + credentialless: true, + }, + }) .then(async (app) => { let app_dir; @@ -568,6 +573,13 @@ function generate_edit_app_section(app) {

When locked, the app cannot be deleted. This is useful to prevent accidental deletion of important apps.

+

Advanced

+
+ + +

credentialless attribute for the iframe tag.

+
+
@@ -962,6 +974,7 @@ $(document).on('click', '.edit-app-save-btn', async function (e) { window_resizable: $('#edit-app-window-resizable').is(":checked"), hide_titlebar: $('#edit-app-hide-titlebar').is(":checked"), locked: $(`#edit-app-locked`).is(":checked") ?? false, + credentialless: $(`#edit-app-credentialless`).is(":checked") ?? true, }, filetypeAssociations: filetype_associations, }).then(async (app) => { diff --git a/src/gui/src/UI/UIWindow.js b/src/gui/src/UI/UIWindow.js index dfc63bbc..203b3789 100644 --- a/src/gui/src/UI/UIWindow.js +++ b/src/gui/src/UI/UIWindow.js @@ -326,7 +326,7 @@ async function UIWindow(options) { frameborder="0" ${options.iframe_url ? 'src="'+ html_encode(options.iframe_url)+'"' : ''} ${options.iframe_srcdoc ? 'srcdoc="'+ html_encode(options.iframe_srcdoc) +'"' : ''} - ${window.co_isolation_enabled + ${(window.co_isolation_enabled && options.iframe_credentialless !== false) ? 'credentialless ' : '' } diff --git a/src/gui/src/helpers/launch_app.js b/src/gui/src/helpers/launch_app.js index e6c4f8da..a260f15a 100644 --- a/src/gui/src/helpers/launch_app.js +++ b/src/gui/src/helpers/launch_app.js @@ -301,6 +301,12 @@ const launch_app = async (options)=>{ if(app_info.metadata?.hide_titlebar !== undefined && typeof app_info.metadata.hide_titlebar === 'boolean') hide_titlebar = app_info.metadata.hide_titlebar; + // credentialless + let credentialless = true; + if(app_info.metadata?.credentialless !== undefined && typeof app_info.metadata.credentialless === 'boolean') + credentialless = app_info.metadata.credentialless; + + console.log('credentialless', credentialless); // open window el_win = UIWindow({ element_uuid: uuid, @@ -316,6 +322,7 @@ const launch_app = async (options)=>{ height: window_height, width: window_width, app: options.name, + iframe_credentialless: credentialless, is_visible: ! app_info.background, is_maximized: options.maximized, is_fullpage: options.is_fullpage,