chore: upgrade dependencies (#625)

* chore: upgrade dependencies

* fix: import icons from the correct repo

* fix: remove unnecessary code

* fix: correct function call

* chore: bump snjs

* fix: upgrade rnjsi, use urlsafe base64

* fix: error when deleting the note

* chore: upgrade deps

Co-authored-by: Mo <mo@standardnotes.com>
This commit is contained in:
Vardan Hakobyan
2022-05-26 16:12:59 +04:00
committed by GitHub
parent bb1f4e3af7
commit 0ca9d78c2b
11 changed files with 269 additions and 931 deletions

View File

@@ -295,7 +295,7 @@ PODS:
- ReactCommon/turbomodule/core
- react-native-segmented-control (2.2.2):
- React-Core
- react-native-sodium-jsi (1.1.7):
- react-native-sodium-jsi (1.2.0):
- React-Core
- react-native-static-server (0.5.0):
- GCDWebServer (~> 3.0)
@@ -716,7 +716,7 @@ SPEC CHECKSUMS:
react-native-pager-view: b1914469643f40042e65d78cbf3d3dfebd6fb0d9
react-native-safe-area-context: da2d11bd7df9bf7779e9bdc85081c141cfa544f4
react-native-segmented-control: 65df6cd0619b780b3843d574a72d4c7cec396097
react-native-sodium-jsi: 42be5954ce2e66a56f1907e35e2561bcc54a0472
react-native-sodium-jsi: c8901320767d00385f9111bc95ba25aaa9a29890
react-native-static-server: 201b2a945a35096be3ae7f43e367c65bcbd61343
react-native-version-info: a106f23009ac0db4ee00de39574eb546682579b9
react-native-webview: 380c1a03ec94b7ed764dac8db1e7c9952d08c93a

View File

@@ -34,14 +34,15 @@
"@react-navigation/elements": "^1.3.3",
"@react-navigation/native": "^6.0.10",
"@react-navigation/stack": "^6.2.1",
"@standardnotes/components": "^1.8.1",
"@standardnotes/filepicker": "^1.14.9",
"@standardnotes/components": "^1.8.2",
"@standardnotes/filepicker": "^1.16.2",
"@standardnotes/icons": "^1.1.8",
"@standardnotes/react-native-aes": "^1.4.3",
"@standardnotes/react-native-textview": "1.0.2",
"@standardnotes/react-native-utils": "1.0.1",
"@standardnotes/sncrypto-common": "1.8.2",
"@standardnotes/snjs": "2.109.6",
"@standardnotes/stylekit": "5.26.0",
"@standardnotes/sncrypto-common": "1.9.0",
"@standardnotes/snjs": "2.114.1",
"@standardnotes/stylekit": "5.29.2",
"@types/styled-components-react-native": "5.1.3",
"js-base64": "^3.7.2",
"moment": "^2.29.2",
@@ -66,7 +67,7 @@
"react-native-search-bar": "standardnotes/react-native-search-bar#7d2139d",
"react-native-search-box": "standardnotes/react-native-search-box#c0de5bab18cb418fef75ef2c2cd921304142e492",
"react-native-share": "^7.3.7",
"react-native-sodium-jsi": "1.1.7",
"react-native-sodium-jsi": "1.2.0",
"react-native-static-server": "standardnotes/react-native-static-server#d0c4cb0feae233634ef26fc33118f258192c7b7d",
"react-native-store-review": "^0.2.0",
"react-native-svg": "^12.3.0",

View File

@@ -1,31 +1,31 @@
import ArchiveIcon from '@standardnotes/icons/dist/mobile-exports/ic-archive.svg'
import AttachmentFileIcon from '@standardnotes/icons/dist/mobile-exports/ic-attachment-file.svg'
import AuthenticatorIcon from '@standardnotes/icons/dist/mobile-exports/ic-authenticator.svg'
import ClearCircleFilledIcon from '@standardnotes/icons/dist/mobile-exports/ic-clear-circle-filled.svg'
import CodeIcon from '@standardnotes/icons/dist/mobile-exports/ic-code.svg'
import FileDocIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-doc.svg'
import FileImageIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-image.svg'
import FileMovIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-mov.svg'
import FileMusicIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-music.svg'
import FileOtherIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-other.svg'
import FilePdfIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-pdf.svg'
import FilePptIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-ppt.svg'
import FileXlsIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-xls.svg'
import FileZipIcon from '@standardnotes/icons/dist/mobile-exports/ic-file-zip.svg'
import LockFilledIcon from '@standardnotes/icons/dist/mobile-exports/ic-lock-filled.svg'
import MarkdownIcon from '@standardnotes/icons/dist/mobile-exports/ic-markdown.svg'
import NotesIcon from '@standardnotes/icons/dist/mobile-exports/ic-notes.svg'
import OpenInIcon from '@standardnotes/icons/dist/mobile-exports/ic-open-in.svg'
import PencilOffIcon from '@standardnotes/icons/dist/mobile-exports/ic-pencil-off.svg'
import PinFilledIcon from '@standardnotes/icons/dist/mobile-exports/ic-pin-filled.svg'
import SpreadsheetsIcon from '@standardnotes/icons/dist/mobile-exports/ic-spreadsheets.svg'
import TasksIcon from '@standardnotes/icons/dist/mobile-exports/ic-tasks.svg'
import PlainTextIcon from '@standardnotes/icons/dist/mobile-exports/ic-text-paragraph.svg'
import RichTextIcon from '@standardnotes/icons/dist/mobile-exports/ic-text-rich.svg'
import TrashFilledIcon from '@standardnotes/icons/dist/mobile-exports/ic-trash-filled.svg'
import UserAddIcon from '@standardnotes/icons/dist/mobile-exports/ic-user-add.svg'
import FilesIllustration from '@standardnotes/icons/dist/mobile-exports/il-files.svg'
import { IconType } from '@standardnotes/snjs'
import ArchiveIcon from '@standardnotes/stylekit/dist/icons/ic-archive.svg'
import AttachmentFileIcon from '@standardnotes/stylekit/dist/icons/ic-attachment-file.svg'
import AuthenticatorIcon from '@standardnotes/stylekit/dist/icons/ic-authenticator.svg'
import ClearCircleFilledIcon from '@standardnotes/stylekit/dist/icons/ic-clear-circle-filled.svg'
import CodeIcon from '@standardnotes/stylekit/dist/icons/ic-code.svg'
import FileDocIcon from '@standardnotes/stylekit/dist/icons/ic-file-doc.svg'
import FileImageIcon from '@standardnotes/stylekit/dist/icons/ic-file-image.svg'
import FileMovIcon from '@standardnotes/stylekit/dist/icons/ic-file-mov.svg'
import FileMusicIcon from '@standardnotes/stylekit/dist/icons/ic-file-music.svg'
import FileOtherIcon from '@standardnotes/stylekit/dist/icons/ic-file-other.svg'
import FilePdfIcon from '@standardnotes/stylekit/dist/icons/ic-file-pdf.svg'
import FilePptIcon from '@standardnotes/stylekit/dist/icons/ic-file-ppt.svg'
import FileXlsIcon from '@standardnotes/stylekit/dist/icons/ic-file-xls.svg'
import FileZipIcon from '@standardnotes/stylekit/dist/icons/ic-file-zip.svg'
import LockIconFilled from '@standardnotes/stylekit/dist/icons/ic-lock-filled.svg'
import MarkdownIcon from '@standardnotes/stylekit/dist/icons/ic-markdown.svg'
import NotesIcon from '@standardnotes/stylekit/dist/icons/ic-notes.svg'
import OpenInIcon from '@standardnotes/stylekit/dist/icons/ic-open-in.svg'
import PencilOffIcon from '@standardnotes/stylekit/dist/icons/ic-pencil-off.svg'
import PinFilledIcon from '@standardnotes/stylekit/dist/icons/ic-pin-filled.svg'
import SpreadsheetsIcon from '@standardnotes/stylekit/dist/icons/ic-spreadsheets.svg'
import TasksIcon from '@standardnotes/stylekit/dist/icons/ic-tasks.svg'
import PlainTextIcon from '@standardnotes/stylekit/dist/icons/ic-text-paragraph.svg'
import RichTextIcon from '@standardnotes/stylekit/dist/icons/ic-text-rich.svg'
import TrashFilledIcon from '@standardnotes/stylekit/dist/icons/ic-trash-filled.svg'
import UserAddIcon from '@standardnotes/stylekit/dist/icons/ic-user-add.svg'
import FilesIllustration from '@standardnotes/stylekit/dist/icons/il-files.svg'
import React, { FC, useContext } from 'react'
import { SvgProps } from 'react-native-svg'
import { ThemeContext } from 'styled-components'
@@ -62,7 +62,7 @@ const ICONS: Partial<TIcons> = {
'file-xls': FileXlsIcon,
'file-zip': FileZipIcon,
'clear-circle-filled': ClearCircleFilledIcon,
'lock-filled': LockIconFilled,
'lock-filled': LockFilledIcon,
}
type Props = {

View File

@@ -310,7 +310,7 @@ export const useFiles = ({ note }: Props) => {
const authorizeProtectedActionForFile = useCallback(
async (file: FileItem, challengeReason: ChallengeReason) => {
const authorizedFiles = await application.protections.authorizeProtectedActionForFiles([file], challengeReason)
const authorizedFiles = await application.protections.authorizeProtectedActionForItems([file], challengeReason)
return authorizedFiles.length > 0 && authorizedFiles.includes(file)
},
[application]

View File

@@ -157,6 +157,10 @@ export class SNReactNativeCrypto implements PureCryptoInterface {
return Sodium.from_base64(base64String)
}
public base64URLEncode(text: string): string {
return Sodium.to_base64(text, Sodium.constants.base64_variant_VARIANT_URLSAFE_NO_PADDING)
}
public hmac1(): Promise<HexString | null> {
throw new Error('hmac1 is not implemented on mobile')
}

View File

@@ -5,7 +5,7 @@ import { SectionedTableCell } from '@Root/Components/SectionedTableCell'
import { TableSection } from '@Root/Components/TableSection'
import { ModalStackNavigationProp } from '@Root/ModalStack'
import { SCREEN_INPUT_MODAL_TAG } from '@Root/Screens/screens'
import { SNTag, TagMutator } from '@standardnotes/snjs'
import { SNNote, SNTag, TagMutator } from '@standardnotes/snjs'
import { ThemeServiceContext } from '@Style/ThemeService'
import React, { useCallback, useContext, useEffect, useRef, useState } from 'react'
import { TextInput } from 'react-native'
@@ -47,7 +47,7 @@ export const TagInputModal = (props: Props) => {
if (props.route.params.noteUuid) {
const note = application.items.findItem(props.route.params.noteUuid)
if (note) {
tagMutator.addItemAsRelationship(note)
tagMutator.addNote(note as SNNote)
}
}
})
@@ -58,7 +58,7 @@ export const TagInputModal = (props: Props) => {
const tagMutator = mutator as TagMutator
const note = application.items.findItem(props.route.params.noteUuid!)
if (note) {
tagMutator.addItemAsRelationship(note)
tagMutator.addNote(note as SNNote)
}
})
}

View File

@@ -161,6 +161,10 @@ export const NoteList = (props: Props) => {
}
const renderItem: ListRenderItem<SNNote> | null | undefined = ({ item }) => {
if (!item) {
return null
}
return (
<NoteCell
note={item}
@@ -219,7 +223,7 @@ export const NoteList = (props: Props) => {
<FlatList
ref={noteListRef}
style={styles.list}
keyExtractor={item => item.uuid}
keyExtractor={item => item?.uuid}
contentContainerStyle={[{ paddingBottom: insets.bottom }, props.notes.length > 0 ? {} : { height: '100%' }]}
initialNumToRender={6}
windowSize={6}

View File

@@ -9,7 +9,6 @@ import {
CollectionSort,
CollectionSortProperty,
ContentType,
NotesDisplayCriteria,
SmartView,
SNNote,
SNTag,
@@ -210,8 +209,8 @@ export const Notes = React.memo(
applyFilters = searchText !== ''
}
const criteria = NotesDisplayCriteria.Create({
sortProperty: sortOptions?.sortBy ?? sortBy,
application.items.setPrimaryItemDisplayOptions({
sortBy: sortOptions?.sortBy ?? sortBy,
sortDirection: sortOptions?.sortReverse ?? sortReverse ? 'asc' : 'dsc',
tags: tag instanceof SNTag ? [tag] : [],
views: tag instanceof SmartView ? [tag] : [],
@@ -219,7 +218,6 @@ export const Notes = React.memo(
includeArchived: applyFilters && (includeArchived ?? includeArchivedNotes),
includeTrashed: applyFilters && (includeTrashed ?? includeTrashedNotes),
})
application.items.setNotesDisplayCriteria(criteria)
},
[
application,

View File

@@ -20,6 +20,10 @@ export const EncryptionSection = (props: Props) => {
const [protocolDisplayName, setProtocolDisplayName] = useState('')
useEffect(() => {
if (!props.encryptionAvailable) {
return
}
let mounted = true
const getProtocolDisplayName = async () => {
const displayName = (await application?.getProtocolEncryptionDisplayName()) ?? ''
@@ -39,7 +43,7 @@ export const EncryptionSection = (props: Props) => {
if (props.encryptionAvailable) {
encryptionStatus += ` | ${encryptionType}`
} else {
encryptionStatus += '. ' // to connect sentence
encryptionStatus += '. '
encryptionStatus +=
application?.getStorageEncryptionPolicy() === StorageEncryptionPolicy.Default
? 'To enable encryption, sign in, register, or enable storage encryption.'

View File

@@ -3,9 +3,9 @@ import { AppStackNavigationProp } from '@Root/AppStack'
import { useSafeApplicationContext } from '@Root/Hooks/useSafeApplicationContext'
import { SCREEN_COMPOSE, SCREEN_INPUT_MODAL_TAG } from '@Root/Screens/screens'
import { SideMenuOptionIconDescriptionType } from '@Root/Screens/SideMenu/SideMenuSection'
import { ButtonType, CollectionSort, ContentType, FindItem, SmartView, SNTag } from '@standardnotes/snjs'
import { ButtonType, ContentType, FindItem, SmartView, SNTag } from '@standardnotes/snjs'
import { useCustomActionSheet } from '@Style/CustomActionSheet'
import React, { useCallback, useEffect, useRef, useState } from 'react'
import React, { useCallback, useEffect, useState } from 'react'
import { FlatList, ListRenderItem } from 'react-native'
import { SideMenuCell } from './SideMenuCell'
import { EmptyPlaceholder } from './TagSelectionList.styled'
@@ -27,15 +27,14 @@ export const TagSelectionList = React.memo(
// State
const [tags, setTags] = useState<SNTag[] | SmartView[]>(() => {
return contentType === ContentType.SmartView ? application!.items.getSmartViews() : []
return contentType === ContentType.SmartView ? application.items.getSmartViews() : []
})
const displayOptionsSet = useRef<boolean>(false)
const reloadTags = useCallback(() => {
if (contentType === ContentType.SmartView) {
setTags(application!.items.getSmartViews())
setTags(application.items.getSmartViews())
} else {
setTags(application!.items.getDisplayableItems(contentType) as SNTag[])
setTags(application.items.getDisplayableTags())
}
}, [application, contentType])
@@ -54,11 +53,6 @@ export const TagSelectionList = React.memo(
)
useEffect(() => {
if (!displayOptionsSet.current) {
application!.items.setDisplayOptions(contentType, CollectionSort.Title, 'dsc')
displayOptionsSet.current = true
}
const removeStreamTags = streamTags()
return removeStreamTags
@@ -86,7 +80,7 @@ export const TagSelectionList = React.memo(
ButtonType.Danger
)
if (confirmed) {
await application!.mutator.deleteItem(tag)
await application.mutator.deleteItem(tag)
}
},
},

1079
yarn.lock
View File

File diff suppressed because it is too large Load Diff