+
## Developer Getting Started
-If you want to develop on the server, there is a getting started [guide for developers]. IDM is a
+If you want to contribute to Kanidm there is a getting started [guide for developers]. IDM is a
diverse topic and we encourage contributions of many kinds in the project, from people of all
backgrounds.
+When developing the server you should refer to the latest commit documentation instead.
+
+- [Kanidm book (Latest commit)](https://kanidm.github.io/kanidm/master/)
+
[guide for developers]: https://kanidm.github.io/kanidm/master/DEVELOPER_README.html
-
-## What does Kanidm mean?
-
-The original project name was rsidm while it was a thought experiment. Now that it's growing and
-developing, we gave it a better project name. Kani is Japanese for "crab". Rust's mascot is a crab.
-IDM is the common industry term for identity management services.
diff --git a/server/web_ui/pkg/kanidmd_web_ui.js b/server/web_ui/pkg/kanidmd_web_ui.js
index 4409be48c..c3bcb8a28 100644
--- a/server/web_ui/pkg/kanidmd_web_ui.js
+++ b/server/web_ui/pkg/kanidmd_web_ui.js
@@ -234,19 +234,19 @@ function addBorrowedObject(obj) {
}
function __wbg_adapter_48(arg0, arg1, arg2) {
try {
- wasm._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h32972de9dc093e1b(arg0, arg1, addBorrowedObject(arg2));
+ wasm._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h81cab36ffd7a0f2a(arg0, arg1, addBorrowedObject(arg2));
} finally {
heap[stack_pointer++] = undefined;
}
}
function __wbg_adapter_51(arg0, arg1, arg2) {
- wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h8cb5efc0ceb7dbaf(arg0, arg1, addHeapObject(arg2));
+ wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf5c80722c0530c5d(arg0, arg1, addHeapObject(arg2));
}
function __wbg_adapter_54(arg0, arg1, arg2) {
try {
- wasm._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h6e1863c427195afd(arg0, arg1, addBorrowedObject(arg2));
+ wasm._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4764cc6fa79b1493(arg0, arg1, addBorrowedObject(arg2));
} finally {
heap[stack_pointer++] = undefined;
}
@@ -552,49 +552,6 @@ function __wbg_get_imports() {
const ret = getObject(arg0).fetch(getObject(arg1));
return addHeapObject(ret);
};
- imports.wbg.__wbg_instanceof_HtmlFormElement_a67ff2b843593f03 = function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof HTMLFormElement;
- } catch {
- result = false;
- }
- const ret = result;
- return ret;
- };
- imports.wbg.__wbg_instanceof_Response_7ade9a5a066d1a55 = function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof Response;
- } catch {
- result = false;
- }
- const ret = result;
- return ret;
- };
- imports.wbg.__wbg_status_d2b2d0889f7e970f = function(arg0) {
- const ret = getObject(arg0).status;
- return ret;
- };
- imports.wbg.__wbg_headers_2de03c88f895093b = function(arg0) {
- const ret = getObject(arg0).headers;
- return addHeapObject(ret);
- };
- imports.wbg.__wbg_json_6c19bb86f10d6184 = function() { return handleError(function (arg0) {
- const ret = getObject(arg0).json();
- return addHeapObject(ret);
- }, arguments) };
- imports.wbg.__wbg_text_65fa1887e8f7b4ac = function() { return handleError(function (arg0) {
- const ret = getObject(arg0).text();
- return addHeapObject(ret);
- }, arguments) };
- imports.wbg.__wbg_state_d5ffeae11b280151 = function() { return handleError(function (arg0) {
- const ret = getObject(arg0).state;
- return addHeapObject(ret);
- }, arguments) };
- imports.wbg.__wbg_pushState_b98021531274a207 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {
- getObject(arg0).pushState(getObject(arg1), getStringFromWasm0(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm0(arg4, arg5));
- }, arguments) };
imports.wbg.__wbg_value_664b8ba8bd4419b0 = function(arg0, arg1) {
const ret = getObject(arg1).value;
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -619,6 +576,13 @@ function __wbg_get_imports() {
const ret = getObject(arg0).host;
return addHeapObject(ret);
};
+ imports.wbg.__wbg_state_d5ffeae11b280151 = function() { return handleError(function (arg0) {
+ const ret = getObject(arg0).state;
+ return addHeapObject(ret);
+ }, arguments) };
+ imports.wbg.__wbg_pushState_b98021531274a207 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {
+ getObject(arg0).pushState(getObject(arg1), getStringFromWasm0(arg2, arg3), arg4 === 0 ? undefined : getStringFromWasm0(arg4, arg5));
+ }, arguments) };
imports.wbg.__wbg_href_d45a5745a211a3da = function(arg0, arg1) {
const ret = getObject(arg1).href;
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -639,24 +603,6 @@ function __wbg_get_imports() {
imports.wbg.__wbg_setItem_e9a65f0e6892d9c9 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).setItem(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
}, arguments) };
- imports.wbg.__wbg_new_5cb136b036dd2286 = function() { return handleError(function () {
- const ret = new URLSearchParams();
- return addHeapObject(ret);
- }, arguments) };
- imports.wbg.__wbg_instanceof_WorkerGlobalScope_5188d176509513d4 = function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof WorkerGlobalScope;
- } catch {
- result = false;
- }
- const ret = result;
- return ret;
- };
- imports.wbg.__wbg_fetch_621998933558ad27 = function(arg0, arg1) {
- const ret = getObject(arg0).fetch(getObject(arg1));
- return addHeapObject(ret);
- };
imports.wbg.__wbg_instanceof_HtmlInputElement_a15913e00980dd9c = function(arg0) {
let result;
try {
@@ -684,8 +630,29 @@ function __wbg_get_imports() {
imports.wbg.__wbg_setvalue_7605619324f70225 = function(arg0, arg1, arg2) {
getObject(arg0).value = getStringFromWasm0(arg1, arg2);
};
- imports.wbg.__wbg_log_dc06ec929fc95a20 = function(arg0) {
- console.log(getObject(arg0));
+ imports.wbg.__wbg_add_9c791198ad871a5a = function() { return handleError(function (arg0, arg1, arg2) {
+ getObject(arg0).add(getStringFromWasm0(arg1, arg2));
+ }, arguments) };
+ imports.wbg.__wbg_remove_7643c63b1abb966b = function() { return handleError(function (arg0, arg1, arg2) {
+ getObject(arg0).remove(getStringFromWasm0(arg1, arg2));
+ }, arguments) };
+ imports.wbg.__wbg_new_5cb136b036dd2286 = function() { return handleError(function () {
+ const ret = new URLSearchParams();
+ return addHeapObject(ret);
+ }, arguments) };
+ imports.wbg.__wbg_instanceof_WorkerGlobalScope_5188d176509513d4 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof WorkerGlobalScope;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+ };
+ imports.wbg.__wbg_fetch_621998933558ad27 = function(arg0, arg1) {
+ const ret = getObject(arg0).fetch(getObject(arg1));
+ return addHeapObject(ret);
};
imports.wbg.__wbg_instanceof_Element_6fe31b975e43affc = function(arg0) {
let result;
@@ -728,11 +695,18 @@ function __wbg_get_imports() {
imports.wbg.__wbg_setAttribute_1b177bcd399b9b56 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
getObject(arg0).setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
}, arguments) };
- imports.wbg.__wbg_add_9c791198ad871a5a = function() { return handleError(function (arg0, arg1, arg2) {
- getObject(arg0).add(getStringFromWasm0(arg1, arg2));
- }, arguments) };
- imports.wbg.__wbg_remove_7643c63b1abb966b = function() { return handleError(function (arg0, arg1, arg2) {
- getObject(arg0).remove(getStringFromWasm0(arg1, arg2));
+ imports.wbg.__wbg_instanceof_HtmlElement_bf2d86870dcd8306 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof HTMLElement;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+ };
+ imports.wbg.__wbg_focus_6baebc9f44af9925 = function() { return handleError(function (arg0) {
+ getObject(arg0).focus();
}, arguments) };
imports.wbg.__wbg_new_143b41b4342650bb = function() { return handleError(function () {
const ret = new Headers();
@@ -767,23 +741,6 @@ function __wbg_get_imports() {
const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));
return addHeapObject(ret);
}, arguments) };
- imports.wbg.__wbg_instanceof_HtmlElement_bf2d86870dcd8306 = function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof HTMLElement;
- } catch {
- result = false;
- }
- const ret = result;
- return ret;
- };
- imports.wbg.__wbg_focus_6baebc9f44af9925 = function() { return handleError(function (arg0) {
- getObject(arg0).focus();
- }, arguments) };
- imports.wbg.__wbg_credentials_f0e7b21ccae12a71 = function(arg0) {
- const ret = getObject(arg0).credentials;
- return addHeapObject(ret);
- };
imports.wbg.__wbg_create_5e9a0f618bfcf68e = function() { return handleError(function (arg0, arg1) {
const ret = getObject(arg0).create(getObject(arg1));
return addHeapObject(ret);
@@ -792,6 +749,17 @@ function __wbg_get_imports() {
const ret = getObject(arg0).get(getObject(arg1));
return addHeapObject(ret);
}, arguments) };
+ imports.wbg.__wbg_credentials_f0e7b21ccae12a71 = function(arg0) {
+ const ret = getObject(arg0).credentials;
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_getClientExtensionResults_33e0afe04994016a = function(arg0) {
+ const ret = getObject(arg0).getClientExtensionResults();
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_log_dc06ec929fc95a20 = function(arg0) {
+ console.log(getObject(arg0));
+ };
imports.wbg.__wbg_instanceof_Event_32e538860e9889fb = function(arg0) {
let result;
try {
@@ -829,10 +797,6 @@ function __wbg_get_imports() {
const ret = getObject(arg0).get(getStringFromWasm0(arg1, arg2));
return addHeapObject(ret);
};
- imports.wbg.__wbg_getClientExtensionResults_33e0afe04994016a = function(arg0) {
- const ret = getObject(arg0).getClientExtensionResults();
- return addHeapObject(ret);
- };
imports.wbg.__wbg_href_68df54cac0a34be4 = function() { return handleError(function (arg0, arg1) {
const ret = getObject(arg1).href;
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -902,12 +866,6 @@ function __wbg_get_imports() {
const ret = getObject(arg0).removeChild(getObject(arg1));
return addHeapObject(ret);
}, arguments) };
- imports.wbg.__wbg_addEventListener_3a7d7c4177ce91d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4));
- }, arguments) };
- imports.wbg.__wbg_removeEventListener_315d6f929fccf484 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), arg4 !== 0);
- }, arguments) };
imports.wbg.__wbg_href_1833451470322cf1 = function(arg0, arg1) {
const ret = getObject(arg1).href;
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -950,6 +908,48 @@ function __wbg_get_imports() {
const ret = new URL(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
return addHeapObject(ret);
}, arguments) };
+ imports.wbg.__wbg_addEventListener_3a7d7c4177ce91d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4));
+ }, arguments) };
+ imports.wbg.__wbg_removeEventListener_315d6f929fccf484 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), arg4 !== 0);
+ }, arguments) };
+ imports.wbg.__wbg_instanceof_HtmlFormElement_a67ff2b843593f03 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof HTMLFormElement;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+ };
+ imports.wbg.__wbg_instanceof_Response_7ade9a5a066d1a55 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof Response;
+ } catch {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+ };
+ imports.wbg.__wbg_status_d2b2d0889f7e970f = function(arg0) {
+ const ret = getObject(arg0).status;
+ return ret;
+ };
+ imports.wbg.__wbg_headers_2de03c88f895093b = function(arg0) {
+ const ret = getObject(arg0).headers;
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_json_6c19bb86f10d6184 = function() { return handleError(function (arg0) {
+ const ret = getObject(arg0).json();
+ return addHeapObject(ret);
+ }, arguments) };
+ imports.wbg.__wbg_text_65fa1887e8f7b4ac = function() { return handleError(function (arg0) {
+ const ret = getObject(arg0).text();
+ return addHeapObject(ret);
+ }, arguments) };
imports.wbg.__wbg_get_7303ed2ef026b2f5 = function(arg0, arg1) {
const ret = getObject(arg0)[arg1 >>> 0];
return addHeapObject(ret);
@@ -1162,16 +1162,16 @@ function __wbg_get_imports() {
const ret = wasm.memory;
return addHeapObject(ret);
};
- imports.wbg.__wbindgen_closure_wrapper4692 = function(arg0, arg1, arg2) {
- const ret = makeMutClosure(arg0, arg1, 1092, __wbg_adapter_48);
+ imports.wbg.__wbindgen_closure_wrapper4722 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 1080, __wbg_adapter_48);
return addHeapObject(ret);
};
- imports.wbg.__wbindgen_closure_wrapper5577 = function(arg0, arg1, arg2) {
- const ret = makeMutClosure(arg0, arg1, 1423, __wbg_adapter_51);
+ imports.wbg.__wbindgen_closure_wrapper5555 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 1396, __wbg_adapter_51);
return addHeapObject(ret);
};
- imports.wbg.__wbindgen_closure_wrapper5655 = function(arg0, arg1, arg2) {
- const ret = makeMutClosure(arg0, arg1, 1453, __wbg_adapter_54);
+ imports.wbg.__wbindgen_closure_wrapper5562 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 1400, __wbg_adapter_54);
return addHeapObject(ret);
};
diff --git a/server/web_ui/pkg/kanidmd_web_ui_bg.wasm b/server/web_ui/pkg/kanidmd_web_ui_bg.wasm
index aeacc72b6..2cf5a0660 100644
Binary files a/server/web_ui/pkg/kanidmd_web_ui_bg.wasm and b/server/web_ui/pkg/kanidmd_web_ui_bg.wasm differ
diff --git a/server/web_ui/pkg/package.json b/server/web_ui/pkg/package.json
index 41a046c91..0d90e989c 100644
--- a/server/web_ui/pkg/package.json
+++ b/server/web_ui/pkg/package.json
@@ -18,7 +18,5 @@
],
"module": "kanidmd_web_ui.js",
"homepage": "https://github.com/kanidm/kanidm/",
- "sideEffects": [
- "./snippets/*"
- ]
+ "sideEffects": false
}
\ No newline at end of file
diff --git a/server/web_ui/src/views/apps.rs b/server/web_ui/src/views/apps.rs
index 09b1688f5..b07a9b731 100644
--- a/server/web_ui/src/views/apps.rs
+++ b/server/web_ui/src/views/apps.rs
@@ -107,7 +107,11 @@ impl AppsApp {
- if !apps.is_empty() {
+ if apps.is_empty() {
+
+
{ "No linked applications available" }
+
+ } else {
{
apps.iter().map(|applink| {