From eb72e08e59f374bf0f47c604ecf6c8a0133f97fa Mon Sep 17 00:00:00 2001 From: CodeDoctorDE Date: Fri, 14 Nov 2025 23:04:50 +0100 Subject: [PATCH] Fix page rect does not consider whole content and various pdf loading issues --- api/pubspec.lock | 24 +++---- app/android/app/build.gradle.kts | 6 +- app/lib/bloc/document_state.dart | 2 +- app/lib/cubits/current_index.dart | 2 +- app/lib/renderers/backgrounds/image.dart | 2 +- app/lib/renderers/elements/image.dart | 4 ++ app/lib/services/asset.dart | 22 ++----- app/lib/services/import.dart | 2 +- app/lib/views/main.dart | 2 +- app/pubspec.lock | 16 ++--- docs/package.json | 2 +- docs/pnpm-lock.yaml | 84 ++++++++++++------------ metadata/en-US/changelogs/158.txt | 5 ++ tools/pubspec.lock | 4 +- 14 files changed, 88 insertions(+), 89 deletions(-) create mode 100644 metadata/en-US/changelogs/158.txt diff --git a/api/pubspec.lock b/api/pubspec.lock index d21f47f43f..66e8deceb1 100644 --- a/api/pubspec.lock +++ b/api/pubspec.lock @@ -77,18 +77,18 @@ packages: dependency: transitive description: name: build_daemon - sha256: "409002f1adeea601018715d613115cfaf0e31f512cb80ae4534c79867ae2363d" + sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957 url: "https://pub.dev" source: hosted - version: "4.1.0" + version: "4.1.1" build_runner: dependency: "direct dev" description: name: build_runner - sha256: a9461b8e586bf018dd4afd2e13b49b08c6a844a4b226c8d1d10f3a723cdd78c3 + sha256: "7b5b569f3df370590a85029148d6fc66c7d0201fc6f1847c07dd85d365ae9fcd" url: "https://pub.dev" source: hosted - version: "2.10.1" + version: "2.10.3" built_collection: dependency: transitive description: @@ -182,10 +182,10 @@ packages: dependency: transitive description: name: dart_style - sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697 + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" ffi: dependency: transitive description: @@ -543,26 +543,26 @@ packages: dependency: "direct dev" description: name: test - sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7" + sha256: "8f0eb7fa76b7d05a4f3707e0dbd581babef5b0915ca508b757cf15d0cabb56cb" url: "https://pub.dev" source: hosted - version: "1.26.3" + version: "1.27.0" test_api: dependency: transitive description: name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + sha256: "19a78f63e83d3a61f00826d09bc2f60e191bf3504183c001262be6ac75589fb8" url: "https://pub.dev" source: hosted - version: "0.7.7" + version: "0.7.8" test_core: dependency: transitive description: name: test_core - sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0" + sha256: bad9916601a4f2ef6e4dbc466fb712e4b42cf4917c3fd428b018f51984fce13b url: "https://pub.dev" source: hosted - version: "0.6.12" + version: "0.6.13" type_plus: dependency: transitive description: diff --git a/app/android/app/build.gradle.kts b/app/android/app/build.gradle.kts index 91f4b3ad1b..d607bb8957 100644 --- a/app/android/app/build.gradle.kts +++ b/app/android/app/build.gradle.kts @@ -30,8 +30,8 @@ android { } } compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } flavorDimensions += "default" @@ -92,7 +92,7 @@ android { kotlin { compilerOptions { - jvmTarget = JvmTarget.fromTarget("11") + jvmTarget = JvmTarget.fromTarget("17") } } diff --git a/app/lib/bloc/document_state.dart b/app/lib/bloc/document_state.dart index 211a6ff5ea..16947b1e9e 100644 --- a/app/lib/bloc/document_state.dart +++ b/app/lib/bloc/document_state.dart @@ -88,7 +88,7 @@ abstract class DocumentLoaded extends DocumentState { FileMetadata? metadata, DocumentInfo? info, }) : page = page ?? data.getPage(pageName) ?? DocumentDefaults.createPage(), - assetService = assetService ?? AssetService(data), + assetService = assetService ?? AssetService(), metadata = metadata ?? data.getMetadata() ?? DocumentDefaults.createMetadata(), info = info ?? data.getInfo() ?? DocumentDefaults.createInfo(); diff --git a/app/lib/cubits/current_index.dart b/app/lib/cubits/current_index.dart index 6347d61d9f..87c7358ef4 100644 --- a/app/lib/cubits/current_index.dart +++ b/app/lib/cubits/current_index.dart @@ -1689,7 +1689,7 @@ class CurrentIndexCubit extends Cubit { Rect getPageRect() { Rect? rect; for (final renderer in renderers) { - final rendererRect = renderer.rect; + final rendererRect = renderer.expandedRect; if (rendererRect == null) continue; rect = rect?.expandToInclude(rendererRect) ?? rendererRect; } diff --git a/app/lib/renderers/backgrounds/image.dart b/app/lib/renderers/backgrounds/image.dart index 82e2a60b37..d25fd6eae1 100644 --- a/app/lib/renderers/backgrounds/image.dart +++ b/app/lib/renderers/backgrounds/image.dart @@ -106,7 +106,7 @@ class ImageBackgroundRenderer extends Renderer { super.setup(transformCubit, document, assetService, page); if (image != null) return; try { - image = await assetService.getImage(element.source); + image = await assetService.getImage(element.source, document); } catch (_) {} } diff --git a/app/lib/renderers/elements/image.dart b/app/lib/renderers/elements/image.dart index 5d30d4f490..7a2b086009 100644 --- a/app/lib/renderers/elements/image.dart +++ b/app/lib/renderers/elements/image.dart @@ -15,6 +15,10 @@ class ImageRenderer extends Renderer { final uri = Uri.parse(element.source); if (uri.hasScheme && !uri.isScheme('file')) return false; final shouldUpdate = uri.path == path; + if (shouldUpdate) { + image?.dispose(); + image = null; + } return shouldUpdate; } diff --git a/app/lib/services/asset.dart b/app/lib/services/asset.dart index 17d9f79eb2..517bcbe269 100644 --- a/app/lib/services/asset.dart +++ b/app/lib/services/asset.dart @@ -9,22 +9,20 @@ Uint8List? _getDataFromSource((NoteData, String) message) => element_helper.getDataFromSource(message.$1, message.$2); class AssetService { - final NoteData document; final Map _images = {}; final Map> _dataCache = {}; final Map _pdfDocumentCache = {}; - AssetService(this.document); + AssetService(); - Future getImage(String path, [NoteData? document]) async { + Future getImage(String path, NoteData document) async { if (_images.containsKey(path)) { return _images[path]!.clone(); } - document ??= this.document; - return _importImage(path); + return _importImage(path, document); } - Future _importImage(String path) async { + Future _importImage(String path, NoteData document) async { var data = await compute(_getDataFromSource, (document, path)); if (data == null) return null; final codec = await ui.instantiateImageCodec(data); @@ -45,14 +43,10 @@ class AssetService { _images.remove(path); } - Future computeDataFromSource( - String source, [ - NoteData? document, - ]) { + Future computeDataFromSource(String source, NoteData document) { if (_dataCache.containsKey(source)) { return _dataCache[source]!; } - document ??= this.document; final data = element_helper.computeDataFromSource(document, source); _dataCache[source] = data; return data; @@ -62,14 +56,10 @@ class AssetService { _dataCache.remove(source); } - Future getPdfDocument( - String source, [ - NoteData? document, - ]) async { + Future getPdfDocument(String source, NoteData document) async { if (_pdfDocumentCache.containsKey(source)) { return _pdfDocumentCache[source]; } - document ??= this.document; final data = await computeDataFromSource(source, document); if (data == null) return null; final pdfDocument = await PdfDocument.openData(data); diff --git a/app/lib/services/import.dart b/app/lib/services/import.dart index 1bc43b8f3d..d88367618a 100644 --- a/app/lib/services/import.dart +++ b/app/lib/services/import.dart @@ -488,7 +488,7 @@ class ImportService { .map((e) => Renderer.fromInstance(e)) .toList(); final transformCubit = TransformCubit(1, position); - final assetService = AssetService(document); + final assetService = AssetService(); await Future.wait( renderers.map( (e) async => diff --git a/app/lib/views/main.dart b/app/lib/views/main.dart index 7d7adbb692..6a442d3f61 100644 --- a/app/lib/views/main.dart +++ b/app/lib/views/main.dart @@ -253,7 +253,7 @@ class _ProjectPageState extends State { final renderers = page.content .map((e) => Renderer.fromInstance(e)) .toList(); - final assetService = AssetService(document); + final assetService = AssetService(); final transformCubit = TransformCubit(pixelRatio); await Future.wait( renderers.map( diff --git a/app/pubspec.lock b/app/pubspec.lock index 2bbfaafefb..ddde6fb221 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -109,10 +109,10 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "04f69b1502f66e22ae7990bbd01eb552b7f12793c4d3ea6e715d0ac5e98bcdac" + sha256: "7b5b569f3df370590a85029148d6fc66c7d0201fc6f1847c07dd85d365ae9fcd" url: "https://pub.dev" source: hosted - version: "2.10.2" + version: "2.10.3" built_collection: dependency: transitive description: @@ -325,10 +325,10 @@ packages: dependency: transitive description: name: dart_style - sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697 + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" dbus: dependency: transitive description: @@ -1000,10 +1000,10 @@ packages: dependency: "direct main" description: name: pdfrx - sha256: "45d535ab7156144e19748e95ecbc1e2ef3f72ed0ea91fb2b22b7493dd95167a2" + sha256: aff4b53b463c2a6417325d47198fdf11e91f18298fe42681ced203bb2cd611c3 url: "https://pub.dev" source: hosted - version: "2.2.11" + version: "2.2.12" pdfrx_engine: dependency: transitive description: @@ -1016,10 +1016,10 @@ packages: dependency: "direct main" description: name: perfect_freehand - sha256: "399c16dc35a6eb1dee4d9a2c638ff0fe71ebb5e8980ab41261bf4306dafaa4af" + sha256: "7a6a591832be33fe82d8ecab68562a794d39837af16e7413fe0ccebdd0c3e3c0" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.5.1" petitparser: dependency: transitive description: diff --git a/docs/package.json b/docs/package.json index da753be7e7..7f1068c788 100644 --- a/docs/package.json +++ b/docs/package.json @@ -17,7 +17,7 @@ "@phosphor-icons/react": "^2.1.10", "@types/react": "^19.2.4", "@types/react-dom": "^19.2.3", - "astro": "^5.15.5", + "astro": "^5.15.7", "react": "^19.2.0", "react-dom": "^19.2.0", "remark-gemoji": "^8.0.0", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 8723ea15bf..65293165b7 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 4.4.2(@types/node@24.10.1)(@types/react-dom@19.2.3(@types/react@19.2.4))(@types/react@19.2.4)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1) '@astrojs/starlight': specifier: ^0.36.2 - version: 0.36.2(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) + version: 0.36.2(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) '@linwooddev/style': specifier: github:LinwoodDev/style#efbdf8f05d4ef1cf6fec65c90194d30b68b3c64e&path:/packages/web version: https://codeload.github.com/LinwoodDev/style/tar.gz/efbdf8f05d4ef1cf6fec65c90194d30b68b3c64e#path:/packages/web @@ -30,8 +30,8 @@ importers: specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.4) astro: - specifier: ^5.15.5 - version: 5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + specifier: ^5.15.7 + version: 5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) react: specifier: ^19.2.0 version: 19.2.0 @@ -50,7 +50,7 @@ importers: devDependencies: '@vite-pwa/astro': specifier: ^1.1.1 - version: 1.1.1(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(vite-plugin-pwa@1.1.0(vite@6.4.1(@types/node@24.10.1)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) + version: 1.1.1(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(vite-plugin-pwa@1.1.0(vite@6.4.1(@types/node@24.10.1)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) sass: specifier: ^1.94.0 version: 1.94.0 @@ -670,8 +670,8 @@ packages: '@emmetio/stream-reader@2.2.0': resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==} - '@emnapi/runtime@1.7.0': - resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==} + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} @@ -1523,8 +1523,8 @@ packages: peerDependencies: astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 - astro@5.15.5: - resolution: {integrity: sha512-A56u4H6gFHEb0yRHcGTOADBb7jmEwfDjQpkqVV/Z+ZWlu6mYuwCrIcOUtZjNno0chrRKmOeZWDofW23ql18y3w==} + astro@5.15.7: + resolution: {integrity: sha512-Zmw6otInhxcjoGcEyEN+wxgdiQERQOS3VzOmAKsDdKK8Fb4x1656r+9NtaTXCRZ0/fGtHjkSvkGUhZUJLXKfxQ==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1574,8 +1574,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.27: - resolution: {integrity: sha512-2CXFpkjVnY2FT+B6GrSYxzYf65BJWEqz5tIRHCvNsZZ2F3CmsCB37h8SpYgKG7y9C4YAeTipIPWG7EmFmhAeXA==} + baseline-browser-mapping@2.8.28: + resolution: {integrity: sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==} hasBin: true bcp-47-match@2.0.3: @@ -1732,8 +1732,8 @@ packages: engines: {node: '>=4'} hasBin: true - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.0: + resolution: {integrity: sha512-si++xzRAY9iPp60roQiFta7OFbhrgvcthrhlNAGeQptSY25uJjkfUV8OArC3KLocB8JT8ohz+qgxWCmz8RhjIg==} data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} @@ -1827,8 +1827,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.250: - resolution: {integrity: sha512-/5UMj9IiGDMOFBnN4i7/Ry5onJrAGSbOGo3s9FEKmwobGq6xw832ccET0CE3CkkMBZ8GJSlUIesZofpyurqDXw==} + electron-to-chromium@1.5.252: + resolution: {integrity: sha512-53uTpjtRgS7gjIxZ4qCgFdNO2q+wJt/Z8+xAvxbCqXPJrY6h7ighUkadQmNMXH96crtpa6gPFNP7BF4UBGDuaA==} emmet@2.4.11: resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} @@ -2413,8 +2413,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.3.5: - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + magicast@0.5.1: + resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} markdown-extensions@2.0.0: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} @@ -3040,8 +3040,8 @@ packages: smob@1.5.0: resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - smol-toml@1.4.2: - resolution: {integrity: sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==} + smol-toml@1.5.2: + resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==} engines: {node: '>= 18'} source-map-js@1.2.1: @@ -3763,7 +3763,7 @@ snapshots: remark-rehype: 11.1.2 remark-smartypants: 3.0.2 shiki: 3.15.0 - smol-toml: 1.4.2 + smol-toml: 1.5.2 unified: 11.0.5 unist-util-remove-position: 5.0.0 unist-util-visit: 5.0.0 @@ -3772,12 +3772,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.3.10(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': + '@astrojs/mdx@4.3.10(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': dependencies: '@astrojs/markdown-remark': 6.3.8 '@mdx-js/mdx': 3.1.1 acorn: 8.15.0 - astro: 5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + astro: 5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -3824,17 +3824,17 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.25.76 - '@astrojs/starlight@0.36.2(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': + '@astrojs/starlight@0.36.2(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))': dependencies: '@astrojs/markdown-remark': 6.3.8 - '@astrojs/mdx': 4.3.10(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) + '@astrojs/mdx': 4.3.10(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) '@astrojs/sitemap': 3.6.0 '@pagefind/default-ui': 1.4.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) - astro-expressive-code: 0.41.3(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) + astro: 5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + astro-expressive-code: 0.41.3(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.4 @@ -4566,7 +4566,7 @@ snapshots: '@emmetio/stream-reader@2.2.0': {} - '@emnapi/runtime@1.7.0': + '@emnapi/runtime@1.7.1': dependencies: tslib: 2.8.1 optional: true @@ -4758,7 +4758,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.7.0 + '@emnapi/runtime': 1.7.1 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -5155,7 +5155,7 @@ snapshots: '@types/react@19.2.4': dependencies: - csstype: 3.1.3 + csstype: 3.2.0 '@types/resolve@1.20.2': {} @@ -5171,9 +5171,9 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vite-pwa/astro@1.1.1(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(vite-plugin-pwa@1.1.0(vite@6.4.1(@types/node@24.10.1)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': + '@vite-pwa/astro@1.1.1(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1))(vite-plugin-pwa@1.1.0(vite@6.4.1(@types/node@24.10.1)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0))': dependencies: - astro: 5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + astro: 5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) vite-plugin-pwa: 1.1.0(vite@6.4.1(@types/node@24.10.1)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0) '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@24.10.1)(sass@1.94.0)(terser@5.44.1)(yaml@2.8.1))': @@ -5299,12 +5299,12 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.41.3(astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)): + astro-expressive-code@0.41.3(astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1)): dependencies: - astro: 5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) + astro: 5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) rehype-expressive-code: 0.41.3 - astro@5.15.5(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1): + astro@5.15.7(@types/node@24.10.1)(rollup@2.79.2)(sass@1.94.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1): dependencies: '@astrojs/compiler': 2.13.0 '@astrojs/internal-helpers': 0.7.4 @@ -5339,7 +5339,7 @@ snapshots: import-meta-resolve: 4.2.0 js-yaml: 4.1.1 magic-string: 0.30.21 - magicast: 0.3.5 + magicast: 0.5.1 mrmime: 2.0.1 neotraverse: 0.6.18 p-limit: 6.2.0 @@ -5351,7 +5351,7 @@ snapshots: rehype: 13.0.2 semver: 7.7.3 shiki: 3.15.0 - smol-toml: 1.4.2 + smol-toml: 1.5.2 tinyexec: 1.0.2 tinyglobby: 0.2.15 tsconfck: 3.1.6(typescript@5.9.3) @@ -5449,7 +5449,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.8.27: {} + baseline-browser-mapping@2.8.28: {} bcp-47-match@2.0.3: {} @@ -5491,9 +5491,9 @@ snapshots: browserslist@4.28.0: dependencies: - baseline-browser-mapping: 2.8.27 + baseline-browser-mapping: 2.8.28 caniuse-lite: 1.0.30001754 - electron-to-chromium: 1.5.250 + electron-to-chromium: 1.5.252 node-releases: 2.0.27 update-browserslist-db: 1.1.4(browserslist@4.28.0) @@ -5593,7 +5593,7 @@ snapshots: cssesc@3.0.0: {} - csstype@3.1.3: {} + csstype@3.2.0: {} data-view-buffer@1.0.2: dependencies: @@ -5676,7 +5676,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.250: {} + electron-to-chromium@1.5.252: {} emmet@2.4.11: dependencies: @@ -6465,7 +6465,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.3.5: + magicast@0.5.1: dependencies: '@babel/parser': 7.28.5 '@babel/types': 7.28.5 @@ -7547,7 +7547,7 @@ snapshots: smob@1.5.0: {} - smol-toml@1.4.2: {} + smol-toml@1.5.2: {} source-map-js@1.2.1: {} diff --git a/metadata/en-US/changelogs/158.txt b/metadata/en-US/changelogs/158.txt new file mode 100644 index 0000000000..e33975bd98 --- /dev/null +++ b/metadata/en-US/changelogs/158.txt @@ -0,0 +1,5 @@ +* Fix page rect does not consider whole content +* Fix png not loading after importing +* Fix png not updating after doing operations like flip or invert + +Read more here: https://linwood.dev/butterfly/2.4.2-rc.0 \ No newline at end of file diff --git a/tools/pubspec.lock b/tools/pubspec.lock index 5a6e315831..8f2612987f 100644 --- a/tools/pubspec.lock +++ b/tools/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: "direct main" description: name: http - sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007 + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.6.0" http_parser: dependency: transitive description: