Compare commits

...
Author SHA1 Message Date
StandardNotes CI f14f105703 chore(release): publish
- @standardnotes/[email protected]
2022-08-17 11:33:50 +00:00
Karol Sójko 6d7bcd7a8d feat(docs): remove matomo in favour of plausible 2022-08-17 13:05:07 +02:00
Karol Sójko da06f293e0 chore(deps): remove reviewers assignment from dependabot to avoid noise 2022-08-17 10:08:54 +02:00
StandardNotes CI ec4dc1d477 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].6
2022-08-16 09:42:00 +00:00
Aman Harwara 2ea9f862fe fix: note tag delete button not showing on iOS (#1403) 2022-08-16 14:40:03 +05:30
StandardNotes CI 901b1516d3 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].9
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].5
2022-08-15 13:15:07 +00:00
Aman Harwara 54ae4365a3 fix: selecting from "Photo Library" on iOS doesn't upload (#1401) 2022-08-15 18:13:29 +05:30
StandardNotes CI 5b910d4ae4 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].8
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].4
2022-08-11 20:06:21 +00:00
Aman Harwara 40d9392599 fix: optimize toasts for mobile (#1392) 2022-08-12 01:07:23 +05:30
StandardNotes CI a7dfeae650 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].7
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
2022-08-10 13:30:36 +00:00
Aman Harwara 77cbb6b06e fix: tags being dimmed on safari (#1389) 2022-08-10 18:34:05 +05:30
Aman Harwara 82a8bcc440 fix: tag context menu button opening notes list veiw (#1390) 2022-08-10 18:13:29 +05:30
StandardNotes CI 83f6cc667d chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].6
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
2022-08-09 15:38:31 +00:00
Vardan Hakobyan d048800b9d fix: disable zoom on input focusing on ios (#1386)
* fix: disable zoom when focusing input field on ios

* chore: better naming
2022-08-09 19:06:03 +04:00
StandardNotes CI 1f3e741811 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].5
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
2022-08-08 09:30:06 +00:00
Aman Harwara 887402f75f fix: viewport height on mobile Chrome & Safari (#1376) 2022-08-08 14:32:16 +05:30
StandardNotes CI d533fb78e0 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].4
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
2022-08-08 07:35:45 +00:00
Vardan Hakobyan f555fbcaaa feat: tablet responsiveness (#1369)
* feat: "Notes" column responsiveness for tablets

* feat: ability to expand/collapse the navigation column, move some styles to tailwind

* feat: ability to expand/collapse the navigation column, move some styles to tailwind

* feat: icon for collapsing/expanding navigation column, style improvements

* fix: restore vertical panels resizability on large screens

* feat: tags/folders section for collapsed state

* feat: notes subsection styling in navigation section

* feat: hide rename & delete links of smart views when in collapsed mode

* fix: show notes count in bold when in collapsed mode

* fix: better padding for folders in collapsed state

* fix: smaller left padding for collapsed case

* fix: better view of expand/collapse control

* fix: hide search bar when collapsed

* fix: adjust position of "expand" control when in collapsed state

* chore: remove comments

* refactor: use `classNames` util when applying conditional css classes

* chore: shorter class names syntax

* chore: shorter syntax for conditional classes

* fix: better way of setting background color with opacity

* fix: use variable colors according to SN themes

* chore: move "colors" from "extend" section and thus override Tailwind's colors (so only SN colors will exist)

* fix: correct hover style in collapsed mode

* fix: correct upper boundary for extra small screens
2022-08-08 11:07:15 +04:00
Karol Sójko 8332a70384 fix(web): cannonical link rel 2022-08-08 09:04:39 +02:00
StandardNotes CI 50e85cac15 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].3
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
2022-08-06 05:20:47 +00:00
Aman Harwara f2369c7555 chore: remove HtmlWebpackPlugin from dev webpack config (#1377) 2022-08-06 06:51:39 +02:00
StandardNotes CI 5f0d3ca8b2 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
 - @standardnotes/[email protected].0
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
 - @standardnotes/[email protected].0
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
 - @standardnotes/[email protected].0
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
2022-08-05 15:03:40 +00:00
Karol Sójko 1d378228d3 fix(ui-services): missing colon linter issues 2022-08-05 16:29:20 +02:00
Karol Sójko d04d5d9d8f fix(ui-services): linter issues 2022-08-05 15:54:26 +02:00
Karol Sójko 2e487ae6f3 fix(ui-services): auto lock service extending tree 2022-08-05 15:32:18 +02:00
Karol Sójko 0825cedfbe fix(mobile): replace component viewer usage with interface 2022-08-05 14:54:04 +02:00
Karol Sójko 05435553a4 fix(web): add temporary workaround on the linter issue 2022-08-05 14:21:10 +02:00
Karol Sójko 355c70d7f7 Revert "chore(setup): run linter before building on workflows"
This reverts commit ac24256f34.
2022-08-05 13:58:25 +02:00
Karol Sójko ac24256f34 chore(setup): run linter before building on workflows 2022-08-05 13:54:16 +02:00
Karol Sójko 10f40f662e fix(mobile): bring back responses and models to metro resolution 2022-08-05 13:40:48 +02:00
Karol Sójko 73e3b3813f fix(encryption): remove compiled encrypted paramters from source 2022-08-05 13:31:21 +02:00
Karol Sójko 3ce621e24c fix(mobile): imports only from snjs 2022-08-05 13:22:21 +02:00
Karol Sójko 8a1293f66d fix(mobile): add common to metro config 2022-08-05 12:44:36 +02:00
Karol Sójko 94772bb7b6 fix(mobile): add responses to metro config 2022-08-05 12:30:07 +02:00
Karol Sójko c2159e77f7 fix(mobile): add models to metro config 2022-08-05 12:15:14 +02:00
Karol Sójko ffb2193924 feat(encryption): refactor circular dependencies on services 2022-08-05 11:59:02 +02:00
Karol Sójko 183f68c9c1 fix(files): filepicker circular dependency 2022-08-04 17:32:49 +02:00
Karol Sójko 696b82b9d3 feat(files): refactor circular deps 2022-08-04 16:21:46 +02:00
Karol Sójko 7e251262d7 feat(web): extract ui-services package 2022-08-04 15:13:30 +02:00
Karol Sójko c72a407095 chore(setup): add yarn cache on workflow runs 2022-08-04 08:20:01 +02:00
Karol Sójko 58138c9a1f fix(web): bucket name for deployments 2022-08-04 08:10:34 +02:00
Karol Sójko aabcd62dc2 Revert "chore(setup): fix publishing workflow"
This reverts commit 4d994dc79b.
2022-08-04 08:08:27 +02:00
Karol Sójko f50a655f9f Revert "chore(setup): fix publishing workflow job dependencies"
This reverts commit ae3e275cee.
2022-08-04 08:07:46 +02:00
Karol Sójko ae3e275cee chore(setup): fix publishing workflow job dependencies 2022-08-03 21:20:01 +02:00
Karol Sójko 4d994dc79b chore(setup): fix publishing workflow 2022-08-03 21:18:54 +02:00
StandardNotes CI 8a4aded995 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].1
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
2022-08-03 18:37:11 +00:00
Karol Sójko 1216b441fb fix(web): upgrade eslint 2022-08-03 20:01:01 +02:00
StandardNotes CI f9036168e3 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected].0
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
2022-08-03 14:27:45 +00:00
Karol Sójko 1cefaf10ee chore(setup): remove ruby from publish workflow 2022-08-03 15:59:56 +02:00
Karol Sójko 966c15701f fix(web): eslint ignore setup 2022-08-03 15:41:11 +02:00
Karol Sójko f259f774c5 chore(setup): fix lint script 2022-08-03 15:17:39 +02:00
Karol Sójko 483cac90cf feat(web): remove web-server and change web to a static website deployment (#1360)
* feat(web): add deploying static app

* fix(web): linter ignore patterns

* fix(web): cloudfront invalidation and favicons placement

* feat(web-server): remove web-server package in favour of web

* fix(web): remove linter parallel jobs due to oom issue

* fix(mobile): eslintignore paths

* fix(web): copy of components

* fix(web): include building components in building all process

* fix(web): copying of components
2022-08-03 14:51:59 +02:00
StandardNotes CI 3116ae3883 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
2022-08-01 09:18:54 +00:00
Aman Harwara 5b3cfddc50 fix: popover header getting hidden on desktop by titlebar (#1359) 2022-08-01 14:26:23 +05:30
StandardNotes CI 5ec8e99781 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
2022-07-27 15:45:03 +00:00
Aman Harwara 58e751f986 fix: popover behaviour when clicking outside of popover (#1355) 2022-07-27 20:52:08 +05:30
400 changed files with 2980 additions and 4587 deletions
-15
View File
@@ -1,15 +0,0 @@
.git/
.gitignore
.eslintcache
node_modules
dist
packages/web-server/public/assets
packages/web-server/tmp
packages/web-server/vendor/bundles
packages/desktop
!packages/desktop/package.json
packages/mobile
!packages/mobile/package.json
-77
View File
@@ -9,190 +9,113 @@ updates:
directory: "/"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/api"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/components"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/desktop"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/docs"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/encryption"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/features"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/filepicker"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/files"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/icons"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/mobile"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/models"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/releases"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/responses"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/services"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/sncrypto-common"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/sncrypto-web"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/snjs"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/styles"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/toast"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/utils"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "npm"
directory: "/packages/web"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "bundler"
directory: "/packages/web-server"
schedule:
interval: "daily"
reviewers:
- "moughxyz"
- "karolsojko"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
reviewers:
- "moughxyz"
- "karolsojko"
+8 -4
View File
@@ -24,7 +24,8 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- run: yarn install
cache: 'yarn'
- run: yarn install --immutable
- run: yarn build:desktop
- run: echo APP_VERSION=$(node -p "require('./package.json').version") >> $GITHUB_ENV
@@ -59,12 +60,13 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Install FPM
run: sudo gem install fpm -f
- run: yarn install
- run: yarn install --immutable
- run: yarn build:desktop
- run: echo APP_VERSION=$(node -p "require('./package.json').version") >> $GITHUB_ENV
@@ -133,7 +135,8 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- run: yarn install
cache: 'yarn'
- run: yarn install --immutable
- run: yarn build:desktop
- run: yarn run webpack --config desktop.webpack.prod.js
- run: echo APP_VERSION=$(node -p "require('./package.json').version") >> $GITHUB_ENV
@@ -162,8 +165,9 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- run: yarn install
- run: yarn install --immutable
- uses: actions/download-artifact@v3
with:
+3 -1
View File
@@ -19,7 +19,8 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- run: yarn install
cache: 'yarn'
- run: yarn install --immutable
- run: yarn build:desktop
- run: yarn run webpack --config desktop.webpack.prod.js
- run: echo APP_VERSION=$(node -p "require('./package.json').version") >> $GITHUB_ENV
@@ -47,6 +48,7 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/download-artifact@v3
with:
name: assets
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
cache: yarn
- name: Install dependencies
run: yarn install
run: yarn install --immutable
- name: Build
run: yarn workspace @standardnotes/docs run build
+2 -2
View File
@@ -26,7 +26,7 @@ jobs:
echo "${{ secrets.ANDROID_KEYSTORE }}" > keystore.keystore.asc
gpg -d --passphrase "${{ secrets.KEYSTORE_PASSPHRASE }}" --batch keystore.keystore.asc > android/app/keystore.keystore
- name: Install dependencies
run: yarn install
run: yarn install --immutable
- run: yarn build:mobile
- name: Ruby Setup for Fastlane
uses: ruby/setup-ruby@v1
@@ -82,7 +82,7 @@ jobs:
run:
echo "PACKAGE_VERSION=$(grep '"version"' package.json | cut -d '"' -f 4 | cut -d "-" -f 1)" >> $GITHUB_ENV
- name: Install dependencies
run: yarn install && yarn install:pods
run: yarn install --immutable && yarn install:pods
- run: yarn build:mobile
- name: Set ssh connection to Github
uses: webfactory/[email protected]
+2 -2
View File
@@ -28,7 +28,7 @@ jobs:
- name: Ruby Setup for Fastlane
uses: ruby/setup-ruby@v1
- name: Install dependencies
run: yarn install
run: yarn install --immutable
- run: yarn build:mobile
- name: fastlane
uses: maierj/[email protected]
@@ -73,7 +73,7 @@ jobs:
- name: Ruby Setup for Fastlane
uses: ruby/setup-ruby@v1
- name: Install dependencies
run: yarn install && yarn install:pods
run: yarn install --immutable && yarn install:pods
- run: yarn build:mobile
- name: Set ssh connection to Github
uses: webfactory/[email protected]
-2
View File
@@ -14,8 +14,6 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Install dependencies
run: yarn install --immutable
- name: Build
+1 -3
View File
@@ -20,9 +20,7 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Set up Ruby
uses: ruby/setup-ruby@v1
cache: 'yarn'
- name: Setup git config
run: |
+2 -1
View File
@@ -18,6 +18,7 @@ jobs:
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Setup git config
run: |
git config --global user.name "standardci"
@@ -44,4 +45,4 @@ jobs:
commit-message: "${{ 'chore(deps): upgrade snjs' }}"
delete-branch: true
committer: standardci <[email protected]>
author: standardci <[email protected]>
author: standardci <[email protected]>
+30 -50
View File
@@ -1,4 +1,4 @@
name: Web Server Deploy
name: Web Deploy
concurrency:
group: prod_environment
@@ -7,9 +7,9 @@ concurrency:
on:
push:
tags:
- '*standardnotes/*web-server*'
- '!*standardnotes/*web-server*beta*'
- '!*standardnotes/*web-server*alpha*'
- '*standardnotes/*web*'
- '!*standardnotes/*web*beta*'
- '!*standardnotes/*web*alpha*'
jobs:
test:
@@ -17,62 +17,42 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Install dependencies
run: yarn install
run: yarn install --immutable
- name: Build
run: yarn build:web-server
run: yarn build:web
- name: ESLint
run: yarn lint
- name: Test
run: yarn test
deploy:
runs-on: ubuntu-latest
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Copy robots.txt
run: cp packages/web-server/public/robots.txt.production packages/web-server/public/robots.txt
- name: Publish to Registry
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: standardnotes/web
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: "stable,${{ github.sha }}"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Download task definition
run: |
aws ecs describe-task-definition --task-definition app-prod --query taskDefinition > task-definition.json
- name: Fill in the new image ID in the Amazon ECS task definition
id: task-def
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: task-definition.json
container-name: app-prod
image: "standardnotes/web:${{ github.sha }}"
- name: Deploy Amazon ECS task definition
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: app-prod
cluster: prod
wait-for-service-stability: true
- name: Checkout code
uses: actions/checkout@v3
- name: Install dependencies
run: yarn install --immutable
- name: Build
run: yarn build:web
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Deploy static site to S3 bucket
run: aws s3 sync packages/web/dist/ s3://app.standardnotes.com --delete
- name: Invalidate CloudFront Cache
uses: chetan/invalidate-cloudfront-action@master
env:
DISTRIBUTION: ${{ secrets.WEBAPP_CLOUDFRONT_DISTRIBUTION_ID }}
PATHS: '/*'
AWS_REGION: 'us-east-1'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
notify_discord:
needs: deploy
-83
View File
@@ -1,83 +0,0 @@
name: Web Server TestFlight
concurrency:
group: dev_environment
cancel-in-progress: true
on:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Install dependencies
run: yarn install
- name: Build
run: yarn build:web-server
- name: ESLint
run: yarn lint
- name: Test
run: yarn test
deploy:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v3
- name: Copy robots.txt
run: cp packages/web-server/public/robots.txt.development packages/web-server/public/robots.txt
- name: Publish to Registry
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: standardnotes/web
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: "latest,${{ github.sha }}"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Download task definition
run: |
aws ecs describe-task-definition --task-definition app-dev --query taskDefinition > task-definition.json
- name: Fill in the new image ID in the Amazon ECS task definition
id: task-def
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: task-definition.json
container-name: app-dev
image: "standardnotes/web:${{ github.sha }}"
- name: Deploy Amazon ECS task definition
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: app-dev
cluster: dev
wait-for-service-stability: true
notify_discord:
needs: deploy
runs-on: ubuntu-latest
steps:
- name: Run Discord Webhook
uses: johnnyhuy/actions-discord-git-webhook@main
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }}
-20
View File
@@ -1,20 +0,0 @@
name: Web Server PR
on:
pull_request:
branches:
- main
paths:
- 'packages/web-server/**'
jobs:
TestDockerBuild:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Copy default configuration
run: yarn workspace @standardnotes/web-server run sample:env
- name: Test build of the image
run: docker build -t standardnotes/web:test-build .
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-1
View File
@@ -4,7 +4,6 @@ undecided:
- "@standardnotes/mobile"
- "@standardnotes/styles"
- "@standardnotes/toast"
- "@standardnotes/web-server"
- "@standardnotes/advanced-checklist"
- "@standardnotes/markdown-visual"
- "@standardnotes/autobiography-theme"
-35
View File
@@ -1,35 +0,0 @@
FROM ruby:2.7.4-alpine3.14
ARG USERNAME=snjs
ARG UID=1001
ARG GID=$UID
RUN apk add --update --no-cache \
alpine-sdk \
nodejs-current \
python3 \
git \
yarn \
tzdata
RUN addgroup -S $USERNAME -g $GID && adduser -D -S $USERNAME -G $USERNAME -u $UID
WORKDIR /app
RUN chown -R $UID:$GID .
USER $USERNAME
COPY --chown=$UID:$GID . .
RUN yarn install
RUN gem install bundler
RUN yarn build:web-server
EXPOSE 3000
ENTRYPOINT [ "./docker/entrypoint.sh" ]
CMD [ "start" ]
-22
View File
@@ -1,22 +0,0 @@
version: '3.8'
services:
app:
build: .
command: start-local
env_file: .env
restart: unless-stopped
ports:
- ${PORT}:3001
volumes:
- .:/app
networks:
standardnotes_proxy:
aliases:
- web
web: {}
networks:
web:
name: web
standardnotes_proxy:
name: standardnotes
-32
View File
@@ -1,32 +0,0 @@
#!/bin/sh
set -e
COMMAND=$1 && shift 1
case "$COMMAND" in
'start' )
echo "Prestart Step 1/1 - Removing server lock"
rm -f /app/packages/web-server/tmp/pids/server.pid
echo "Starting Server..."
yarn start:server:web
;;
'start-local' )
echo "Prestart Step 1/4 - Removing server lock"
rm -f /app/packages/web-server/tmp/pids/server.pid
echo "Prestart Step 2/4 - Cleaning assets"
yarn clean
echo "Prestart Step 3/4 - Installing dependencies"
yarn install
echo "Prestart Step 4/4 - Building"
yarn build
echo "Starting Server..."
yarn start:server:web
;;
* )
echo "Unknown command"
;;
esac
exec "$@"
+5 -6
View File
@@ -19,18 +19,17 @@
"node": ">=12.19.0 <17.0.0"
},
"scripts": {
"lint": "yarn workspaces foreach -pt --parallel --jobs 10 --verbose --exclude @standardnotes/components-meta run lint",
"test": "yarn workspaces foreach -pt --parallel --jobs 10 --verbose --exclude @standardnotes/components-meta run test",
"lint": "yarn workspaces foreach -t --verbose --exclude @standardnotes/components-meta run lint",
"test": "yarn workspaces foreach -pt --jobs 10 --verbose --exclude @standardnotes/components-meta run test",
"clean": "lerna run clean",
"build:all": "yarn workspaces foreach -pt --verbose --exclude '{@standardnotes/components-meta,@standardnotes/docs}' run build",
"build:all": "yarn workspaces foreach -pt --verbose --exclude '{@standardnotes/docs}' run build",
"build:components": "yarn workspaces foreach -pt --verbose --interlaced -R --from @standardnotes/components-meta run build",
"build:web": "yarn workspaces foreach -pt --verbose -R --from @standardnotes/web --exclude @standardnotes/components-meta run build",
"build:desktop": "yarn workspaces foreach -pt --verbose -R --from @standardnotes/desktop --exclude @standardnotes/components-meta run build",
"build:mobile": "yarn workspaces foreach -pt --verbose -R --from @standardnotes/mobile --exclude @standardnotes/components-meta run build",
"build:web-server": "yarn workspaces foreach -pt --verbose -R --from @standardnotes/web-server --exclude @standardnotes/components-meta run build",
"build:snjs": "yarn workspaces foreach -pt --verbose -R --from @standardnotes/snjs --exclude @standardnotes/components-meta run build",
"start:server:web": "lerna run start --scope=@standardnotes/web-server",
"start:server:web:localhost": "lerna run start:no-binding --scope=@standardnotes/web-server",
"build:services": "yarn workspaces foreach -pt --verbose -R --from @standardnotes/services --exclude @standardnotes/components-meta run build",
"start:server:web": "lerna run start --scope=@standardnotes/web",
"start:server:e2e": "lerna run start:test-server --scope=@standardnotes/snjs",
"prepare": "husky install",
"reset": "find . -type dir -name node_modules | xargs rm -rf && rm -rf yarn.lock && yarn install",
+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.4.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
**Note:** Version bump only for package @standardnotes/api
## [1.4.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-13)
### Bug Fixes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api",
"version": "1.4.6",
"version": "1.4.7",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+54
View File
@@ -3,6 +3,60 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.23.94](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-16)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.93](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-15)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.92](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-11)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.91](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-10)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.90](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-09)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.89](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-08)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.88](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-08)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.87](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-06)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.86](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.85](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-03)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.84](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-03)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.83](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-01)
### Bug Fixes
* popover header getting hidden on desktop by titlebar ([#1359](https://github.com/standardnotes/app/issues/1359)) ([5b3cfdd](https://github.com/standardnotes/app/commit/5b3cfddc50aabb4d03761e7e46c3ab1d1bb2c952))
## [3.23.82](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-27)
**Note:** Version bump only for package @standardnotes/desktop
## [3.23.81](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-26)
**Note:** Version bump only for package @standardnotes/desktop
@@ -122,6 +122,10 @@ async function configureWindow(remoteBridge: CrossProcessBridge) {
/* Use custom title bar. Take the sn-titlebar-height off of
the app content height so its not overflowing */
sheet.insertRule('body { padding-top: var(--sn-desktop-titlebar-height); }', sheet.cssRules.length)
sheet.insertRule(
'[data-popover] { padding-top: calc(var(--sn-desktop-titlebar-height) + 0.5rem); }',
sheet.cssRules.length,
)
sheet.insertRule(
`.main-ui-view { height: calc(100vh - var(--sn-desktop-titlebar-height)) !important;
min-height: calc(100vh - var(--sn-desktop-titlebar-height)) !important; }`,
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@standardnotes/desktop",
"main": "./app/dist/index.js",
"version": "3.23.81",
"version": "3.23.94",
"license": "AGPL-3.0-or-later",
"author": "Standard Notes.",
"private": true,
+6
View File
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [0.2.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-17)
### Features
* **docs:** remove matomo in favour of plausible ([6d7bcd7](https://github.com/standardnotes/app/commit/6d7bcd7a8d2dfffb6dc69899406af57e41c071df))
# [0.1.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-11)
### Features
-1
View File
@@ -44,7 +44,6 @@ docs
│ ├── katex
│ ├── .nojekyll
│ ├── CNAME
│ └── matomo.js
├── .gitignore
├── .prettierrc
├── docusaurus.config.js
+2 -2
View File
@@ -156,8 +156,8 @@ module.exports = {
],
scripts: [
{
src: `/matomo.js`,
async: true,
src: 'https://plausible.standardnotes.com/js/plausible.js',
"data-domain": 'docs.standardnotes.com',
defer: true,
},
],
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/docs",
"version": "0.1.0",
"version": "0.2.0",
"license": "AGPL-3.0-or-later",
"author": "Standard Notes.",
"private": true,
-11
View File
@@ -1,11 +0,0 @@
var _paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.standardnotes.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '7']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.14.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
### Bug Fixes
* **encryption:** remove compiled encrypted paramters from source ([73e3b38](https://github.com/standardnotes/app/commit/73e3b3813f21f3fe06e5af2cfa2953210bb1de76))
### Features
* **encryption:** refactor circular dependencies on services ([ffb2193](https://github.com/standardnotes/app/commit/ffb21939246eb81eba3230ff8c0d68e7a6cb2bcb))
* **web:** extract ui-services package ([7e25126](https://github.com/standardnotes/app/commit/7e251262d770cfc9d791115b9c18b862c49e4e03))
## [1.13.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-13)
### Bug Fixes
+1 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/encryption",
"version": "1.13.5",
"version": "1.14.0",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -39,7 +39,6 @@
"@standardnotes/common": "^1.23.1",
"@standardnotes/models": "workspace:*",
"@standardnotes/responses": "workspace:*",
"@standardnotes/services": "workspace:*",
"@standardnotes/sncrypto-common": "workspace:*",
"@standardnotes/utils": "workspace:*",
"reflect-metadata": "^0.1.13"
@@ -1,9 +0,0 @@
import { AnyKeyParamsContent, ProtocolVersion } from '@standardnotes/common'
import { BackupFileDecryptedContextualPayload, BackupFileEncryptedContextualPayload } from '@standardnotes/models'
export type BackupFile = {
version?: ProtocolVersion
keyParams?: AnyKeyParamsContent
auth_params?: AnyKeyParamsContent
items: (BackupFileDecryptedContextualPayload | BackupFileEncryptedContextualPayload)[]
}
@@ -1,4 +1,10 @@
import * as Models from '@standardnotes/models'
import {
DecryptedPayloadInterface,
ItemsKeyInterface,
RootKeyInterface,
ItemContent,
EncryptedPayloadInterface,
} from '@standardnotes/models'
import {
DecryptedParameters,
EncryptedParameters,
@@ -9,8 +15,8 @@ import { isAsyncOperator } from './Functions'
import { OperatorManager } from './OperatorManager'
export async function encryptPayload(
payload: Models.DecryptedPayloadInterface,
key: Models.ItemsKeyInterface | Models.RootKeyInterface,
payload: DecryptedPayloadInterface,
key: ItemsKeyInterface | RootKeyInterface,
operatorManager: OperatorManager,
): Promise<EncryptedParameters> {
const operator = operatorManager.operatorForVersion(key.keyVersion)
@@ -29,9 +35,9 @@ export async function encryptPayload(
return encryptionParameters
}
export async function decryptPayload<C extends Models.ItemContent = Models.ItemContent>(
payload: Models.EncryptedPayloadInterface,
key: Models.ItemsKeyInterface | Models.RootKeyInterface,
export async function decryptPayload<C extends ItemContent = ItemContent>(
payload: EncryptedPayloadInterface,
key: ItemsKeyInterface | RootKeyInterface,
operatorManager: OperatorManager,
): Promise<DecryptedParameters<C> | ErrorDecryptingParameters> {
const operator = operatorManager.operatorForVersion(payload.version)
@@ -1,12 +1,12 @@
import { ProtocolVersion } from '@standardnotes/common'
import {
BackupFile,
DecryptedPayloadInterface,
EncryptedPayloadInterface,
ItemContent,
RootKeyInterface,
} from '@standardnotes/models'
import { ClientDisplayableError } from '@standardnotes/responses'
import { BackupFile } from '../../Backups/BackupFile'
import { SNRootKeyParams } from '../../Keys/RootKey/RootKeyParams'
import { KeyedDecryptionSplit } from '../../Split/KeyedDecryptionSplit'
import { KeyedEncryptionSplit } from '../../Split/KeyedEncryptionSplit'
@@ -0,0 +1,3 @@
export enum RootKeyServiceEvent {
RootKeyStatusChanged = 'RootKeyStatusChanged',
}
+1 -6
View File
@@ -1,6 +1,4 @@
export * from './Algorithm'
export * from './Backups/BackupFile'
export * from './Backups/BackupFileDecryptor'
export * from './Backups/BackupFileType'
export * from './Keys/ItemsKey/ItemsKey'
export * from './Keys/ItemsKey/ItemsKeyMutator'
@@ -11,7 +9,6 @@ export * from './Keys/RootKey/ProtocolVersionForKeyParams'
export * from './Keys/RootKey/RootKey'
export * from './Keys/RootKey/RootKeyParams'
export * from './Keys/RootKey/ValidKeyParamsKeys'
export * from './Keys/Utils/DecryptItemsKey'
export * from './Keys/Utils/KeyRecoveryStrings'
export * from './Operator/001/Operator001'
export * from './Operator/002/Operator002'
@@ -22,11 +19,9 @@ export * from './Operator/Operator'
export * from './Operator/OperatorManager'
export * from './Operator/OperatorWrapper'
export * from './Service/Encryption/EncryptionProvider'
export * from './Service/Encryption/EncryptionService'
export * from './Service/Functions'
export * from './Service/Items/ItemsEncryption'
export * from './Service/RootKey/KeyMode'
export * from './Service/RootKey/RootKeyEncryption'
export * from './Service/RootKey/RootKeyServiceEvent'
export * from './Split/AbstractKeySplit'
export * from './Split/EncryptionSplit'
export * from './Split/EncryptionTypeSplit'
+10
View File
@@ -3,6 +3,16 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.22.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
### Bug Fixes
* **files:** filepicker circular dependency ([183f68c](https://github.com/standardnotes/app/commit/183f68c9c1005567ec50bd1a66ca34f775e393dc))
### Features
* **encryption:** refactor circular dependencies on services ([ffb2193](https://github.com/standardnotes/app/commit/ffb21939246eb81eba3230ff8c0d68e7a6cb2bcb))
## [1.21.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-13)
### Bug Fixes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/filepicker",
"version": "1.21.6",
"version": "1.22.0",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -32,7 +32,7 @@
},
"dependencies": {
"@standardnotes/common": "^1.23.1",
"@standardnotes/services": "workspace:*",
"@standardnotes/files": "workspace:*",
"@standardnotes/utils": "workspace:*",
"@types/wicg-file-system-access": "^2020.9.5",
"reflect-metadata": "^0.1.13"
@@ -1,5 +1,5 @@
import { ByteChunker } from './../Chunker/ByteChunker'
import { OnChunkCallback, FileSelectionResponse } from '../types'
import { ByteChunker, OnChunkCallback } from '@standardnotes/files'
import { FileSelectionResponse } from '../types'
import { readFile as utilsReadFile } from '../utils'
import { FileReaderInterface } from '../Interface/FileReader'
@@ -1,4 +1,6 @@
import { OnChunkCallback, FileSelectionResponse } from '../types'
import { OnChunkCallback } from '@standardnotes/files'
import { FileSelectionResponse } from '../types'
export interface FileReaderInterface {
selectFiles(): Promise<File[]>
@@ -5,7 +5,7 @@ import {
FileHandleRead,
FileSystemNoSelection,
FileSystemResult,
} from '@standardnotes/services'
} from '@standardnotes/files'
interface WebDirectoryHandle extends DirectoryHandle {
nativeHandle: FileSystemDirectoryHandle
@@ -1,6 +1,7 @@
import { ByteChunker, OnChunkCallback } from '@standardnotes/files'
import { FileReaderInterface } from './../Interface/FileReader'
import { ByteChunker } from '../Chunker/ByteChunker'
import { OnChunkCallback, FileSelectionResponse } from '../types'
import { FileSelectionResponse } from '../types'
interface StreamingFileReaderInterface {
getFilesFromHandles(handles: FileSystemFileHandle[]): Promise<File[]>
-7
View File
@@ -1,7 +0,0 @@
export type EncryptedBytes = {
encryptedBytes: Uint8Array
}
export type DecryptedBytes = {
decryptedBytes: Uint8Array
}
-4
View File
@@ -5,7 +5,3 @@ export * from './Streaming/StreamingReader'
export * from './Streaming/StreamingSaver'
export * from './Streaming/StreamingApi'
export * from './utils'
export * from './Chunker/ByteChunker'
export * from './Chunker/OrderedByteChunker'
export * from './Cache/FileMemoryCache'
export * from './TypedBytes'
-2
View File
@@ -1,5 +1,3 @@
export type OnChunkCallback = (chunk: Uint8Array, index: number, isLast: boolean) => Promise<void>
export type FileSelectionResponse = {
name: string
mimeType: string
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.9.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
### Bug Fixes
* **files:** filepicker circular dependency ([183f68c](https://github.com/standardnotes/app/commit/183f68c9c1005567ec50bd1a66ca34f775e393dc))
### Features
* **encryption:** refactor circular dependencies on services ([ffb2193](https://github.com/standardnotes/app/commit/ffb21939246eb81eba3230ff8c0d68e7a6cb2bcb))
* **files:** refactor circular deps ([696b82b](https://github.com/standardnotes/app/commit/696b82b9d392e146db5894462aeb56d91ac2a92c))
## [1.8.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-13)
### Bug Fixes
+1 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/files",
"version": "1.8.7",
"version": "1.9.0",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -32,10 +32,8 @@
"dependencies": {
"@standardnotes/common": "^1.23.1",
"@standardnotes/encryption": "workspace:*",
"@standardnotes/filepicker": "workspace:*",
"@standardnotes/models": "workspace:*",
"@standardnotes/responses": "workspace:*",
"@standardnotes/services": "workspace:*",
"@standardnotes/sncrypto-common": "workspace:*",
"@standardnotes/utils": "workspace:*",
"reflect-metadata": "^0.1.13"
@@ -0,0 +1,3 @@
export interface DirectoryHandle {
nativeHandle: unknown
}
@@ -0,0 +1,3 @@
export interface FileHandleRead {
nativeHandle: unknown
}
@@ -0,0 +1,4 @@
export interface FileHandleReadWrite {
nativeHandle: unknown
writableStream: unknown
}
@@ -1,16 +1,8 @@
export interface DirectoryHandle {
nativeHandle: unknown
}
export interface FileHandleReadWrite {
nativeHandle: unknown
writableStream: unknown
}
export interface FileHandleRead {
nativeHandle: unknown
}
export type FileSystemResult = 'aborted' | 'success' | 'failed'
export type FileSystemNoSelection = 'aborted' | 'failed'
import { DirectoryHandle } from './DirectoryHandle'
import { FileHandleRead } from './FileHandleRead'
import { FileHandleReadWrite } from './FileHandleReadWrite'
import { FileSystemNoSelection } from './FileSystemNoSelection'
import { FileSystemResult } from './FileSystemResult'
export interface FileSystemApi {
selectDirectory(): Promise<DirectoryHandle | FileSystemNoSelection>
@@ -0,0 +1 @@
export type FileSystemNoSelection = 'aborted' | 'failed'
@@ -0,0 +1 @@
export type FileSystemResult = 'aborted' | 'success' | 'failed'
@@ -1,4 +1,4 @@
import { EncryptedBytes } from './../TypedBytes'
import { EncryptedBytes } from '../Types/EncryptedBytes'
import { FileMemoryCache } from './FileMemoryCache'
describe('file memory cache', () => {
@@ -1,6 +1,7 @@
import { removeFromArray } from '@standardnotes/utils'
import { Uuid } from '@standardnotes/common'
import { EncryptedBytes } from '../TypedBytes'
import { EncryptedBytes } from '../Types/EncryptedBytes'
export class FileMemoryCache {
private cache: Record<Uuid, EncryptedBytes> = {}
@@ -1,4 +1,4 @@
import { OnChunkCallback } from '../types'
import { OnChunkCallback } from './OnChunkCallback'
export class ByteChunker {
public loggingEnabled = false
@@ -0,0 +1 @@
export type OnChunkCallback = (chunk: Uint8Array, index: number, isLast: boolean) => Promise<void>
@@ -0,0 +1,8 @@
import { BackupFileEncryptedContextualPayload } from '@standardnotes/models'
export interface FileBackupMetadataFile {
info: Record<string, string>
file: BackupFileEncryptedContextualPayload
itemsKey: BackupFileEncryptedContextualPayload
version: '1.0.0'
}
@@ -0,0 +1,5 @@
export const FileBackupsConstantsV1 = {
Version: '1.0.0',
MetadataFileName: 'metadata.sn.json',
BinaryFileName: 'file.encrypted',
}
@@ -0,0 +1,21 @@
import { Uuid } from '@standardnotes/common'
import { FileBackupsMapping } from './FileBackupsMapping'
export interface FileBackupsDevice {
getFilesBackupsMappingFile(): Promise<FileBackupsMapping>
saveFilesBackupsFile(
uuid: Uuid,
metaFile: string,
downloadRequest: {
chunkSizes: number[]
valetToken: string
url: string
},
): Promise<'success' | 'failed'>
isFilesBackupsEnabled(): Promise<boolean>
enableFilesBackups(): Promise<void>
disableFilesBackups(): Promise<void>
changeFilesBackupsLocation(): Promise<string | undefined>
getFilesBackupsLocation(): Promise<string>
openFilesBackupsLocation(): Promise<void>
}
@@ -0,0 +1,17 @@
import { Uuid } from '@standardnotes/common'
import { FileBackupsConstantsV1 } from './FileBackupsConstantsV1'
export interface FileBackupsMapping {
version: typeof FileBackupsConstantsV1.Version
files: Record<
Uuid,
{
backedUpOn: Date
absolutePath: string
relativePath: string
metadataFileName: typeof FileBackupsConstantsV1.MetadataFileName
binaryFileName: typeof FileBackupsConstantsV1.BinaryFileName
version: typeof FileBackupsConstantsV1.Version
}
>
}
@@ -1,9 +1,9 @@
import { sleep } from '@standardnotes/utils'
import { PureCryptoInterface, StreamEncryptor } from '@standardnotes/sncrypto-common'
import { FileDownloadProgress } from '../Types/FileDownloadProgress'
import { FilesApiInterface } from '@standardnotes/services'
import { DownloadAndDecryptFileOperation } from './DownloadAndDecrypt'
import { FileContent } from '@standardnotes/models'
import { FilesApiInterface } from '../Api/FilesApiInterface'
describe('download and decrypt', () => {
let apiService: FilesApiInterface
@@ -2,10 +2,11 @@ import { ClientDisplayableError } from '@standardnotes/responses'
import { AbortFunction, FileDownloader } from '../UseCase/FileDownloader'
import { FileDecryptor } from '../UseCase/FileDecryptor'
import { FileDownloadProgress } from '../Types/FileDownloadProgress'
import { FilesApiInterface } from '@standardnotes/services'
import { PureCryptoInterface } from '@standardnotes/sncrypto-common'
import { FileContent } from '@standardnotes/models'
import { DecryptedBytes, EncryptedBytes } from '@standardnotes/filepicker'
import { FilesApiInterface } from '../Api/FilesApiInterface'
import { DecryptedBytes } from '../Types/DecryptedBytes'
import { EncryptedBytes } from '../Types/EncryptedBytes'
export type DownloadAndDecryptResult = { success: boolean; error?: ClientDisplayableError; aborted?: boolean }
@@ -1,8 +1,9 @@
import { EncryptAndUploadFileOperation } from './EncryptAndUpload'
import { PureCryptoInterface, StreamEncryptor } from '@standardnotes/sncrypto-common'
import { FilesApiInterface } from '@standardnotes/services'
import { FileContent } from '@standardnotes/models'
import { FilesApiInterface } from '../Api/FilesApiInterface'
describe('encrypt and upload', () => {
let apiService: FilesApiInterface
let operation: EncryptAndUploadFileOperation
@@ -1,10 +1,10 @@
import { FileUploadProgress } from '../Types/FileUploadProgress'
import { FileUploadResult } from '../Types/FileUploadResult'
import { FilesApiInterface } from '@standardnotes/services'
import { FileUploader } from '../UseCase/FileUploader'
import { PureCryptoInterface } from '@standardnotes/sncrypto-common'
import { FileEncryptor } from '../UseCase/FileEncryptor'
import { FileContent } from '@standardnotes/models'
import { FilesApiInterface } from '../Api/FilesApiInterface'
export class EncryptAndUploadFileOperation {
public readonly encryptedChunkSizes: number[] = []
@@ -2,7 +2,10 @@ import { EncryptAndUploadFileOperation } from '../Operations/EncryptAndUpload'
import { FileItem, FileMetadata } from '@standardnotes/models'
import { ClientDisplayableError } from '@standardnotes/responses'
import { FileDownloadProgress } from '../Types/FileDownloadProgress'
import { FileSystemApi, FileBackupMetadataFile, FileHandleRead, FileSystemNoSelection } from '@standardnotes/services'
import { FileSystemApi } from '../Api/FileSystemApi'
import { FileHandleRead } from '../Api/FileHandleRead'
import { FileSystemNoSelection } from '../Api/FileSystemNoSelection'
import { FileBackupMetadataFile } from '../Device/FileBackupMetadataFile'
export interface FilesClientInterface {
beginNewFileUpload(sizeInBytes: number): Promise<EncryptAndUploadFileOperation | ClientDisplayableError>
@@ -1,8 +1,9 @@
import { FileContent } from '@standardnotes/models'
import { FileSystemApi, FileHandleRead } from '@standardnotes/services'
import { PureCryptoInterface } from '@standardnotes/sncrypto-common'
import { OrderedByteChunker } from '@standardnotes/filepicker'
import { FileDecryptor } from '../UseCase/FileDecryptor'
import { FileSystemApi } from '../Api/FileSystemApi'
import { FileHandleRead } from '../Api/FileHandleRead'
import { OrderedByteChunker } from '../Chunker/OrderedByteChunker'
export async function readAndDecryptBackupFile(
fileHandle: FileHandleRead,
@@ -0,0 +1,3 @@
export type DecryptedBytes = {
decryptedBytes: Uint8Array
}
@@ -0,0 +1,3 @@
export type EncryptedBytes = {
encryptedBytes: Uint8Array
}
@@ -1,5 +1,5 @@
import { FileContent } from '@standardnotes/models'
import { FilesApiInterface } from '@standardnotes/services'
import { FilesApiInterface } from '../Api/FilesApiInterface'
import { FileDownloader } from './FileDownloader'
describe('file downloader', () => {
@@ -1,8 +1,8 @@
import { ClientDisplayableError } from '@standardnotes/responses'
import { FileDownloadProgress } from '../Types/FileDownloadProgress'
import { FilesApiInterface } from '@standardnotes/services'
import { Deferred } from '@standardnotes/utils'
import { FileContent } from '@standardnotes/models'
import { FilesApiInterface } from '../Api/FilesApiInterface'
export type AbortSignal = 'aborted'
export type AbortFunction = () => void
@@ -1,4 +1,4 @@
import { FilesApiInterface } from '@standardnotes/services'
import { FilesApiInterface } from '../Api/FilesApiInterface'
import { FileUploader } from './FileUploader'
describe('file uploader', () => {
@@ -1,4 +1,4 @@
import { FilesApiInterface } from '@standardnotes/services'
import { FilesApiInterface } from '../Api/FilesApiInterface'
export class FileUploader {
constructor(private apiService: FilesApiInterface) {}
+18 -2
View File
@@ -1,12 +1,28 @@
export * from './Service/FileService'
export * from './Api/DirectoryHandle'
export * from './Api/FileHandleRead'
export * from './Api/FileHandleReadWrite'
export * from './Api/FileSystemApi'
export * from './Api/FileSystemNoSelection'
export * from './Api/FileSystemResult'
export * from './Api/FilesApiInterface'
export * from './Cache/FileMemoryCache'
export * from './Chunker/ByteChunker'
export * from './Chunker/OnChunkCallback'
export * from './Chunker/OrderedByteChunker'
export * from './Device/FileBackupMetadataFile'
export * from './Device/FileBackupsConstantsV1'
export * from './Device/FileBackupsDevice'
export * from './Device/FileBackupsMapping'
export * from './Service/FilesClientInterface'
export * from './Service/ReadAndDecryptBackupFile'
export * from './Operations/DownloadAndDecrypt'
export * from './Operations/EncryptAndUpload'
export * from './UseCase/FileDecryptor'
export * from './UseCase/FileUploader'
export * from './UseCase/FileEncryptor'
export * from './UseCase/FileDownloader'
export * from './Types/DecryptedBytes'
export * from './Types/EncryptedBytes'
export * from './Types/FileDownloadProgress'
export * from './Types/FileUploadProgress'
export * from './Types/FileUploadResult'
export * from './Backups/BackupService'
+3
View File
@@ -0,0 +1,3 @@
metro.config.js
packages/mobile/html/Web.bundle/src/components
packages/mobile/html/Web.bundle/src/web-src
+1 -2
View File
@@ -10,6 +10,5 @@
"@typescript-eslint/no-var-requires": "off",
"eqeqeq": ["off"],
"no-void": ["off"]
},
"ignorePatterns": ["metro.config.js"]
}
}
+58
View File
@@ -3,6 +3,64 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.31.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-16)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-15)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.8](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-11)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-10)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-09)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-08)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-08)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-06)
**Note:** Version bump only for package @standardnotes/mobile
## [3.31.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
### Bug Fixes
* **files:** filepicker circular dependency ([183f68c](https://github.com/standardnotes/app/commit/183f68c9c1005567ec50bd1a66ca34f775e393dc))
* **mobile:** add common to metro config ([8a1293f](https://github.com/standardnotes/app/commit/8a1293f66d4d9b17494969db4c7b182ad7338951))
* **mobile:** add models to metro config ([c2159e7](https://github.com/standardnotes/app/commit/c2159e77f7f8ed5a52121696d49c3850acd78e51))
* **mobile:** add responses to metro config ([94772bb](https://github.com/standardnotes/app/commit/94772bb7b68f2ee8fee730bb22fd560b60fc64e7))
* **mobile:** bring back responses and models to metro resolution ([10f40f6](https://github.com/standardnotes/app/commit/10f40f662e6a92202e3fe694d4d0ce1dd2478540))
* **mobile:** imports only from snjs ([3ce621e](https://github.com/standardnotes/app/commit/3ce621e24c564fe026786ea1269c8bc15bc67ebe))
* **mobile:** replace component viewer usage with interface ([0825ced](https://github.com/standardnotes/app/commit/0825cedfbeeca1b37b1259b762754a1e3530f498))
## [3.31.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-03)
**Note:** Version bump only for package @standardnotes/mobile
# [3.31.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-03)
### Features
* **web:** remove web-server and change web to a static website deployment ([#1360](https://github.com/standardnotes/app/issues/1360)) ([483cac9](https://github.com/standardnotes/app/commit/483cac90cfddb13854be1998e7b96b50aee86464))
## [3.30.38](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-27)
**Note:** Version bump only for package @standardnotes/mobile
## [3.30.37](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-26)
**Note:** Version bump only for package @standardnotes/mobile
+2
View File
@@ -32,6 +32,8 @@ module.exports = (async () => {
'../utils',
'../sncrypto-common',
'../snjs',
'../responses',
'../models',
],
transformer: {
getTransformOptions: async () => ({
+1 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/mobile",
"version": "3.30.37",
"version": "3.31.10",
"author": "Standard Notes.",
"private": true,
"license": "AGPL-3.0-or-later",
@@ -37,7 +37,6 @@
"@react-navigation/stack": "^6.2.1",
"@standardnotes/components-meta": "workspace:*",
"@standardnotes/filepicker": "workspace:*",
"@standardnotes/files": "workspace:*",
"@standardnotes/icons": "workspace:*",
"@standardnotes/react-native-aes": "^1.4.3",
"@standardnotes/react-native-textview": "1.1.0",
+9 -2
View File
@@ -9,8 +9,15 @@ import {
UploadedFileItemActionType,
} from '@Root/Screens/UploadedFilesList/UploadedFileItemAction'
import { Tabs } from '@Screens/UploadedFilesList/UploadedFilesList'
import { FileDownloadProgress } from '@standardnotes/files'
import { ButtonType, ChallengeReason, ClientDisplayableError, ContentType, FileItem, SNNote } from '@standardnotes/snjs'
import {
ButtonType,
ChallengeReason,
ClientDisplayableError,
ContentType,
FileDownloadProgress,
FileItem,
SNNote,
} from '@standardnotes/snjs'
import { CustomActionSheetOption, useCustomActionSheet } from '@Style/CustomActionSheet'
import { useCallback, useEffect, useState } from 'react'
import { Platform } from 'react-native'
+1 -2
View File
@@ -1,5 +1,4 @@
import { InternalEventBus } from '@standardnotes/services'
import { ApplicationDescriptor, DeviceInterface, SNApplicationGroup } from '@standardnotes/snjs'
import { ApplicationDescriptor, DeviceInterface, InternalEventBus, SNApplicationGroup } from '@standardnotes/snjs'
import { MobileApplication } from './Application'
import { ApplicationState } from './ApplicationState'
import { BackupsService } from './BackupsService'
+1 -1
View File
@@ -1,4 +1,3 @@
import { InternalEventBus } from '@standardnotes/services'
import {
ApplicationEvent,
ApplicationService,
@@ -7,6 +6,7 @@ import {
ChallengeReason,
ChallengeValidation,
ContentType,
InternalEventBus,
isNullOrUndefined,
NoteViewController,
PayloadEmitSource,
+9 -4
View File
@@ -1,7 +1,12 @@
import { ByteChunker, FileSelectionResponse, OnChunkCallback } from '@standardnotes/filepicker'
import { FileDownloadProgress } from '@standardnotes/files'
import { ClientDisplayableError } from '@standardnotes/responses'
import { ApplicationService, FileItem } from '@standardnotes/snjs'
import { FileSelectionResponse } from '@standardnotes/filepicker'
import {
ApplicationService,
ByteChunker,
ClientDisplayableError,
FileDownloadProgress,
FileItem,
OnChunkCallback,
} from '@standardnotes/snjs'
import { Buffer } from 'buffer'
import { Base64 } from 'js-base64'
import { PermissionsAndroid, Platform } from 'react-native'
@@ -3,7 +3,7 @@ import { useFocusEffect, useNavigation } from '@react-navigation/native'
import { ApplicationContext } from '@Root/ApplicationContext'
import { AppStackNavigationProp } from '@Root/AppStack'
import { SCREEN_NOTES } from '@Root/Screens/screens'
import { ButtonType, ComponentViewer, PrefKey } from '@standardnotes/snjs'
import { ButtonType, ComponentViewerInterface, PrefKey } from '@standardnotes/snjs'
import { ThemeServiceContext } from '@Style/ThemeService'
import React, { useCallback, useContext, useEffect, useRef, useState } from 'react'
import { Platform } from 'react-native'
@@ -25,7 +25,7 @@ import {
} from './ComponentView.styled'
type Props = {
componentViewer: ComponentViewer
componentViewer: ComponentViewerInterface
onLoadEnd: () => void
onLoadStart: () => void
onLoadError: (error: ComponentLoadingError, desc?: string) => void
@@ -7,7 +7,7 @@ import SNTextView from '@standardnotes/react-native-textview'
import {
ApplicationEvent,
ComponentMutator,
ComponentViewer,
ComponentViewerInterface,
ContentType,
isPayloadSourceInternalChange,
isPayloadSourceRetrieved,
@@ -51,7 +51,7 @@ type State = {
webViewErrorDesc?: string
loadingWebview: boolean
downloadingEditor: boolean
componentViewer?: ComponentViewer
componentViewer?: ComponentViewerInterface
}
type PropsWhenNavigating = AppStackNavigationProp<typeof SCREEN_COMPOSE>
+6
View File
@@ -3,6 +3,12 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.16.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-08-05)
### Features
* **web:** extract ui-services package ([7e25126](https://github.com/standardnotes/app/commit/7e251262d770cfc9d791115b9c18b862c49e4e03))
## [1.15.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2022-07-13)
### Bug Fixes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/models",
"version": "1.15.5",
"version": "1.16.0",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -0,0 +1,4 @@
import { ComponentAction } from '@standardnotes/features'
import { MessageData } from './MessageData'
export type ActionObserver = (action: ComponentAction, messageData: MessageData) => void
@@ -0,0 +1,3 @@
import { ComponentViewerEvent } from './ComponentViewerEvent'
export type ComponentEventObserver = (event: ComponentViewerEvent) => void
@@ -0,0 +1,9 @@
import { ComponentAction } from '@standardnotes/features'
import { MessageData } from './MessageData'
export type ComponentMessage = {
action: ComponentAction
sessionKey?: string
componentData?: Record<string, unknown>
data: MessageData
}

Some files were not shown because too many files have changed in this diff Show More