diff --git a/src/Besql/Bit.Besql/wwwroot/bit-besql.js b/src/Besql/Bit.Besql/wwwroot/bit-besql.js index 5e8639c0c3..b52a0bd3ea 100644 --- a/src/Besql/Bit.Besql/wwwroot/bit-besql.js +++ b/src/Besql/Bit.Besql/wwwroot/bit-besql.js @@ -1,5 +1,5 @@ var BitBesql = window.BitBesql || {}; -BitBesql.version = window['bit-besql version'] = '9.1.0-pre-13'; +BitBesql.version = window['bit-besql version'] = '9.1.0'; BitBesql.init = async function init(fileName) { const sqliteFilePath = `/${fileName}`; diff --git a/src/Bit.Build.props b/src/Bit.Build.props index fc6188cbc8..c79b843b27 100644 --- a/src/Bit.Build.props +++ b/src/Bit.Build.props @@ -27,7 +27,7 @@ https://github.com/bitfoundation/bitplatform - 9.1.0-pre-13 + 9.1.0 $(ReleaseVersion) https://github.com/bitfoundation/bitplatform/releases/tag/v-$(ReleaseVersion) $([System.String]::Copy($(ReleaseVersion)).Replace('-pre-', '.')) diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/Slider/BitSlider.razor.cs b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/Slider/BitSlider.razor.cs index 1f4277e9e0..5a82e5b15e 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/Slider/BitSlider.razor.cs +++ b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/Slider/BitSlider.razor.cs @@ -219,23 +219,23 @@ protected override async Task OnAfterRenderAsync(bool firstRender) if (IsRanged) { - _inputHeight = await _js.GetClientHeight(RootElement); + _inputHeight = await GetClientHeight(RootElement); if (Label.HasValue()) { - var titleHeight = await _js.GetClientHeight(_labelRef); + var titleHeight = await GetClientHeight(_labelRef); _inputHeight -= titleHeight; } if (ShowValue) { - var valueLabelHeight = await _js.GetClientHeight(_valueLabelRef); + var valueLabelHeight = await GetClientHeight(_valueLabelRef); _inputHeight -= (valueLabelHeight * 2); } } else { - _inputHeight = await _js.GetClientHeight(_containerRef); + _inputHeight = await GetClientHeight(_containerRef); } FillSlider(); @@ -340,4 +340,12 @@ private void OnSetValues() FillSlider(); } + + private async ValueTask GetClientHeight(ElementReference element) + { + var height = await _js.GetProperty(element, "clientHeight"); + return height.HasNoValue() + ? 0 + : int.Parse(height); + } } diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/CircularTimePicker/BitCircularTimePicker.ts b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/CircularTimePicker/BitCircularTimePicker.ts index 455b18a22b..57603e101d 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/CircularTimePicker/BitCircularTimePicker.ts +++ b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/CircularTimePicker/BitCircularTimePicker.ts @@ -1,10 +1,4 @@ namespace BitBlazorUI { - class BitController { - id: string = BitBlazorUI.Utils.uuidv4(); - controller = new AbortController(); - dotnetObj: DotNetObject | undefined; - } - export class CircularTimePicker { private static _bitControllers: BitController[] = []; diff --git a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/ColorPicker/BitColorPicker.ts b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/ColorPicker/BitColorPicker.ts index f645398a77..aace7ac86d 100644 --- a/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/ColorPicker/BitColorPicker.ts +++ b/src/BlazorUI/Bit.BlazorUI/Components/Inputs/_Pickers/ColorPicker/BitColorPicker.ts @@ -1,10 +1,4 @@ namespace BitBlazorUI { - class BitController { - id: string = BitBlazorUI.Utils.uuidv4(); - controller = new AbortController(); - dotnetObj: DotNetObject | undefined; - } - export class ColorPicker { private static _bitControllers: BitController[] = []; diff --git a/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs b/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs index b6e4de8eed..8a430ff51d 100644 --- a/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs +++ b/src/BlazorUI/Bit.BlazorUI/Extensions/JsInterop/UtilsJsRuntimeExtensions.cs @@ -2,12 +2,6 @@ internal static class UtilsJsRuntimeExtensions { - internal static ValueTask Log(this IJSRuntime jsRuntime, object value) - { - return jsRuntime.InvokeVoid("console.log", value); - } - - internal static ValueTask GetBodyWidth(this IJSRuntime jsRuntime) { return jsRuntime.Invoke("BitBlazorUI.Utils.getBodyWidth"); @@ -26,12 +20,6 @@ internal static ValueTask GetProperty(this IJSRuntime jsRuntime, Element } - internal static ValueTask GetClientHeight(this IJSRuntime jsRuntime, ElementReference element) - { - return jsRuntime.Invoke("BitBlazorUI.Utils.getClientHeight", element); - } - - internal static ValueTask GetBoundingClientRect(this IJSRuntime jsRuntime, ElementReference element) { return jsRuntime.Invoke("BitBlazorUI.Utils.getBoundingClientRect", element); @@ -56,18 +44,6 @@ internal static ValueTask SetStyle(this IJSRuntime jsRuntime, ElementReference e } - internal static ValueTask PreventDefault(this IJSRuntime jsRuntime, ElementReference element, string @event) - { - return jsRuntime.InvokeVoid("BitBlazorUI.Utils.preventDefault", element, @event); - } - - - internal static ValueTask GetComputedTransform(this IJSRuntime jsRuntime, ElementReference element) - { - return jsRuntime.Invoke("BitBlazorUI.Utils.getComputedTransform", element); - } - - internal static ValueTask ToggleOverflow(this IJSRuntime jsRuntime, string scrollerSelector, bool isHidden) { return jsRuntime.Invoke("BitBlazorUI.Utils.toggleOverflow", scrollerSelector, isHidden); diff --git a/src/BlazorUI/Bit.BlazorUI/Scripts/Observers.ts b/src/BlazorUI/Bit.BlazorUI/Scripts/Observers.ts index e57d905f1e..a360171fb6 100644 --- a/src/BlazorUI/Bit.BlazorUI/Scripts/Observers.ts +++ b/src/BlazorUI/Bit.BlazorUI/Scripts/Observers.ts @@ -11,7 +11,7 @@ }); observer.observe(element); - const id = BitBlazorUI.Utils.uuidv4(); + const id = Utils.uuidv4(); Observers._resizeObservers[id] = observer; return id; diff --git a/src/BlazorUI/Bit.BlazorUI/Scripts/Utils.ts b/src/BlazorUI/Bit.BlazorUI/Scripts/Utils.ts index 11506e424c..a6db39d762 100644 --- a/src/BlazorUI/Bit.BlazorUI/Scripts/Utils.ts +++ b/src/BlazorUI/Bit.BlazorUI/Scripts/Utils.ts @@ -12,7 +12,7 @@ return (...args: any[]) => { if (timeoutItd === null) { - fn(...args); + try { fn(...args); } catch (e) { console.error("BitBlazorUI.Utils.throttle:", e); } if (delay > 0) { timeoutItd = setTimeout(() => { timeoutItd = null; @@ -23,81 +23,73 @@ } public static isTouchDevice() { - const matchMedia = window.matchMedia("(pointer: coarse)").matches; - const maxTouchPoints = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0); - - return matchMedia || maxTouchPoints; + try { + const matchMedia = window.matchMedia("(pointer: coarse)").matches; + const maxTouchPoints = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0); + return matchMedia || maxTouchPoints; + } catch (e) { + console.error("BitBlazorUI.Utils.isTouchDevice:", e); + return false; + } } public static setProperty(element: Record, property: string, value: any): void { if (!element) return; - element[property] = value; + + try { + element[property] = value; + } catch (e) { console.error("BitBlazorUI.Utils.setProperty:", e); } } public static getProperty(element: Record, property: string): string | null { - return element?.[property]; - } + if (!element) return null; - public static getClientHeight(element: HTMLElement): number { - return element?.clientHeight; + try { + return element[property].toString(); + } catch (e) { + console.error("BitBlazorUI.Utils.getProperty:", e); + return ''; + } } - public static getBoundingClientRect(element: HTMLElement): DOMRect { - return element?.getBoundingClientRect(); + public static getBoundingClientRect(element: HTMLElement): Partial { + if (!element) return {}; + + try { + return element.getBoundingClientRect(); + } catch (e) { + console.error("BitBlazorUI.Utils.getBoundingClientRect:", e); + return {}; + } } public static scrollElementIntoView(targetElementId: string) { const element = document.getElementById(targetElementId); if (!element) return; - element.scrollIntoView({ - behavior: "smooth", - block: "start", - inline: "nearest" - }); + try { + element.scrollIntoView({ + behavior: "smooth", + block: "start", + inline: "nearest" + }); + } catch (e) { console.error("BitBlazorUI.Utils.scrollElementIntoView:", e); } } public static selectText(element: HTMLInputElement) { - element?.select(); + if (!element) return; + + try { + element.select(); + } catch (e) { console.error("BitBlazorUI.Utils.selectText:", e); } } public static setStyle(element: HTMLElement, key: string, value: string) { if (!element || !element.style) return; - (element.style as any)[key] = value; - } - public static preventDefault(element: HTMLElement, event: string) { - element?.addEventListener(event, e => e.preventDefault(), { passive: false }); - } - - public static getComputedTransform(element: HTMLElement) { - const computedStyle = window.getComputedStyle(element); - const matrix = computedStyle.getPropertyValue('transform'); - const matched = matrix.match(/matrix\((.+)\)/); - - if (matched && matched.length > 1) { - const splitted = matched[1].split(','); - return { - ScaleX: +splitted[0], - SkewY: +splitted[1], - SkewX: +splitted[2], - ScaleY: +splitted[3], - TranslateX: +splitted[4], - TranslateY: +splitted[5] - } - } - - return null; - } - - public static registerResizeObserver(element: HTMLElement, obj: DotNetObject, method: string = "resized") { - const observer = new ResizeObserver(entries => { - const entry = entries[0]; - if (!entry) return; - obj.invokeMethodAsync(method, entry.contentRect); - }); - - observer.observe(element); + try { + (element.style as any)[key] = value; + } catch (e) { console.error("BitBlazorUI.Utils.setStyle:", e); } } public static toggleOverflow(selector: string, isHidden: boolean) { @@ -105,19 +97,28 @@ if (!element) return 0; - element.style.overflow = isHidden ? "hidden" : ""; - - return element.scrollTop; + try { + element.style.overflow = isHidden ? "hidden" : ""; + return element.scrollTop; + } catch (e) { + console.error("BitBlazorUI.Utils.toggleOverflow:", e); + return 0; + } } public static uuidv4(): string { - const result = this.guidTemplate.replace(/[018]/g, (c) => { - const n = +c; - const random = crypto.getRandomValues(new Uint8Array(1)); - const result = (n ^ random[0] & 15 >> n / 4); - return result.toString(16); - }); - return result; + try { + const result = this.guidTemplate.replace(/[018]/g, (c) => { + const n = +c; + const random = crypto.getRandomValues(new Uint8Array(1)); + const result = (n ^ random[0] & 15 >> n / 4); + return result.toString(16); + }); + return result; + } catch (e) { + console.error("BitBlazorUI.Utils.uuidv4:", e); + return ''; + } } // https://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid/#2117523 private static guidTemplate = '10000000-1000-4000-8000-100000000000'; diff --git a/src/BlazorUI/Bit.BlazorUI/Scripts/general.ts b/src/BlazorUI/Bit.BlazorUI/Scripts/general.ts index 892772ae97..8052a0c7b4 100644 --- a/src/BlazorUI/Bit.BlazorUI/Scripts/general.ts +++ b/src/BlazorUI/Bit.BlazorUI/Scripts/general.ts @@ -1,4 +1,4 @@ -(BitBlazorUI as any).version = (window as any)['bit-blazorui version'] = '9.1.0-pre-13'; +(BitBlazorUI as any).version = (window as any)['bit-blazorui version'] = '9.1.0'; interface DotNetObject { invokeMethod(methodIdentifier: string, ...args: any[]): T; @@ -21,4 +21,12 @@ window.addEventListener('resize', (e: any) => { if (window.innerWidth < BitBlazorUI.Utils.MAX_MOBILE_WIDTH && resizeTriggeredByOpenningKeyboard) return; BitBlazorUI.Callouts.replaceCurrent(); -}, true); \ No newline at end of file +}, true); + +namespace BitBlazorUI { + export class BitController { + id: string = Utils.uuidv4(); + controller = new AbortController(); + dotnetObj: DotNetObject | undefined; + } +} \ No newline at end of file diff --git a/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj b/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj index c68b311936..a21714d6d4 100644 --- a/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj +++ b/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Server/Bit.BlazorUI.Demo.Server.csproj @@ -5,11 +5,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj b/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj index c74e19f0bf..0af97bd553 100644 --- a/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj +++ b/src/BlazorUI/Demo/Bit.BlazorUI.Demo.Shared/Bit.BlazorUI.Demo.Shared.csproj @@ -5,11 +5,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj index 7e3ddb1f2c..f87b4ed6db 100644 --- a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj +++ b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Core/Bit.BlazorUI.Demo.Client.Core.csproj @@ -16,11 +16,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj index 13c466e7f0..99ac6451ab 100644 --- a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj +++ b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Maui/Bit.BlazorUI.Demo.Client.Maui.csproj @@ -85,12 +85,12 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj index d3973f4901..8060c97d67 100644 --- a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj +++ b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/Bit.BlazorUI.Demo.Client.Web.csproj @@ -24,13 +24,13 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/wwwroot/service-worker.published.js b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/wwwroot/service-worker.published.js index 8570ed230a..cfbfd1795d 100644 --- a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/wwwroot/service-worker.published.js +++ b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Web/wwwroot/service-worker.published.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 // https://github.com/bitfoundation/bitplatform/tree/develop/src/Bswup self.assetsInclude = []; diff --git a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj index a588584f77..24e969f5e5 100644 --- a/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj +++ b/src/BlazorUI/Demo/Client/Bit.BlazorUI.Demo.Client.Windows/Bit.BlazorUI.Demo.Client.Windows.csproj @@ -29,11 +29,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/BlazorUI/Demo/Directory.Build.props b/src/BlazorUI/Demo/Directory.Build.props index 55e6bf8e45..e52d4f5ab9 100644 --- a/src/BlazorUI/Demo/Directory.Build.props +++ b/src/BlazorUI/Demo/Directory.Build.props @@ -1,4 +1,4 @@ - + 13.0 diff --git a/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.js b/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.js index e32ca53892..d8f40d57ca 100644 --- a/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.js +++ b/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 self.assetsExclude = [/\.scp\.css$/, /weather\.json$/]; self.caseInsensitiveUrl = true; diff --git a/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.published.js b/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.published.js index fa23a179e5..f50b5994e1 100644 --- a/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.published.js +++ b/src/Bswup/Bit.Bswup.Demo/wwwroot/service-worker.published.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 self.assetsExclude = [/\.scp\.css$/, /weather\.json$/]; self.caseInsensitiveUrl = true; diff --git a/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.js b/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.js index ca89598fd6..9eccddc18e 100644 --- a/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.js +++ b/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 // In development, always fetch from the network and do not enable offline support. // This is because caching would make development more difficult (changes would not diff --git a/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.published.js b/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.published.js index afeba185dd..da15e3f5bf 100644 --- a/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.published.js +++ b/src/Bswup/Bit.Bswup.NewDemo/Bit.Bswup.NewDemo.Client/wwwroot/service-worker.published.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 self.assetsInclude = []; self.assetsExclude = []; diff --git a/src/Bswup/Bit.Bswup/Scripts/bit-bswup.progress.ts b/src/Bswup/Bit.Bswup/Scripts/bit-bswup.progress.ts index 4af0d1638a..dfb7590b22 100644 --- a/src/Bswup/Bit.Bswup/Scripts/bit-bswup.progress.ts +++ b/src/Bswup/Bit.Bswup/Scripts/bit-bswup.progress.ts @@ -1,4 +1,4 @@ -window['bit-bswup.progress version'] = '9.1.0-pre-13'; +window['bit-bswup.progress version'] = '9.1.0'; ; (function () { (window as any).startBswupProgress = (autoReload: boolean, diff --git a/src/Bswup/Bit.Bswup/Scripts/bit-bswup.sw.ts b/src/Bswup/Bit.Bswup/Scripts/bit-bswup.sw.ts index 139f735073..a46c77029a 100644 --- a/src/Bswup/Bit.Bswup/Scripts/bit-bswup.sw.ts +++ b/src/Bswup/Bit.Bswup/Scripts/bit-bswup.sw.ts @@ -1,4 +1,4 @@ -self['bit-bswup.sw version'] = '9.1.0-pre-13'; +self['bit-bswup.sw version'] = '9.1.0'; interface Window { clients: any diff --git a/src/Bswup/Bit.Bswup/Scripts/bit-bswup.ts b/src/Bswup/Bit.Bswup/Scripts/bit-bswup.ts index 042b85e7f1..e3f51e86f8 100644 --- a/src/Bswup/Bit.Bswup/Scripts/bit-bswup.ts +++ b/src/Bswup/Bit.Bswup/Scripts/bit-bswup.ts @@ -1,5 +1,5 @@ const BitBswup = {} as any; -BitBswup.version = window['bit-bswup version'] = '9.1.0-pre-13'; +BitBswup.version = window['bit-bswup version'] = '9.1.0'; declare const Blazor: any; diff --git a/src/Bswup/FullDemo/Client/wwwroot/service-worker.js b/src/Bswup/FullDemo/Client/wwwroot/service-worker.js index 48e897a985..55007368db 100644 --- a/src/Bswup/FullDemo/Client/wwwroot/service-worker.js +++ b/src/Bswup/FullDemo/Client/wwwroot/service-worker.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 // In development, always fetch from the network and do not enable offline support. // This is because caching would make development more difficult (changes would not diff --git a/src/Bswup/FullDemo/Client/wwwroot/service-worker.published.js b/src/Bswup/FullDemo/Client/wwwroot/service-worker.published.js index beddfa9867..c2533a1abf 100644 --- a/src/Bswup/FullDemo/Client/wwwroot/service-worker.published.js +++ b/src/Bswup/FullDemo/Client/wwwroot/service-worker.published.js @@ -1,4 +1,4 @@ -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 self.assetsInclude = []; self.assetsExclude = [/\.scp\.css$/, /weather\.json$/]; diff --git a/src/Bup/Bit.Bup/Scripts/bit-bup.progress.ts b/src/Bup/Bit.Bup/Scripts/bit-bup.progress.ts index 1559e3c875..059059357e 100644 --- a/src/Bup/Bit.Bup/Scripts/bit-bup.progress.ts +++ b/src/Bup/Bit.Bup/Scripts/bit-bup.progress.ts @@ -1,4 +1,4 @@ -window['bit-bup.progress version'] = '9.1.0-pre-13'; +window['bit-bup.progress version'] = '9.1.0'; ; (function () { (window as any).startBupProgress = (showLogs: boolean, showAssets: boolean, appContainerSelector: string, hideApp: boolean, autoHide: boolean) => { diff --git a/src/Bup/Bit.Bup/Scripts/bit-bup.ts b/src/Bup/Bit.Bup/Scripts/bit-bup.ts index 7db64ac81c..3277a2cea7 100644 --- a/src/Bup/Bit.Bup/Scripts/bit-bup.ts +++ b/src/Bup/Bit.Bup/Scripts/bit-bup.ts @@ -1,5 +1,5 @@ var BitBup = BitBup || {}; -BitBup.version = window['bit-bup version'] = '9.1.0-pre-13'; +BitBup.version = window['bit-bup version'] = '9.1.0'; declare const Blazor: any; diff --git a/src/Butil/Bit.Butil/Scripts/butil.ts b/src/Butil/Bit.Butil/Scripts/butil.ts index 7500ccb723..d2e1883010 100644 --- a/src/Butil/Bit.Butil/Scripts/butil.ts +++ b/src/Butil/Bit.Butil/Scripts/butil.ts @@ -1,2 +1,2 @@ var BitButil = BitButil || {}; -BitButil.version = window['bit-butil version'] = '9.1.0-pre-13'; \ No newline at end of file +BitButil.version = window['bit-butil version'] = '9.1.0'; \ No newline at end of file diff --git a/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj b/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj index a2961452ae..1968c78056 100644 --- a/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj +++ b/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty.Client/BlazorEmpty.Client.csproj @@ -1,4 +1,4 @@ - + @@ -17,14 +17,14 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj b/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj index 87bbadb6da..b3aa7b5dcc 100644 --- a/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj +++ b/src/Templates/BlazorEmpty/Bit.BlazorEmpty/BlazorEmpty/BlazorEmpty.csproj @@ -1,4 +1,4 @@ - + @@ -19,14 +19,14 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ClientExceptionHandlerBase.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ClientExceptionHandlerBase.cs index 38dccd5fa8..0b5c6fa838 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ClientExceptionHandlerBase.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Services/ClientExceptionHandlerBase.cs @@ -6,11 +6,10 @@ namespace Boilerplate.Client.Core.Services; public abstract partial class ClientExceptionHandlerBase : SharedExceptionHandler, IExceptionHandler { - [AutoInject] protected Bit.Butil.Console Console = default!; - [AutoInject] protected ITelemetryContext TelemetryContext = default!; [AutoInject] protected readonly SnackBarService SnackBarService = default!; - [AutoInject] protected ILogger Logger = default!; + [AutoInject] protected readonly ITelemetryContext TelemetryContext = default!; [AutoInject] protected readonly MessageBoxService MessageBoxService = default!; + [AutoInject] protected readonly ILogger Logger = default!; public void Handle(Exception exception, bool nonInterrupting = false, diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/MauiProgram.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/MauiProgram.cs index eac5b46638..b430d25058 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/MauiProgram.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Maui/MauiProgram.cs @@ -23,10 +23,8 @@ public static MauiApp CreateMauiApp() AppDomain.CurrentDomain.UnhandledException += (_, e) => LogException(e.ExceptionObject, reportedBy: nameof(AppDomain.UnhandledException)); TaskScheduler.UnobservedTaskException += (_, e) => { - if (LogException(e.Exception, nameof(TaskScheduler.UnobservedTaskException))) - { - e.SetObserved(); - } + LogException(e.Exception, nameof(TaskScheduler.UnobservedTaskException)); + e.SetObserved(); }; AppPlatform.IsBlazorHybrid = true; @@ -196,17 +194,18 @@ public override void DecidePolicy(WKWebView webView, WKNavigationAction navigati } #endif - private static bool LogException(object? error, string reportedBy) + private static void LogException(object? error, string reportedBy) { - var errorMessage = error?.ToString() ?? "Unknown error"; if (IPlatformApplication.Current?.Services is IServiceProvider services && error is Exception exp) { services.GetRequiredService().Handle(exp, parameters: new() { { nameof(reportedBy), reportedBy } - }); - return true; + }, nonInterrupting: true); + } + else + { + _ = Console.Error.WriteLineAsync(error?.ToString() ?? "Unknown error"); } - return false; } } diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Program.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Program.cs index 97b2bc2bfe..86f6471c70 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Program.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/Program.cs @@ -44,6 +44,13 @@ public static async Task Main(string[] args) var host = builder.Build(); + AppDomain.CurrentDomain.UnhandledException += (_, e) => LogException(e.ExceptionObject, reportedBy: nameof(AppDomain.UnhandledException), host); + TaskScheduler.UnobservedTaskException += (_, e) => + { + LogException(e.Exception, nameof(TaskScheduler.UnobservedTaskException), host); + e.SetObserved(); + }; + if (CultureInfoManager.MultilingualEnabled) { var cultureCookie = await host.Services.GetRequiredService().GetValue(".AspNetCore.Culture"); @@ -65,4 +72,19 @@ public static async Task Main(string[] args) await host.RunAsync(); } + + private static void LogException(object? error, string reportedBy, WebAssemblyHost host) + { + if (host.Services is IServiceProvider services && error is Exception exp) + { + services.GetRequiredService().Handle(exp, parameters: new() + { + { nameof(reportedBy), reportedBy } + }, nonInterrupting: true); + } + else + { + _ = System.Console.Error.WriteLineAsync(error?.ToString() ?? "Unknown error"); + } + } } diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/service-worker.published.js b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/service-worker.published.js index 31356b8e6e..d8cb862b32 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/service-worker.published.js +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Web/wwwroot/service-worker.published.js @@ -1,5 +1,5 @@ //+:cnd:noEmit -// bit version: 9.1.0-pre-13 +// bit version: 9.1.0 // https://github.com/bitfoundation/bitplatform/tree/develop/src/Bswup //#if (notification == true) diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Program.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Program.cs index b191aceadf..73009adeb6 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Program.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Windows/Program.cs @@ -124,16 +124,16 @@ public static void Main(string[] args) private static void LogException(object? error, string reportedBy) { - var errorMessage = error?.ToString() ?? "Unknown error"; if (Services is not null && error is Exception exp) { - Services.GetRequiredService().Handle(exp, parameters: new() - { + Services.GetRequiredService().Handle(exp, parameters: new() + { { nameof(reportedBy), reportedBy } - }); + }, nonInterrupting: true); } else { + var errorMessage = error?.ToString() ?? "Unknown error"; Clipboard.SetText(errorMessage); System.Windows.Forms.MessageBox.Show(errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props b/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props index 5155878ebf..1d0850f05d 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Build.props @@ -1,4 +1,4 @@ - + diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props b/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props index 9d971a6af3..d8d2bddf8d 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages.props @@ -1,14 +1,14 @@  - - - - - - - - + + + + + + + + @@ -46,7 +46,7 @@ - + diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages8.props b/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages8.props index ddeee44440..f891d1d52a 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages8.props +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Directory.Packages8.props @@ -1,14 +1,14 @@  - - - - - - - - + + + + + + + + @@ -46,7 +46,7 @@ - + diff --git a/src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Program.cs b/src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Program.cs index 3e29f8faae..2bfa6eafb0 100644 --- a/src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Program.cs +++ b/src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Web/Program.cs @@ -2,6 +2,7 @@ //#if (api == "Integrated") using Boilerplate.Server.Api.Data; //#endif +using Boilerplate.Client.Core.Services.Contracts; namespace Boilerplate.Server.Web; @@ -35,6 +36,9 @@ public static async Task Main(string[] args) var app = builder.Build(); + AppDomain.CurrentDomain.UnhandledException += (_, e) => LogException(e.ExceptionObject, reportedBy: nameof(AppDomain.UnhandledException), app); + TaskScheduler.UnobservedTaskException += (_, e) => { LogException(e.Exception, reportedBy: nameof(TaskScheduler.UnobservedTaskException), app); e.SetObserved(); }; + //#if (api == "Integrated") if (builder.Environment.IsDevelopment()) { @@ -48,4 +52,20 @@ public static async Task Main(string[] args) await app.RunAsync(); } + + private static void LogException(object? error, string reportedBy, WebApplication app) + { + if (error is Exception exp) + { + using var scope = app.Services.CreateScope(); + scope.ServiceProvider.GetRequiredService().Handle(exp, parameters: new() + { + { nameof(reportedBy), reportedBy } + }, nonInterrupting: true); + } + else + { + _ = Console.Error.WriteLineAsync(error?.ToString() ?? "Unknown error"); + } + } } diff --git a/src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj b/src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj index 0220b305b3..a879ea2461 100644 --- a/src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj +++ b/src/Websites/Careers/src/Bit.Websites.Careers.Client/Bit.Websites.Careers.Client.csproj @@ -22,15 +22,15 @@ - - + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj b/src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj index 1d72861b0f..a7be1beb4c 100644 --- a/src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj +++ b/src/Websites/Careers/src/Bit.Websites.Careers.Server/Bit.Websites.Careers.Server.csproj @@ -10,11 +10,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj b/src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj index 1e61fe66a4..671e6d8060 100644 --- a/src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj +++ b/src/Websites/Careers/src/Bit.Websites.Careers.Shared/Bit.Websites.Careers.Shared.csproj @@ -6,11 +6,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Careers/src/Directory.Build.props b/src/Websites/Careers/src/Directory.Build.props index 35c2e8b6e4..539361cc6b 100644 --- a/src/Websites/Careers/src/Directory.Build.props +++ b/src/Websites/Careers/src/Directory.Build.props @@ -1,4 +1,4 @@ - + 13.0 diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj index 8241ce4e9a..a181d12f4d 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Bit.Websites.Platform.Client.csproj @@ -22,16 +22,16 @@ - - - + + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor index da1e065eef..c8f9aabbe5 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor @@ -174,8 +174,8 @@ rm $HOME/dotnet.tar.gz }
  • -
    Install Bit Boilerplate project template
    - dotnet new install Bit.Boilerplate::9.1.0-pre-13 +
    Install Bit Boilerplate project template
    + dotnet new install Bit.Boilerplate::9.1.0
  • @if (showCrossPlatform && devOS is "Windows") { diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs index a0b4abb837..23f59fcd77 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs @@ -38,7 +38,7 @@ public partial class Templates03GettingStartedPage command:"dotnet nuget add source \"https://api.nuget.org/v3/index.json\" --name \"nuget.org\"; dotnet workload install wasm-tools;"), (text:@"echo 'Install the Bit.Boilerplate project template https://www.nuget.org/packages/Boilerplate.Templates';", - command:"dotnet new install Bit.Boilerplate::9.1.0-pre-13;") + command:"dotnet new install Bit.Boilerplate::9.1.0;") ]; if (enableVirtualization) diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj b/src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj index 096d8b2eee..d2638aff02 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Server/Bit.Websites.Platform.Server.csproj @@ -10,11 +10,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj b/src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj index 1e61fe66a4..671e6d8060 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Shared/Bit.Websites.Platform.Shared.csproj @@ -6,11 +6,11 @@
    - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Platform/src/Directory.Build.props b/src/Websites/Platform/src/Directory.Build.props index 95ca2f5176..334fc6f636 100644 --- a/src/Websites/Platform/src/Directory.Build.props +++ b/src/Websites/Platform/src/Directory.Build.props @@ -1,4 +1,4 @@ - + preview diff --git a/src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj b/src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj index 7e537420ad..dfaaaf87fa 100644 --- a/src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj +++ b/src/Websites/Sales/src/Bit.Websites.Sales.Client/Bit.Websites.Sales.Client.csproj @@ -22,15 +22,15 @@ - - + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj b/src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj index 75f911eeea..8dce0fa93d 100644 --- a/src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj +++ b/src/Websites/Sales/src/Bit.Websites.Sales.Server/Bit.Websites.Sales.Server.csproj @@ -10,11 +10,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj b/src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj index 1e61fe66a4..671e6d8060 100644 --- a/src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj +++ b/src/Websites/Sales/src/Bit.Websites.Sales.Shared/Bit.Websites.Sales.Shared.csproj @@ -6,11 +6,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Websites/Sales/src/Directory.Build.props b/src/Websites/Sales/src/Directory.Build.props index 24e032fd58..2d0adb1c87 100644 --- a/src/Websites/Sales/src/Directory.Build.props +++ b/src/Websites/Sales/src/Directory.Build.props @@ -1,4 +1,4 @@ - + 13.0