Skip to content
This repository has been archived by the owner on Jun 15, 2022. It is now read-only.

Commit

Permalink
chore: upgrade dependencies (#625)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
vardan-arm and moughxyz committed May 26, 2022
1 parent bb1f4e3 commit 0ca9d78
Show file tree
Hide file tree
Showing 11 changed files with 273 additions and 935 deletions.
4 changes: 2 additions & 2 deletions ios/Podfile.lock
Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down
13 changes: 7 additions & 6 deletions package.json
Expand Up @@ -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",
Expand All @@ -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",
Expand Down
56 changes: 28 additions & 28 deletions src/Components/SnIcon.tsx
@@ -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'
Expand Down Expand Up @@ -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 = {
Expand Down
2 changes: 1 addition & 1 deletion src/Hooks/useFiles.ts
Expand Up @@ -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]
Expand Down
4 changes: 4 additions & 0 deletions src/Lib/ReactNativeCrypto.ts
Expand Up @@ -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')
}
Expand Down
6 changes: 3 additions & 3 deletions src/Screens/InputModal/TagInputModal.tsx
Expand Up @@ -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'
Expand Down Expand Up @@ -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)
}
}
})
Expand All @@ -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)
}
})
}
Expand Down
6 changes: 5 additions & 1 deletion src/Screens/Notes/NoteList.tsx
Expand Up @@ -161,6 +161,10 @@ export const NoteList = (props: Props) => {
}

const renderItem: ListRenderItem<SNNote> | null | undefined = ({ item }) => {
if (!item) {
return null
}

return (
<NoteCell
note={item}
Expand Down Expand Up @@ -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}
Expand Down
6 changes: 2 additions & 4 deletions src/Screens/Notes/Notes.tsx
Expand Up @@ -9,7 +9,6 @@ import {
CollectionSort,
CollectionSortProperty,
ContentType,
NotesDisplayCriteria,
SmartView,
SNNote,
SNTag,
Expand Down Expand Up @@ -210,16 +209,15 @@ 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] : [],
searchQuery: searchQuery,
includeArchived: applyFilters && (includeArchived ?? includeArchivedNotes),
includeTrashed: applyFilters && (includeTrashed ?? includeTrashedNotes),
})
application.items.setNotesDisplayCriteria(criteria)
},
[
application,
Expand Down
6 changes: 5 additions & 1 deletion src/Screens/Settings/Sections/EncryptionSection.tsx
Expand Up @@ -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()) ?? ''
Expand All @@ -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.'
Expand Down
18 changes: 6 additions & 12 deletions src/Screens/SideMenu/TagSelectionList.tsx
Expand Up @@ -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'
Expand All @@ -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])

Expand All @@ -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
Expand Down Expand Up @@ -86,7 +80,7 @@ export const TagSelectionList = React.memo(
ButtonType.Danger
)
if (confirmed) {
await application!.mutator.deleteItem(tag)
await application.mutator.deleteItem(tag)
}
},
},
Expand Down

0 comments on commit 0ca9d78

Please sign in to comment.