Compare commits

...
Author SHA1 Message Date
StandardNotes CI cfe951c977 chore(release): publish
- @standardnotes/[email protected].2
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
 - @standardnotes/[email protected].3
 - @standardnotes/[email protected].3
 - @standardnotes/[email protected].1
2023-04-26 10:52:31 +00:00
Karol Sójko d198bc2123 chore(features): enable u2f feature on pro subscription (#2317) 2023-04-26 12:24:32 +02:00
StandardNotes CI b4d34394fc chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
2023-04-25 16:23:20 +00:00
Aman Harwara d2dba42403 feat: Changing note type from Super to any other type will now show a conversion dialog 2023-04-25 21:24:11 +05:30
StandardNotes CI 11bbb6c7c1 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
2023-04-25 09:45:14 +00:00
Aman Harwara 8c0b7d2056 refactor: files controller 2023-04-25 14:47:19 +05:30
Aman Harwara d08581c8a6 chore: fix downloads 2023-04-25 14:46:24 +05:30
StandardNotes CI 70fd47a697 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
2023-04-24 16:57:11 +00:00
Aman Harwara 372991a8a0 chore: fix ios review 2023-04-24 22:00:11 +05:30
StandardNotes CI 358f91169c chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
2023-04-24 15:24:32 +00:00
Aman Harwara 1759923bfe Merge branch 'main' of github.com:standardnotes/app 2023-04-24 20:23:11 +05:30
Aman Harwara c4afd6d328 chore: trigger build 2023-04-24 20:23:04 +05:30
StandardNotes CI b1892605e1 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
2023-04-24 14:48:45 +00:00
Aman Harwara a99aaee379 fix(mobile): Fixed issue where files could not downloaded on Android 2023-04-24 19:50:11 +05:30
48 changed files with 495 additions and 129 deletions
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.26.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/api
## [1.26.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/api
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api",
"version": "1.26.1",
"version": "1.26.2",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+20
View File
@@ -3,6 +3,26 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.22](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/clipper
## [1.0.21](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/clipper
## [1.0.20](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/clipper
## [1.0.19](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/clipper
## [1.0.18](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/clipper
## [1.0.17](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/clipper
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@standardnotes/clipper",
"description": "Web clipper browser extension for Standard Notes",
"version": "1.0.17",
"version": "1.0.22",
"private": true,
"scripts": {
"build-mv2": "yarn clean && webpack --config ./webpack.config.prod.js",
+20
View File
@@ -3,6 +3,26 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.105.71](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/desktop
## [3.105.70](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/desktop
## [3.105.69](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/desktop
## [3.105.68](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/desktop
## [3.105.67](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/desktop
## [3.105.66](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/desktop
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@standardnotes/desktop",
"main": "./app/dist/index.js",
"version": "3.105.66",
"version": "3.105.71",
"license": "AGPL-3.0-or-later",
"author": "Standard Notes.",
"private": true,
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.21.30](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/encryption
## [1.21.29](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/encryption
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/encryption",
"version": "1.21.29",
"version": "1.21.30",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.59.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/features
# [1.59.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-17)
### Features
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/features",
"version": "1.59.0",
"version": "1.59.1",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -12,8 +12,7 @@ export function serverFeatures(): ServerFeatureDescription[] {
permission_name: PermissionName.TwoFactorAuth,
},
{
availableInSubscriptions: [],
availableInRoles: ['INTERNAL_TEAM_USER'],
availableInSubscriptions: [SubscriptionName.ProPlan],
name: 'U2F authentication',
identifier: FeatureIdentifier.UniversalSecondFactor,
permission_name: PermissionName.UniversalSecondFactor,
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.28.35](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/filepicker
## [1.28.34](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/filepicker
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/filepicker",
"version": "1.28.34",
"version": "1.28.35",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.14.45](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/files
## [1.14.44](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/files
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/files",
"version": "1.14.44",
"version": "1.14.45",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+26
View File
@@ -3,6 +3,32 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.52.18](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/mobile
## [3.52.17](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/mobile
## [3.52.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/mobile
## [3.52.15](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/mobile
## [3.52.14](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/mobile
## [3.52.13](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
### Bug Fixes
* **mobile:** Fixed issue where files could not downloaded on Android ([a99aaee](https://github.com/standardnotes/app/commit/a99aaee37946a49dbd0b2f18613cb2702067e0cc))
## [3.52.12](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/mobile
@@ -10,7 +10,7 @@
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
+2 -2
View File
@@ -637,7 +637,7 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
boost: a7c83b31436843459a1961bfd74b96033dc77234
boost: 57d2868c099736d80fcd648bf211b4431e51a558
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: 60195509584153283780abdac5569feffb8f08cc
@@ -658,7 +658,7 @@ SPEC CHECKSUMS:
MMKV: 9c4663aa7ca255d478ff10f2f5cb7d17c1651ccd
MMKVCore: 89f5c8a66bba2dcd551779dea4d412eeec8ff5bb
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: bec48f07daf7bcdc2655a0cde84e07d24d2a9e2a
RCTTypeSafety: 171394eebacf71e1cfad79dbfae7ee8fc16ca80a
React: d7433ccb6a8c36e4cbed59a73c0700fc83c3e98a
Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 877 B

@@ -10,21 +10,15 @@
00E356F31AD99517003FC87E /* StandardNotesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StandardNotesTests.m */; };
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
1C2EEB3B45F4EB07AC795C77 /* (null) in Frameworks */ = {isa = PBXBuildFile; };
1C2EEB3B45F4EB07AC795C77 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
33BB1B14071EBE5978EBF3A8 /* libPods-StandardNotes-StandardNotesTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04FCB5A3A3387CA3CFC82AA3 /* libPods-StandardNotes-StandardNotesTests.a */; };
BC8DEA834BF198E8511F04FF /* libPods-StandardNotesDev.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 51F2D747BE02C2A1BCFEEFD1 /* libPods-StandardNotesDev.a */; };
CD6592A9291EEFCC00C09DC6 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD6592A8291EEFCC00C09DC6 /* StoreKit.framework */; };
CD7D5ECA27800609005FE1BF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD7D5EC927800608005FE1BF /* LaunchScreen.storyboard */; };
CD7D5ED0278015D2005FE1BF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
CD7D5ED4278015D2005FE1BF /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = CD7D83FE277FF8CB00915D89 /* Red.png */; };
CD7D5ED5278015D2005FE1BF /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
CD7D5ED6278015D2005FE1BF /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = CD7D83FF277FF8CB00915D89 /* [email protected] */; };
CD7D5ED7278015D2005FE1BF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD7D5EC927800608005FE1BF /* LaunchScreen.storyboard */; };
CD7D5ED8278015D2005FE1BF /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = CD7D83FD277FF8CB00915D89 /* [email protected] */; };
CD7D5EE3278016E3005FE1BF /* Dev.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD7D5EE2278016E3005FE1BF /* Dev.xcassets */; };
CD7D8400277FF8CB00915D89 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = CD7D83FD277FF8CB00915D89 /* [email protected] */; };
CD7D8401277FF8CB00915D89 /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = CD7D83FE277FF8CB00915D89 /* Red.png */; };
CD7D8402277FF8CB00915D89 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = CD7D83FF277FF8CB00915D89 /* [email protected] */; };
CDC75796292552080019F4AF /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDC75795292552080019F4AF /* AppDelegate.mm */; };
CDC75797292552080019F4AF /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDC75795292552080019F4AF /* AppDelegate.mm */; };
D261494528699DCE00B17102 /* Web.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D261494428699DCE00B17102 /* Web.bundle */; };
@@ -67,9 +61,6 @@
CD7D5EE2278016E3005FE1BF /* Dev.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Dev.xcassets; sourceTree = "<group>"; };
CD7D5EE427801EFD005FE1BF /* SNDev.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SNDev.entitlements; sourceTree = "<group>"; };
CD7D5EE527801F10005FE1BF /* StandardNotes.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StandardNotes.entitlements; path = StandardNotes/StandardNotes.entitlements; sourceTree = "<group>"; };
CD7D83FD277FF8CB00915D89 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
CD7D83FE277FF8CB00915D89 /* Red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Red.png; sourceTree = "<group>"; };
CD7D83FF277FF8CB00915D89 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
CDC75795292552080019F4AF /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = StandardNotes/AppDelegate.mm; sourceTree = "<group>"; };
D261494428699DCE00B17102 /* Web.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Web.bundle; path = ../html/Web.bundle; sourceTree = "<group>"; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
@@ -89,7 +80,7 @@
buildActionMask = 2147483647;
files = (
CD6592A9291EEFCC00C09DC6 /* StoreKit.framework in Frameworks */,
1C2EEB3B45F4EB07AC795C77 /* (null) in Frameworks */,
1C2EEB3B45F4EB07AC795C77 /* BuildFile in Frameworks */,
DD3D1CE428EC1C8BA0C49211 /* libPods-StandardNotes.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -144,11 +135,8 @@
CD7D5EE527801F10005FE1BF /* StandardNotes.entitlements */,
13B07FB51A68108700A75B9A /* Images.xcassets */,
13B07FB71A68108700A75B9A /* main.m */,
CD7D83FE277FF8CB00915D89 /* Red.png */,
CD7D5EC8278005B6005FE1BF /* Info.plist */,
CD7D83FF277FF8CB00915D89 /* [email protected] */,
CD7D5EC927800608005FE1BF /* LaunchScreen.storyboard */,
CD7D83FD277FF8CB00915D89 /* [email protected] */,
);
name = StandardNotes;
sourceTree = "<group>";
@@ -318,11 +306,8 @@
buildActionMask = 2147483647;
files = (
D261494528699DCE00B17102 /* Web.bundle in Resources */,
CD7D8401277FF8CB00915D89 /* Red.png in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
CD7D8402277FF8CB00915D89 /* [email protected] in Resources */,
CD7D5ECA27800609005FE1BF /* LaunchScreen.storyboard in Resources */,
CD7D8400277FF8CB00915D89 /* [email protected] in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -330,13 +315,10 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CD7D5ED4278015D2005FE1BF /* Red.png in Resources */,
D261494628699DCE00B17102 /* Web.bundle in Resources */,
CD7D5EE3278016E3005FE1BF /* Dev.xcassets in Resources */,
CD7D5ED5278015D2005FE1BF /* Images.xcassets in Resources */,
CD7D5ED6278015D2005FE1BF /* [email protected] in Resources */,
CD7D5ED7278015D2005FE1BF /* LaunchScreen.storyboard in Resources */,
CD7D5ED8278015D2005FE1BF /* [email protected] in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -10,18 +10,6 @@
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>Red</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Red</string>
</array>
<key>UIPrerenderedIcon</key>
<true/>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
@@ -34,18 +22,6 @@
</dict>
<key>CFBundleIcons~ipad</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>Red</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Red</string>
</array>
<key>UIPrerenderedIcon</key>
<true/>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
@@ -10,18 +10,6 @@
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIcons~ipad</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>Red</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Red</string>
</array>
<key>UIPrerenderedIcon</key>
<true/>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/mobile",
"version": "3.52.12",
"version": "3.52.18",
"author": "Standard Notes.",
"private": true,
"license": "AGPL-3.0-or-later",
+2 -18
View File
@@ -415,29 +415,13 @@ export class MobileDevice implements MobileDeviceInterface {
return `${directory}/${filename}`
}
async hasStoragePermissionOnAndroid(): Promise<boolean> {
if (Platform.OS !== 'android') {
return true
}
const grantedStatus = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE)
if (grantedStatus === PermissionsAndroid.RESULTS.GRANTED) {
return true
}
Alert.alert(
'Storage permissions are required in order to download files. Please accept the permissions prompt and try again.',
)
return false
}
async downloadBase64AsFile(
base64: string,
filename: string,
saveInTempLocation = false,
): Promise<string | undefined> {
const isGrantedStoragePermissionOnAndroid = await this.hasStoragePermissionOnAndroid()
if (!isGrantedStoragePermissionOnAndroid) {
return
if (Platform.OS === 'android') {
await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE)
}
try {
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.44.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/models
# [1.44.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
### Features
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/models",
"version": "1.44.0",
"version": "1.44.1",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+24
View File
@@ -3,6 +3,30 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.4.249](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.248](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.247](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.246](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.245](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.244](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.243](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/releases
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/releases",
"version": "1.4.243",
"version": "1.4.249",
"license": "AGPL-3.0-or-later",
"main": "dist/releases.json",
"types": "dist/index.d.ts",
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.13.19](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/responses
## [1.13.18](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-17)
**Note:** Version bump only for package @standardnotes/responses
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/responses",
"version": "1.13.18",
"version": "1.13.19",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.58.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/services
## [1.58.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/services
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/services",
"version": "1.58.2",
"version": "1.58.3",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.167.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/snjs
## [2.167.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/snjs
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/snjs",
"version": "2.167.2",
"version": "2.167.3",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+4
View File
@@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.25.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)
**Note:** Version bump only for package @standardnotes/ui-services
## [1.25.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/ui-services
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/ui-services",
"version": "1.25.2",
"version": "1.25.3",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+22 -2
View File
@@ -3,11 +3,31 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [3.152.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]1.10...@standardnotes/[email protected]2.0) (2023-04-24)
## [3.153.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]3.0...@standardnotes/[email protected]3.1) (2023-04-26)
**Note:** Version bump only for package @standardnotes/web
# [3.153.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
### Features
* **clipper:** Added default tag setting to clipper ([2ce2b84](https://github.com/standardnotes/app/commit/2ce2b8410f5053f77d02b93dbb80aad5f33c728c))
* Changing note type from Super to any other type will now show a conversion dialog ([d2dba42](https://github.com/standardnotes/app/commit/d2dba42403e868a4f7a0d544b8e9bd87357fa8ef))
## [3.152.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)
**Note:** Version bump only for package @standardnotes/web
## [3.152.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/web
## [3.152.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/web
# [3.152.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)
**Note:** Version bump only for package @standardnotes/web
## [3.151.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-23)
+60 -5
View File
@@ -1,16 +1,71 @@
{
"versions": [
{
"version": "3.153.1",
"title": "[3.153.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-26)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.153.0",
"title": "[3.153.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)",
"date": null,
"body": "### Features\n\n* Changing note type from Super to any other type will now show a conversion dialog ([d2dba42](https://github.com/standardnotes/app/commit/d2dba42403e868a4f7a0d544b8e9bd87357fa8ef))",
"parsed": {
"_": [
"Changing note type from Super to any other type will now show a conversion dialog (d2dba42)"
],
"Features": [
"Changing note type from Super to any other type will now show a conversion dialog (d2dba42)"
]
}
},
{
"version": "3.152.3",
"title": "[3.152.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-25)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.152.2",
"title": "[3.152.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.152.1",
"title": "[3.152.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.152.0",
"title": "[3.152.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-04-24)",
"date": null,
"body": "### Features\n\n* **clipper:** Added default tag setting to clipper ([2ce2b84](https://github.com/standardnotes/app/commit/2ce2b8410f5053f77d02b93dbb80aad5f33c728c))",
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"clipper: Added default tag setting to clipper (2ce2b84)"
],
"Features": [
"clipper: Added default tag setting to clipper (2ce2b84)"
"Note: Version bump only for package @standardnotes/web"
]
}
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/web",
"version": "3.152.0",
"version": "3.153.1",
"license": "AGPL-3.0-or-later",
"main": "dist/app.js",
"author": "Standard Notes.",
@@ -14,6 +14,7 @@ import { SuperNoteImporter } from '../SuperEditor/SuperNoteImporter'
import MenuRadioButtonItem from '../Menu/MenuRadioButtonItem'
import { Pill } from '../Preferences/PreferencesComponents/Content'
import ModalOverlay from '../Modal/ModalOverlay'
import SuperNoteConverter from '../SuperEditor/SuperNoteConverter'
type ChangeEditorMenuProps = {
application: WebApplication
@@ -43,8 +44,12 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
)
const groups = useMemo(() => createEditorMenuGroups(application, editors), [application, editors])
const [currentComponent, setCurrentComponent] = useState<SNComponent>()
const [showSuperImporter, setShowSuperImporter] = useState(false)
const [pendingSuperItem, setPendingSuperItem] = useState<EditorMenuItem | null>(null)
const [pendingConversionItem, setPendingConversionItem] = useState<EditorMenuItem | null>(null)
const showSuperNoteImporter =
!!pendingConversionItem && note?.noteType !== NoteType.Super && pendingConversionItem.noteType === NoteType.Super
const showSuperNoteConverter =
!!pendingConversionItem && note?.noteType === NoteType.Super && pendingConversionItem.noteType !== NoteType.Super
useEffect(() => {
if (note) {
@@ -114,15 +119,28 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
return
}
if (note?.locked) {
if (!note) {
return
}
if (note.locked) {
application.alertService.alert(STRING_EDIT_LOCKED_ATTEMPT).catch(console.error)
return
}
if (itemToBeSelected.noteType === NoteType.Super) {
setPendingSuperItem(itemToBeSelected)
if (note.noteType === NoteType.Super) {
return
}
setPendingConversionItem(itemToBeSelected)
handleDisableClickoutsideRequest?.()
return
}
if (note.noteType === NoteType.Super) {
setPendingConversionItem(itemToBeSelected)
handleDisableClickoutsideRequest?.()
setShowSuperImporter(true)
return
}
@@ -139,7 +157,7 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
}
}
if (shouldMakeSelection && note) {
if (shouldMakeSelection) {
if (itemToBeSelected.component) {
selectComponent(itemToBeSelected.component, note).catch(console.error)
} else {
@@ -166,16 +184,23 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
],
)
const handleSuperNoteConversionCompletion = useCallback(() => {
if (!pendingSuperItem || !note) {
const handleConversionCompletion = useCallback(() => {
if (!pendingConversionItem || !note) {
return
}
selectNonComponent(pendingSuperItem, note).catch(console.error)
closeMenu()
}, [note, pendingSuperItem, selectNonComponent, closeMenu])
if (pendingConversionItem.component) {
selectComponent(pendingConversionItem.component, note).catch(console.error)
closeMenu()
return
}
const closeSuperNoteImporter = () => setShowSuperImporter(false)
selectNonComponent(pendingConversionItem, note).catch(console.error)
closeMenu()
}, [pendingConversionItem, note, selectNonComponent, closeMenu, selectComponent])
const closeSuperNoteImporter = () => setPendingConversionItem(null)
const closeSuperNoteConverter = () => setPendingConversionItem(null)
return (
<>
@@ -223,16 +248,26 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
)
})}
</Menu>
<ModalOverlay isOpen={showSuperImporter}>
<ModalOverlay isOpen={showSuperNoteImporter}>
{note && (
<SuperNoteImporter
note={note}
application={application}
onConvertComplete={handleSuperNoteConversionCompletion}
onComplete={handleConversionCompletion}
closeDialog={closeSuperNoteImporter}
/>
)}
</ModalOverlay>
<ModalOverlay isOpen={showSuperNoteConverter}>
{note && pendingConversionItem && (
<SuperNoteConverter
note={note}
convertTo={pendingConversionItem}
closeDialog={closeSuperNoteConverter}
onComplete={handleConversionCompletion}
/>
)}
</ModalOverlay>
</>
)
}
@@ -185,7 +185,7 @@ const ChangeMultipleMenu = ({ application, notes, setDisableClickOutside }: Prop
<SuperNoteImporter
note={confirmationQueue[0]}
application={application}
onConvertComplete={handleSuperNoteConversionCompletion}
onComplete={handleSuperNoteConversionCompletion}
closeDialog={closeCurrentSuperNoteImporter}
/>
)}
@@ -1,6 +1,7 @@
import { FilesController } from '@/Controllers/FilesController'
import { NoPreviewIllustration } from '@standardnotes/icons'
import { FileItem } from '@standardnotes/snjs'
import { FileItemActionType } from '../AttachedFilesPopover/PopoverFileItemAction'
import Button from '../Button/Button'
type Props = {
@@ -32,7 +33,14 @@ const FilePreviewError = ({ file, filesController, isFilePreviewable, tryAgainCa
</Button>
<Button
onClick={() => {
filesController.downloadFile(file).catch(console.error)
filesController
.handleFileAction({
type: FileItemActionType.DownloadFile,
payload: {
file,
},
})
.catch(console.error)
}}
>
Download
@@ -47,7 +55,12 @@ const FilePreviewError = ({ file, filesController, isFilePreviewable, tryAgainCa
<Button
primary
onClick={() => {
filesController.downloadFile(file).catch(console.error)
filesController
.handleFileAction({
type: FileItemActionType.DownloadFile,
payload: { file },
})
.catch(console.error)
}}
>
Download
@@ -0,0 +1,177 @@
import { ContentType, NoteContent, NoteType, SNNote, spaceSeparatedStrings } from '@standardnotes/snjs'
import { useCallback, useEffect, useMemo } from 'react'
import { useApplication } from '../ApplicationProvider'
import ComponentView from '../ComponentView/ComponentView'
import Icon from '../Icon/Icon'
import Modal, { ModalAction } from '../Modal/Modal'
import { EditorMenuItem } from '../NotesOptions/EditorMenuItem'
import { NoteViewController } from '../NoteView/Controller/NoteViewController'
import { exportSuperNote } from './SuperNoteExporter'
const SuperNoteConverter = ({
note,
convertTo,
closeDialog,
onComplete,
}: {
note: SNNote
convertTo: EditorMenuItem
closeDialog: () => void
onComplete: () => void
}) => {
const application = useApplication()
const { name, noteType, component } = convertTo
const format = useMemo(() => {
if (component && component.package_info.file_type) {
return component.package_info.file_type
}
if (noteType === NoteType.Markdown) {
return 'md'
}
if (noteType === NoteType.RichText) {
return 'html'
}
if (noteType === NoteType.Plain) {
return 'txt'
}
return 'json'
}, [component, noteType])
const convertedContent = useMemo(() => {
return exportSuperNote(note, format)
}, [format, note])
const componentViewer = useMemo(() => {
if (!component) {
return undefined
}
const templateNoteForRevision = application.mutator.createTemplateItem<NoteContent, SNNote>(ContentType.Note, {
title: note.title,
text: convertedContent,
references: note.references,
})
const componentViewer = application.componentManager.createComponentViewer(component)
componentViewer.setReadonly(true)
componentViewer.lockReadonly = true
componentViewer.overrideContextItem = templateNoteForRevision
return componentViewer
}, [application.componentManager, application.mutator, component, convertedContent, note.references, note.title])
useEffect(() => {
return () => {
if (componentViewer) {
application.componentManager.destroyComponentViewer(componentViewer)
}
}
}, [application.componentManager, componentViewer])
const performConvert = useCallback(
async (text: string) => {
const controller = new NoteViewController(application, note)
await controller.initialize()
await controller.saveAndAwaitLocalPropagation({
text,
isUserModified: true,
bypassDebouncer: true,
})
},
[application, note],
)
const confirmConvert = useCallback(async () => {
await performConvert(convertedContent)
onComplete()
closeDialog()
}, [closeDialog, convertedContent, onComplete, performConvert])
const isSeamlessConvert = note.text.length === 0
useEffect(() => {
if (isSeamlessConvert) {
void confirmConvert()
}
}, [isSeamlessConvert, confirmConvert])
const convertAsIs = useCallback(async () => {
const confirmed = await application.alertService.confirm(
spaceSeparatedStrings(
"This option is useful if you want to edit the note's content which is in Super's JSON format directly.",
'This format is not human-readable. If you want to convert the note to a human-readable format, please use the "Convert" option instead.',
),
'Are you sure?',
)
if (!confirmed) {
return
}
closeDialog()
await performConvert(note.text)
onComplete()
}, [closeDialog, application, note, onComplete, performConvert])
const modalActions = useMemo(
(): ModalAction[] => [
{
label: 'Cancel',
onClick: closeDialog,
type: 'cancel',
mobileSlot: 'left',
},
{
label: 'Convert',
onClick: confirmConvert,
mobileSlot: 'right',
type: 'primary',
},
{
label: 'Convert As-Is',
onClick: convertAsIs,
type: 'secondary',
},
],
[closeDialog, confirmConvert, convertAsIs],
)
return (
<Modal
title={`Convert to ${name}`}
close={closeDialog}
actions={modalActions}
className={{
content: 'md:h-full md:max-h-[90%]',
description: 'flex flex-col !overflow-hidden',
}}
>
{format === 'txt' || format === 'md' ? (
<div className="flex items-start border-b border-border p-4 text-sm">
<Icon type="warning" className="mr-2 flex-shrink-0" />
Conversion from Super's format to Markdown/Plaintext can be lossy. Please review the converted note before
saving.
</div>
) : null}
{componentViewer ? (
<div className="component-view min-h-0">
<ComponentView key={componentViewer.identifier} componentViewer={componentViewer} application={application} />
</div>
) : (
<div className="h-full min-h-0 overflow-hidden">
<textarea
readOnly={true}
className="font-editor h-full w-full resize-none border-0 bg-default p-4 text-editor text-text"
value={convertedContent}
/>
</div>
)}
</Modal>
)
}
export default SuperNoteConverter
@@ -21,6 +21,7 @@ export const exportSuperNote = (note: SNNote, format: 'txt' | 'md' | 'html' | 'j
headlessEditor.update(() => {
switch (format) {
case 'txt':
case 'md':
content = $convertToMarkdownString(MarkdownTransformers)
break
@@ -28,9 +29,6 @@ export const exportSuperNote = (note: SNNote, format: 'txt' | 'md' | 'html' | 'j
content = $generateHtmlFromNodes(headlessEditor)
break
case 'json':
content = JSON.stringify(headlessEditor.toJSON())
break
case 'txt':
default:
content = note.text
break
@@ -15,10 +15,10 @@ type Props = {
application: WebApplication
note: SNNote
closeDialog: () => void
onConvertComplete: () => void
onComplete: () => void
}
export const SuperNoteImporter: FunctionComponent<Props> = ({ note, application, closeDialog, onConvertComplete }) => {
export const SuperNoteImporter: FunctionComponent<Props> = ({ note, application, closeDialog, onComplete }) => {
const isSeamlessConvert = note.text.length === 0
const [lastValue, setLastValue] = useState({ text: '', previewPlain: '' })
@@ -50,8 +50,8 @@ export const SuperNoteImporter: FunctionComponent<Props> = ({ note, application,
await performConvert(lastValue.text, lastValue.previewPlain)
onConvertComplete()
}, [closeDialog, performConvert, onConvertComplete, lastValue])
onComplete()
}, [closeDialog, performConvert, onComplete, lastValue])
useEffect(() => {
if (isSeamlessConvert) {
@@ -76,8 +76,8 @@ export const SuperNoteImporter: FunctionComponent<Props> = ({ note, application,
await performConvert(note.text, note.preview_plain)
onConvertComplete()
}, [closeDialog, application, note, onConvertComplete, performConvert])
onComplete()
}, [closeDialog, application, note, onComplete, performConvert])
const modalActions: ModalAction[] = useMemo(
() => [
@@ -246,7 +246,7 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
}
}
public async downloadFile(file: FileItem): Promise<void> {
private async downloadFile(file: FileItem): Promise<void> {
let downloadingToastId = ''
try {
@@ -498,6 +498,15 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
}
downloadFiles = async (files: FileItem[]) => {
await Promise.all(files.map((file) => this.downloadFile(file)))
await Promise.all(
files.map((file) =>
this.handleFileAction({
type: FileItemActionType.DownloadFile,
payload: {
file,
},
}),
),
)
}
}