From 1207a0bc19340d06c5ba3d663af01abe8fe092a6 Mon Sep 17 00:00:00 2001 From: CodeDoctorDE Date: Wed, 25 Oct 2023 19:19:04 +0200 Subject: [PATCH] Implement first test --- api/lib/src/converter/legacy.dart | 6 ++-- api/pubspec.yaml | 1 + api/test/assets/document_v1.bfly | 1 + api/test/migration_test.dart | 34 ++++++++++++++++++ app/Templates/Dark.bfly | Bin 2252 -> 0 bytes app/Templates/Light.bfly | Bin 2246 -> 0 bytes .../metadata/android/en-US/changelogs/76.txt | 3 +- 7 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 api/test/assets/document_v1.bfly create mode 100644 api/test/migration_test.dart delete mode 100644 app/Templates/Dark.bfly delete mode 100644 app/Templates/Light.bfly diff --git a/api/lib/src/converter/legacy.dart b/api/lib/src/converter/legacy.dart index 0ead87e121a7..fbf028d38fc6 100644 --- a/api/lib/src/converter/legacy.dart +++ b/api/lib/src/converter/legacy.dart @@ -12,8 +12,7 @@ Archive convertLegacyDataToArchive(Map data) { 'fileVersion': 8, ...legacyNoteDataJsonMigrator(data), }; - final archive = Archive(); - var reader = NoteData(archive); + var reader = NoteData(Archive()); reader = reader.setAsset(kMetaArchiveFile, utf8.encode(jsonEncode(data))); NoteFileType type = NoteFileType.document; try { @@ -55,7 +54,7 @@ Archive convertLegacyDataToArchive(Map data) { reader = reader.setThumbnail(data); } } - return archive; + return reader.export(); } Map legacyNoteDataJsonMigrator(Map data) { @@ -78,7 +77,6 @@ Map legacyNoteDataJsonMigrator(Map data) { Map _legacyDocumentJsonMigrator( Map data, int? fileVersion) { - final fileVersion = data['fileVersion'] as int?; if (fileVersion != null && fileVersion >= 0) { if (fileVersion < 4) { data['palettes'] = List.from( diff --git a/api/pubspec.yaml b/api/pubspec.yaml index 431d7384a81e..43920d727aa1 100644 --- a/api/pubspec.yaml +++ b/api/pubspec.yaml @@ -12,6 +12,7 @@ dependencies: json_annotation: ^4.8.1 replay_bloc: ^0.2.4 rxdart: ^0.27.7 + test: ^1.24.9 dev_dependencies: json_serializable: ^6.7.1 build_runner: ^2.4.6 diff --git a/api/test/assets/document_v1.bfly b/api/test/assets/document_v1.bfly new file mode 100644 index 000000000000..12d638386b55 --- /dev/null +++ b/api/test/assets/document_v1.bfly @@ -0,0 +1 @@ +{"name":"25/10/2023 18:56","description":"","content":[{"layer":"","points":[{"x":683,"y":193,"pressure":0},{"x":684,"y":199,"pressure":0.5},{"x":686,"y":216,"pressure":0.5},{"x":691,"y":244,"pressure":0.5},{"x":698,"y":282,"pressure":0.5},{"x":708,"y":340,"pressure":0.5},{"x":714,"y":372,"pressure":0.5},{"x":719,"y":403,"pressure":0.5},{"x":721,"y":417,"pressure":0.5},{"x":722,"y":428,"pressure":0.5},{"x":722,"y":431,"pressure":0.5},{"x":721,"y":435,"pressure":0.5},{"x":721,"y":434,"pressure":0.5},{"x":721,"y":425,"pressure":0.5},{"x":720,"y":411,"pressure":0.5},{"x":721,"y":403,"pressure":0.5},{"x":722,"y":384,"pressure":0.5},{"x":724,"y":367,"pressure":0.5},{"x":726,"y":360,"pressure":0.5},{"x":729,"y":346,"pressure":0.5},{"x":733,"y":336,"pressure":0.5},{"x":738,"y":327,"pressure":0.5},{"x":741,"y":323,"pressure":0.5},{"x":744,"y":320,"pressure":0.5},{"x":747,"y":318,"pressure":0.5},{"x":757,"y":316,"pressure":0.5},{"x":764,"y":318,"pressure":0.5},{"x":767,"y":319,"pressure":0.5},{"x":773,"y":325,"pressure":0.5},{"x":777,"y":332,"pressure":0.5},{"x":782,"y":341,"pressure":0.5},{"x":783,"y":346,"pressure":0.5},{"x":785,"y":354,"pressure":0.5},{"x":787,"y":364,"pressure":0.5},{"x":788,"y":374,"pressure":0.5},{"x":789,"y":380,"pressure":0.5},{"x":789,"y":389,"pressure":0.5},{"x":791,"y":396,"pressure":0.5},{"x":792,"y":398,"pressure":0.5},{"x":795,"y":404,"pressure":0.5},{"x":801,"y":408,"pressure":0.5},{"x":804,"y":410,"pressure":0.5},{"x":810,"y":412,"pressure":0.5},{"x":817,"y":412,"pressure":0.5},{"x":824,"y":412,"pressure":0.5},{"x":827,"y":411,"pressure":0.5},{"x":834,"y":408,"pressure":0.5},{"x":842,"y":402,"pressure":0.5},{"x":846,"y":398,"pressure":0.5},{"x":854,"y":388,"pressure":0.5},{"x":861,"y":376,"pressure":0.5},{"x":864,"y":371,"pressure":0.5},{"x":867,"y":365,"pressure":0.5},{"x":869,"y":359,"pressure":0.5},{"x":874,"y":347,"pressure":0.5},{"x":877,"y":333,"pressure":0.5},{"x":877,"y":329,"pressure":0.5},{"x":877,"y":321,"pressure":0.5},{"x":876,"y":316,"pressure":0.5},{"x":876,"y":314,"pressure":0.5},{"x":874,"y":311,"pressure":0.5},{"x":868,"y":309,"pressure":0.5},{"x":865,"y":309,"pressure":0.5},{"x":862,"y":309,"pressure":0.5},{"x":857,"y":309,"pressure":0.5},{"x":848,"y":310,"pressure":0.5},{"x":840,"y":312,"pressure":0.5},{"x":835,"y":314,"pressure":0.5},{"x":828,"y":319,"pressure":0.5},{"x":822,"y":325,"pressure":0.5},{"x":820,"y":329,"pressure":0.5},{"x":815,"y":336,"pressure":0.5},{"x":812,"y":343,"pressure":0.5},{"x":811,"y":347,"pressure":0.5},{"x":811,"y":356,"pressure":0.5},{"x":812,"y":365,"pressure":0.5},{"x":814,"y":370,"pressure":0.5},{"x":818,"y":380,"pressure":0.5},{"x":822,"y":389,"pressure":0.5},{"x":827,"y":396,"pressure":0.5},{"x":830,"y":399,"pressure":0.5},{"x":835,"y":404,"pressure":0.5},{"x":841,"y":407,"pressure":0.5},{"x":844,"y":408,"pressure":0.5},{"x":848,"y":409,"pressure":0.5},{"x":852,"y":409,"pressure":0.5},{"x":861,"y":409,"pressure":0.5},{"x":870,"y":409,"pressure":0.5},{"x":874,"y":409,"pressure":0.5},{"x":883,"y":407,"pressure":0.5},{"x":892,"y":404,"pressure":0.5},{"x":897,"y":402,"pressure":0.5},{"x":906,"y":396,"pressure":0.5},{"x":915,"y":389,"pressure":0.5},{"x":919,"y":385,"pressure":0.5},{"x":922,"y":381,"pressure":0.5},{"x":924,"y":376,"pressure":0.5},{"x":929,"y":369,"pressure":0.5},{"x":932,"y":362,"pressure":0.5},{"x":934,"y":358,"pressure":0.5},{"x":937,"y":351,"pressure":0.5},{"x":940,"y":344,"pressure":0.5},{"x":941,"y":340,"pressure":0.5},{"x":943,"y":334,"pressure":0.5},{"x":944,"y":328,"pressure":0.5},{"x":944,"y":326,"pressure":0.5},{"x":944,"y":322,"pressure":0.5},{"x":944,"y":320,"pressure":0.5},{"x":943,"y":315,"pressure":0.5},{"x":941,"y":312,"pressure":0.5},{"x":941,"y":310,"pressure":0.5},{"x":939,"y":308,"pressure":0.5},{"x":938,"y":305,"pressure":0.5},{"x":937,"y":305,"pressure":0.5},{"x":936,"y":304,"pressure":0.5},{"x":935,"y":304,"pressure":0.5},{"x":934,"y":304,"pressure":0.5},{"x":933,"y":304,"pressure":0.5},{"x":932,"y":305,"pressure":0.5},{"x":931,"y":307,"pressure":0.5},{"x":931,"y":309,"pressure":0.5},{"x":931,"y":312,"pressure":0.5},{"x":931,"y":315,"pressure":0.5},{"x":931,"y":324,"pressure":0.5},{"x":932,"y":333,"pressure":0.5},{"x":932,"y":338,"pressure":0.5},{"x":933,"y":343,"pressure":0.5},{"x":934,"y":347,"pressure":0.5},{"x":937,"y":355,"pressure":0.5},{"x":942,"y":363,"pressure":0.5},{"x":945,"y":366,"pressure":0.5},{"x":953,"y":373,"pressure":0.5},{"x":962,"y":380,"pressure":0.5},{"x":967,"y":382,"pressure":0.5},{"x":978,"y":384,"pressure":0.5},{"x":986,"y":385,"pressure":0.5},{"x":991,"y":385,"pressure":0.5},{"x":1002,"y":383,"pressure":0.5},{"x":1013,"y":380,"pressure":0.5},{"x":1023,"y":377,"pressure":0.5},{"x":1028,"y":374,"pressure":0.5},{"x":1037,"y":369,"pressure":0.5},{"x":1045,"y":364,"pressure":0.5},{"x":1048,"y":362,"pressure":0.5},{"x":1054,"y":355,"pressure":0.5},{"x":1059,"y":349,"pressure":0.5},{"x":1061,"y":345,"pressure":0.5},{"x":1063,"y":341,"pressure":0.5},{"x":1064,"y":335,"pressure":0.5},{"x":1065,"y":327,"pressure":0.5},{"x":1063,"y":319,"pressure":0.5},{"x":1061,"y":314,"pressure":0.5},{"x":1056,"y":305,"pressure":0.5},{"x":1051,"y":299,"pressure":0.5},{"x":1048,"y":296,"pressure":0.5},{"x":1040,"y":291,"pressure":0.5},{"x":1033,"y":287,"pressure":0.5},{"x":1029,"y":286,"pressure":0.5},{"x":1025,"y":285,"pressure":0.5},{"x":1022,"y":285,"pressure":0.5},{"x":1015,"y":285,"pressure":0.5},{"x":1011,"y":286,"pressure":0.5},{"x":1008,"y":288,"pressure":0.5},{"x":1003,"y":291,"pressure":0.5},{"x":998,"y":298,"pressure":0.5},{"x":996,"y":304,"pressure":0.5},{"x":996,"y":311,"pressure":0.5},{"x":996,"y":314,"pressure":0.5},{"x":997,"y":317,"pressure":0.5},{"x":998,"y":321,"pressure":0.5},{"x":1001,"y":329,"pressure":0.5},{"x":1006,"y":336,"pressure":0.5},{"x":1010,"y":340,"pressure":0.5},{"x":1020,"y":349,"pressure":0.5},{"x":1033,"y":357,"pressure":0.5},{"x":1039,"y":361,"pressure":0.5},{"x":1053,"y":370,"pressure":0.5},{"x":1075,"y":387,"pressure":0.5},{"x":1082,"y":393,"pressure":0.5},{"x":1087,"y":398,"pressure":0.5},{"x":1092,"y":403,"pressure":0.5},{"x":1096,"y":409,"pressure":0.5},{"x":1100,"y":415,"pressure":0.5},{"x":1106,"y":427,"pressure":0.5},{"x":1110,"y":441,"pressure":0.5},{"x":1112,"y":454,"pressure":0.5},{"x":1114,"y":460,"pressure":0.5},{"x":1118,"y":473,"pressure":0.5},{"x":1122,"y":485,"pressure":0.5},{"x":1123,"y":492,"pressure":0.5},{"x":1126,"y":503,"pressure":0.5},{"x":1127,"y":512,"pressure":0.5},{"x":1128,"y":521,"pressure":0.5},{"x":1128,"y":525,"pressure":0.5},{"x":1125,"y":528,"pressure":0.5},{"x":1123,"y":530,"pressure":0.5},{"x":1117,"y":533,"pressure":0.5},{"x":1106,"y":536,"pressure":0.5},{"x":1099,"y":537,"pressure":0.5},{"x":1090,"y":538,"pressure":0.5},{"x":1082,"y":539,"pressure":0.5},{"x":1065,"y":538,"pressure":0.5},{"x":1058,"y":538,"pressure":0.5},{"x":1043,"y":535,"pressure":0.5},{"x":1029,"y":532,"pressure":0.5},{"x":1017,"y":527,"pressure":0.5},{"x":1012,"y":523,"pressure":0.5},{"x":1003,"y":514,"pressure":0.5},{"x":996,"y":501,"pressure":0.5},{"x":994,"y":494,"pressure":0.5},{"x":991,"y":482,"pressure":0.5},{"x":992,"y":472,"pressure":0.5},{"x":993,"y":467,"pressure":0.5},{"x":994,"y":462,"pressure":0.5},{"x":996,"y":458,"pressure":0.5},{"x":1002,"y":449,"pressure":0.5},{"x":1009,"y":439,"pressure":0.5},{"x":1013,"y":434,"pressure":0.5},{"x":1022,"y":425,"pressure":0.5},{"x":1032,"y":418,"pressure":0.5},{"x":1037,"y":416,"pressure":0.5},{"x":1047,"y":412,"pressure":0.5},{"x":1059,"y":409,"pressure":0.5},{"x":1064,"y":408,"pressure":0.5},{"x":1070,"y":407,"pressure":0.5},{"x":1075,"y":406,"pressure":0.5},{"x":1085,"y":403,"pressure":0.5},{"x":1093,"y":399,"pressure":0.5},{"x":1097,"y":397,"pressure":0.5},{"x":1105,"y":388,"pressure":0.5},{"x":1112,"y":378,"pressure":0.5},{"x":1115,"y":373,"pressure":0.5},{"x":1121,"y":357,"pressure":0.5},{"x":1126,"y":338,"pressure":0.5},{"x":1129,"y":330,"pressure":0.5},{"x":1131,"y":322,"pressure":0.5}],"property":{"strokeWidth":5,"strokeMultiplier":10,"color":4294967295,"fill":false,"type":"pen"},"type":"pen"},{"layer":"","firstPosition":{"x":605,"y":96},"secondPosition":{"x":1223,"y":601},"property":{"strokeWidth":5,"shape":{"fillColor":0,"topLeftCornerRadius":0,"topRightCornerRadius":0,"bottomLeftCornerRadius":0,"bottomRightCornerRadius":0,"type":"rectangle"},"color":4294967295,"type":"shape"},"type":"shape"}],"background":{"boxWidth":20,"boxHeight":20,"boxXCount":1,"boxYCount":1,"boxXSpace":0,"boxYSpace":0,"boxXColor":4278190335,"boxYColor":4294901760,"boxColor":4278190080,"boxXStroke":0.5,"boxYStroke":0.5,"type":"box"},"palettes":[{"name":"Standardpalette","colors":[4294967295,4293467747,4294198070,4294940672,4294951175,4294961979,4291681337,4283215696,4278228616,4278238420,4278430196,4280391411,4282339765,4284513675,4288423856,4286141768,4288585374,4278190080]},{"name":"Hervorhebung","colors":[1090519039,1089019491,1089749814,1090492416,1090502919,1090513723,1087233081,1078767440,1073780360,1073790164,1073981940,1075943155,1077891509,1080065419,1083975600,1081693512,1084137118,1073741824]}],"waypoints":[{"name":"Waypoint 1","position":{"x":-217.8955078125,"y":-432.262939453125},"scale":1}],"areas":[{"name":"Fläche 1","width":769,"height":485,"position":{"x":574,"y":126}}],"exportPresets":[],"packs":[],"createdAt":"2023-10-25T18:56:37.806","updatedAt":null,"painters":[{"name":"","includeEraser":false,"type":"hand"},{"name":"","zoomDependent":false,"property":{"strokeWidth":5,"strokeMultiplier":10,"color":4294967295,"fill":false,"type":"pen"},"type":"pen"},{"name":"","strokeWidth":5,"includeEraser":false,"deleteWholeStroke":false,"type":"pathEraser"},{"name":"","type":"undo"},{"name":"","type":"redo"},{"name":"","constrainedWidth":0,"constrainedHeight":0,"constrainedAspectRatio":0,"askForName":false,"type":"area"},{"name":"","strokeWidth":5,"layer":"","includeEraser":false,"type":"layer"},{"name":"","zoomDependent":false,"constrainedWidth":0,"constrainedHeight":0,"constrainedAspectRatio":0,"property":{"strokeWidth":5,"shape":{"fillColor":0,"topLeftCornerRadius":0,"topRightCornerRadius":0,"bottomLeftCornerRadius":0,"bottomRightCornerRadius":0,"type":"rectangle"},"color":4294967295,"type":"shape"},"type":"shape"},{"name":"","pack":"","component":0,"type":"stamp"},{"name":"","duration":5,"strokeWidth":5,"strokeMultiplier":10,"color":4294901760,"type":"laser"}],"tool":{"gridColor":0,"gridXSize":20,"gridYSize":20},"fileVersion":6,"type":"document"} \ No newline at end of file diff --git a/api/test/migration_test.dart b/api/test/migration_test.dart new file mode 100644 index 000000000000..0dfc48b8db8e --- /dev/null +++ b/api/test/migration_test.dart @@ -0,0 +1,34 @@ +import 'dart:io'; + +import 'package:butterfly_api/butterfly_api.dart'; +import 'package:test/test.dart'; + +void main() { + group('Document migration', () { + test('Migrate from v1', () async { + final bytes = await File('test/assets/document_v1.bfly').readAsBytes(); + final data = NoteData.fromData(bytes); + expect(data.getPages().length, 1); + + final page = data.getPage(); + expect(page, isNotNull); + expect(page!.content.length, 2); + expect(page.content[0], isA()); + expect(page.content[1], isA()); + + final info = data.getInfo(); + expect(info, isNotNull); + expect(info!.tools.length, 10); + expect(info.tools[0], isA()); + expect(info.tools[1], isA()); + expect(info.tools[2], isA()); + expect(info.tools[3], isA()); + expect(info.tools[4], isA()); + expect(info.tools[5], isA()); + expect(info.tools[6], isA()); + expect(info.tools[7], isA()); + expect(info.tools[8], isA()); + expect(info.tools[9], isA()); + }); + }); +} diff --git a/app/Templates/Dark.bfly b/app/Templates/Dark.bfly deleted file mode 100644 index 98c5e9dd528206ba896930bc2fdcc5dd0c66684a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2252 zcmZ`)4LFl)AAg#!ab^uA;Joc_y7LizaPO~Ms^(lfWZK_ z*6mmpyhOwT03c7=Hb|R;?GY=31CDq@a%e~hmE{{4i9Q+3pocnkDaB!6U(E;JUVQ1KkA zp4#uuV4HNd_&nJfAFpKhFjdSDtAW#;h`9)Gm?Z{K`Z>L@VfaDjT`R896=w!cq3&n@ zS8B?~G>k$tWK(9L>upLnD4h(&OBmrB;Z%`AT`3(-9QwZ1;log{zwj$?b5A~R$jK?l#JlvaGm4$pr8(VQEb&|Ng7h;{Xsc1hyD_Rop0 zg%|K*+%=Ow9ba?Xj@(2&gdD}yew>`GIwGLc9H|s9Gii0R7VHm41KM0F&es5NwEJu&8LVv{e}8?aQCKgmD*Bhcl);8grNVk>6%` zd7H1(``mxp)f4_sSV_5&*l`?vMy0%y!p7U?jNyvH?b-O!lp#H>Lbvn#lSgjjb+j># zGLuo8sLQZE>du(Enr$ZS@dT`mEk6jhY5z80i^|c;+QX)}{0B!Msz#}ko@>c83~Wy^ z;VP1B#2s$ETse>Hq|`int_V0+xs(Al(eu0rD$#fw*`NwPemni; z-SZPurmosz&+ypf`b4KQ9tJ#5K&@}mW!8%7Jox@m=3pO)i3%>;VG`viKn%WML_JNf_!?|Lam+Few zay3B_+tG9_W_o-EIq+s=d^`$+W776FGH#x-{G^EGotpGfHNgT15sHQ%-uqdR*L%mU zqq!H3NyYV#&LqptrCb^ujH)wU>NwT?$xG~A9R7jYSkYNJKu|@v`GL${;?fq%YWG=f zb`4S%(w=Hrg24f(pOz}_A@pcH*v>lZz> znM~8Vs$6zy9r^K51ZbUxCTTC`@-G8P3vGTK5?(a+2`X2;5Y+Mq$D@XfAX3u!Ou
`40)gQj4}27$!?c#UvbSsnFw_hKIBE9$yr!5emG8_O#&PZT^g{y5j8 z@XF=oCZ{NY^3?V4X-PqK&ESX1#{o=%(m?NW9^{Dofx36-iD-oY+hn1`CRSKgt)xZ7B z9Ld>k7pC6=C%s^4%YEBrm+oXYTBdh0lsR;3M$UY$>VVzas^VYyzjZ|{o;IkzkOs9~ zqaJYu{>E!?Xh-`&KX}mQohJJI^gUv~FK~w^zd+%`p@B0Dl_En2-!0l>#8JeZY_5ri z>|~e51NNp90qn*1b{nTmZ<{z&w|$oR`YpQa<;jW(O5qOZM3>%5La~Xs$(qwas9<3(L0`Q{_c0G>>2Bw`_#To>zI; zbBBP*Njq222BQhKWC3w^jpPvtI;v2JvTC5#jTmAkNNrn4gy>~Up zYA^g70sxBET$BE;bjH=OtDWLUtVl}Xd+h)7jny!#rT7O-1?Yb;D};G9!s-+Mfsi1r bf$v0CoIk-{PPz^Na?DU$Z{}afGQY diff --git a/app/Templates/Light.bfly b/app/Templates/Light.bfly deleted file mode 100644 index 26535b9e260bfe0b833f13f406db5bdb25c2c710..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2246 zcmZ`)4LFl)AAgu>YB6$zRwmJ8SmhX}6vl|-vy$(&F;mY_=x4GEzH`}jxboMr^lLT#I+qm2>E8Ksqoz083T zH{QuvrxA(9-kMZIM_VlwGxO$3R>b7P?M9Y_K1lZTc)qo&p8d4-*309F3-H1m*YUH$ z!LFsILyMe_V*@I_FcCj^>O`4S8a3&@`C%=r>aU|d)t$5&`=^-RjJ`Hpdy|;`8lK2> zkNjzn-wQDSkOpT{!mlp6r)WNb-|1aUGqDrji@31bdo9PtoIPB|ob#D5k^0!*&kA^Z zCi@)^D}psofgBTRYQ*^OL2(Yd#17=BiQCZ<=0Rr*6WtM29@gRxiB2=3Nv?%t>1vU0I&j z`Q=;jm1@@)^5d$qy<5Bpr7DhvVJSp_6L2nwK_01gGSOIgSDW>JJN=_j&CHK|ChU(` zA`AMQi;*?`I-A_)5GWD~g+<$=v=(2X>zQKB&$n~yO>fXyNmHSxLdp`3YzNHaD`eXx zxglX!pib>vmcbU!Sd5n6n1P`ihw@9=I~nz$4o0(Yj?L;YQ)LwR{Cv(#Z6cyO;NfWU zGP@t^d}-k&R~VBjX-$^nJQgBrn%a~(kYSwDSfKLE$3Q;Lb&vb`dl$zUhUeC8^93|s zt`q_QLtx*6&)>zTlf3*Gy7<6giVhiU(;4S`G@ibq(`cw-oM)T@_=0<$3EJjRXx1}a z^v)^Y=70pXiiBp`?;3TiU@M!4K8(KGNo!GvNEVNbS1_9Y=?h{>)2bl`&5FU`FAc`| zC+s}Dvf7>Us`9*-=-bxY+o!a;BSam$SA@MSF)7KDnF6=Q+?BeB)mcuS$}QTU>!zRk z!alT=dsoLlaM3v@`+JW!i(r0z3SSsz%_5W}O=v0?IR9pu_^OqlhQ!)JrkOh^D~LhL zzVr8$I`leY?e)#f>jDrvEY$&3+2iFkjyQb&AIIQwdy}W#Wyn-4;y{so7Mi>_b@E<% z`B!|8ch$2IDZruPXem$?`IQq+A?{ZvYY*xijN+ZRz6CZD_^2^_;myp_hmn&4oD;I! zJuE7*KHlz}n>NQC*fKbMbk2n0!2k3(n?EQ{$1qCw=rL_uQv0L!&LI-ygWy@pP(XV_;K|u~15%6Ey85r>75SbYZB3$wLcLoc?y_2Y35X*kt_B z>)Ax;m!wO4KC^be=t0mUp+~o8QP^inV_8qhu)Umyv#+?p7(Q*WwC1phic`Sm7V1-F zV;Ia2vq@CO)zGB&>G#x{`rovAmR?u(d!iZoXbQn~kj&nNZs+q3WhH;Y%x2?iD{@&S zwd8^08shSbN~A;B^s~bWiygiXc$`T6CzxD?0`a!@Y_}@12GKjMj^5DZVTWQ?>6P_5X_9&V=a$`fWr&1}kpkSX7Qns*>v|;B3L+i{J3?8@afcw_l@nySYV2&DH4QQgD z@f}4!wn2&{ymY9;VJ=H8{B|bvxaPZ;>~nA4A}s3S)q-=89wi9xJN0iC=&!Etwm75J zh9ZpyBcZE5TV&W-ye`!|9ZH{Qo`oL#QgOsWrlRO_-Id<(Z~xJ*znCU%E~XHE6*ca` zpV-rB<%(FVw z0{9$b>h+}wGLbkgoTp2H^JyZH_-LF6NkHO0ZIp0K>N1(Ng$w!~-jxV;PPl#$ZxEFq zr&bihVg=kNPV}ZC+C-VWRD^8lkd@jHCn@D4Ey?nhB*g970hNr;buj0cV6!(8_TQ(vU|o@p#RRku zHiVo=PT@Af%kL^4^bol}GgQ|T0|iV>T>dYy`WK%CxBC4m1eN<=U3WdmdK3H`0ssod zO2E&xmbgB4y;b~(Z3QWOkNtnfu^wi<6#sxJ68|5}8ev|Ku)g9y5Td{y_)cU^{q3!x S;C}#sg0~e&)n~(Bt3Lr`ajfwG diff --git a/fastlane/metadata/android/en-US/changelogs/76.txt b/fastlane/metadata/android/en-US/changelogs/76.txt index 0b4bd51c714a..a64cad73885f 100644 --- a/fastlane/metadata/android/en-US/changelogs/76.txt +++ b/fastlane/metadata/android/en-US/changelogs/76.txt @@ -3,8 +3,9 @@ * Add name to hand tool selection * Change remote button dropdown to material 3 * Allow more valid file names -* Fix home page header +* Fix home page header ([#510](https://github.com/LinwoodDev/Butterfly/issues/510)) * Fix offset in scaling multiple elements ([#506](https://github.com/LinwoodDev/Butterfly/issues/506)) * Fix opening animation in zoom view +* Fix broken legacy file migrator View all changes in the blog: https://linwood.dev/butterfly/2.0.0-beta.12 \ No newline at end of file