Compare commits

...
Author SHA1 Message Date
StandardNotes CI 9c54689325 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].7
2026-01-08 16:45:34 +00:00
Antonella Sgarlatta 0a5cd13a96 fix: Fixes Cancel button not working on Super export modal (#2968) [skip e2e] 2026-01-08 13:36:30 -03:00
Antonella Sgarlatta 308b98db3d fix: Fixes wrong header for session note history when offline (#2967) 2026-01-08 13:36:09 -03:00
StandardNotes CI 2c91178a17 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].6
2026-01-06 14:00:37 +00:00
Antonella Sgarlatta abed6a265f chore: trigger release [skip e2e] 2026-01-06 10:51:08 -03:00
Antonella Sgarlatta 895353ca7b fix: Fixes bottom note being hidden behind nav bar on Android (#2966) 2026-01-05 13:49:19 -03:00
Antonella Sgarlatta 9c737141f9 fix: fix extra bottom space when scrolling down note in android (#2965) 2026-01-05 13:48:46 -03:00
StandardNotes CI 5944cead98 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
 - @standardnotes/[email protected].2
 - @standardnotes/[email protected].2
 - @standardnotes/[email protected].5
2025-12-18 13:00:02 +00:00
Antonella Sgarlatta 0109a01897 chore: trigger release [skip e2e] 2025-12-18 09:50:15 -03:00
Antonella Sgarlatta 844b7a7a2b fix: Shows informative error on UI when file upload limit is reached (#2961) 2025-12-18 09:49:27 -03:00
Antonella Sgarlatta 5d1f6ca963 chore: fix conflicts in demo (#2962) 2025-12-18 09:49:07 -03:00
Antonella Sgarlatta b2910faa11 fix: Fixes Linux ARM desktop app packaging (#2964)
* fix: potential linux arm packaging fix

* fix: apply changes to actual workflow
2025-12-18 09:48:53 -03:00
Antonella Sgarlatta 9affbf91be chore: add desktop missing dependencies (#2963)
* chore: add desktop missing dependencies

* chore: update lockfile
2025-12-17 10:28:39 -03:00
StandardNotes CI 996ac9c2e4 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].4
2025-12-05 14:16:53 +00:00
Antonella Sgarlatta 6391f93674 chore: trigger release [skip e2e] 2025-12-05 11:07:38 -03:00
Antonella Sgarlatta 26735b5e7a fix: Fix confirmation dialog title for permanently deleting files (#2960) 2025-12-03 11:38:13 -03:00
StandardNotes CI f2289e3e80 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
2025-11-21 00:41:53 +00:00
Antonella Sgarlatta 3190a27831 fix: Use regular debouncing for tab indentations (#2959) [skip e2e] 2025-11-20 21:32:46 -03:00
StandardNotes CI 3fe500bd95 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
2025-11-18 13:36:20 +00:00
Antonella Sgarlatta b6cebbe08d chore: trigger release [skip e2e] 2025-11-18 10:26:59 -03:00
Antonella Sgarlatta b883d5f1d4 chore: update provisioning profiles 2025-11-17 17:35:17 -03:00
37 changed files with 485 additions and 79 deletions
+134 -23
View File
@@ -56,8 +56,8 @@ jobs:
packages/desktop/dist/*.yml
packages/desktop/dist/*.yaml
Linux-AppImage:
name: Linux AppImage
Linux-AppImage-X64:
name: Linux AppImage X64
runs-on: ubuntu-latest
defaults:
run:
@@ -87,31 +87,67 @@ jobs:
- name: Compile for AppImage
run: yarn run webpack --config desktop.webpack.prod.js
- name: AppImage
run: |
yarn run electron-builder --linux --x64 -c.linux.target=AppImage --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
- name: AppImageX64
run: |
yarn run electron-builder --linux --x64 -c.linux.target=AppImage --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
- name: AppImageArm64
run: |
yarn workspace @standardnotes/desktop rebuild:home-server --arch arm64
yarn run electron-builder --linux --arm64 -c.linux.target=AppImage --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
env:
npm_config_target_arch: 'arm64'
- name: Upload
uses: actions/[email protected]
with:
name: dist-linux-appimage
name: dist-linux-appimage-x64
path: |
packages/desktop/dist/*.AppImage
packages/desktop/dist/*.yml
packages/desktop/dist/*.yaml
Linux-Dir:
name: Linux Dir
Linux-AppImage-ARM64:
name: Linux AppImage ARM64
runs-on: ubuntu-24.04-arm
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install FPM
run: sudo gem install fpm -f
- run: yarn install --immutable
- name: Rebuild Electron Native Modules
run: yarn workspace @standardnotes/desktop rebuild:home-server
- run: yarn build:desktop
- run: echo APP_VERSION=$(node -p "require('./../web/package.json').version") >> $GITHUB_ENV
- name: Compile for AppImage
run: yarn run webpack --config desktop.webpack.prod.js
- name: AppImageArm64
run: |
yarn run electron-builder --linux --arm64 -c.linux.target=AppImage --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
- name: Upload
uses: actions/[email protected]
with:
name: dist-linux-appimage-arm64
path: |
packages/desktop/dist/*.AppImage
packages/desktop/dist/*.yml
packages/desktop/dist/*.yaml
Linux-Dir-X64:
name: Linux Dir X64
runs-on: ubuntu-latest
defaults:
run:
@@ -143,16 +179,43 @@ jobs:
run: |
yarn run webpack --config desktop.webpack.prod.js
yarn run electron-builder --linux --x64 -c.linux.target=dir --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
Linux-Dir-ARM64:
name: Linux Dir ARM64
runs-on: ubuntu-24.04-arm
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install FPM
run: sudo gem install fpm -f
- run: yarn install --immutable
- name: Rebuild Electron Native Modules
run: yarn workspace @standardnotes/desktop rebuild:home-server
- run: yarn build:desktop
- run: echo APP_VERSION=$(node -p "require('./../web/package.json').version") >> $GITHUB_ENV
- name: DirArm64
run: |
yarn workspace @standardnotes/desktop rebuild:home-server --arch arm64
yarn run webpack --config desktop.webpack.prod.js
yarn run electron-builder --linux --arm64 -c.linux.target=dir --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
env:
npm_config_target_arch: 'arm64'
Linux-Deb:
name: Linux Deb
Linux-Deb-X64:
name: Linux Deb X64
runs-on: ubuntu-latest
defaults:
run:
@@ -184,19 +247,56 @@ jobs:
run: |
yarn run webpack --config desktop.webpack.prod.js --env deb
yarn run electron-builder --linux --x64 -c.linux.target=deb --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
- name: Upload
uses: actions/[email protected]
with:
name: dist-linux-deb-x64
path: |
packages/desktop/dist/*.deb
packages/desktop/dist/*.yml
packages/desktop/dist/*.yaml
Linux-Deb-ARM64:
name: Linux Deb ARM64
runs-on: ubuntu-24.04-arm
defaults:
run:
working-directory: packages/desktop
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install FPM
run: sudo gem install fpm -f
- run: yarn install --immutable
- name: Rebuild Electron Native Modules
run: yarn workspace @standardnotes/desktop rebuild:home-server
- run: yarn build:desktop
- run: echo APP_VERSION=$(node -p "require('./../web/package.json').version") >> $GITHUB_ENV
- name: DebArm64
env:
npm_config_target_arch: 'arm64'
USE_SYSTEM_FPM: 'true'
run: |
yarn workspace @standardnotes/desktop rebuild:home-server --arch arm64
yarn run webpack --config desktop.webpack.prod.js --env deb
yarn run electron-builder --linux --arm64 -c.linux.target=deb --publish=never --c.extraMetadata.version=${{ env.APP_VERSION }}
- name: Upload
uses: actions/[email protected]
with:
name: dist-linux-deb
name: dist-linux-deb-arm64
path: |
packages/desktop/dist/*.deb
packages/desktop/dist/*.yml
@@ -347,7 +447,18 @@ jobs:
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
if: ${{ always() }}
needs: [Windows, Mac, Linux-AppImage, Linux-Dir, Linux-Deb, Linux-Snap]
needs:
[
Windows,
Mac,
Linux-AppImage-X64,
Linux-AppImage-ARM64,
Linux-Dir-X64,
Linux-Dir-ARM64,
Linux-Deb-X64,
Linux-Deb-ARM64,
Linux-Snap,
]
defaults:
run:
working-directory: packages/desktop
+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.26.96](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
### Bug Fixes
* Shows informative error on UI when file upload limit is reached ([#2961](https://github.com/standardnotes/app/issues/2961)) ([844b7a7](https://github.com/standardnotes/app/commit/844b7a7a2b26bd4e74c2d8d36ddfa9e28b47f589))
## [1.26.95](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-06)
**Note:** Version bump only for package @standardnotes/api
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api",
"version": "1.26.95",
"version": "1.26.96",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -134,7 +134,7 @@ export class FetchRequestHandler implements RequestHandlerInterface {
response.data.error = {
message: ErrorMessage.RateLimited,
}
} else {
} else if (!response.data.error.message) {
response.data.error.message = ErrorMessage.RateLimited
}
}
+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.1.566](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-08)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.565](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-06)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.564](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.563](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-05)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.562](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-21)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.561](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-07)
**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.1.561",
"version": "1.1.566",
"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.110.171](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-08)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.170](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-06)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.169](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.168](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-05)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.167](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-21)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.166](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-07)
**Note:** Version bump only for package @standardnotes/desktop
+3 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@standardnotes/desktop",
"main": "./app/dist/index.js",
"version": "3.110.166",
"version": "3.110.171",
"license": "AGPL-3.0",
"author": "Standard Notes.",
"private": true,
@@ -38,6 +38,8 @@
"@electron/remote": "^2.1.2",
"@standardnotes/domain-core": "^1.40.0",
"@standardnotes/electron-clear-data": "1.1.1",
"@standardnotes/snjs": "workspace:*",
"@standardnotes/utils": "workspace:*",
"@standardnotes/web": "workspace:*",
"axios": "^1.4.0",
"compare-versions": "^6.1.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.28.133](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
**Note:** Version bump only for package @standardnotes/filepicker
## [1.28.132](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-06)
**Note:** Version bump only for package @standardnotes/filepicker
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/filepicker",
"version": "1.28.132",
"version": "1.28.133",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+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.20.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
### Bug Fixes
* Shows informative error on UI when file upload limit is reached ([#2961](https://github.com/standardnotes/app/issues/2961)) ([844b7a7](https://github.com/standardnotes/app/commit/844b7a7a2b26bd4e74c2d8d36ddfa9e28b47f589))
## [1.20.15](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-06)
**Note:** Version bump only for package @standardnotes/files
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/files",
"version": "1.20.15",
"version": "1.20.16",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -26,7 +26,7 @@ export interface FilesApiInterface {
encryptedBytes: Uint8Array,
): Promise<boolean>
closeUploadSession(valetToken: string, ownershipType: FileOwnershipType): Promise<boolean>
closeUploadSession(valetToken: string, ownershipType: FileOwnershipType): Promise<boolean | ClientDisplayableError>
downloadFile(params: DownloadFileParams): Promise<ClientDisplayableError | undefined>
+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.58.230](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-08)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.229](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-06)
### Bug Fixes
* fix extra bottom space when scrolling down note in android ([#2965](https://github.com/standardnotes/app/issues/2965)) ([9c73714](https://github.com/standardnotes/app/commit/9c737141f9e82ed0d50c97eb4b4f4427e30f6dda))
## [3.58.228](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.227](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-05)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.226](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-21)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.225](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-18)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.224](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-07)
**Note:** Version bump only for package @standardnotes/mobile
@@ -852,7 +852,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.standardnotes.standardnotes.Share-To-SN";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match AppStore com.standardnotes.standardnotes.Share-To-SN";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.standardnotes.standardnotes.Share-To-SN 1727276153";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.standardnotes.standardnotes.Share-To-SN";
SKIP_INSTALL = YES;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_EMIT_LOC_STRINGS = YES;
@@ -924,7 +924,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.standardnotes.standardnotes;
PRODUCT_NAME = StandardNotes;
PROVISIONING_PROFILE_SPECIFIER = "match AppStore com.standardnotes.standardnotes";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.standardnotes.standardnotes 1727276140";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.standardnotes.standardnotes";
SWIFT_OBJC_BRIDGING_HEADER = "StandardNotes-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/mobile",
"version": "3.58.224",
"version": "3.58.230",
"author": "Standard Notes.",
"private": true,
"license": "AGPL-3.0",
+37 -20
View File
@@ -47,6 +47,9 @@ const MobileWebAppContents = ({ destroyAndReload }: { destroyAndReload: () => vo
const insets = useSafeAreaInsets()
const screenHeight = Dimensions.get('screen').height
const [webViewContainerHeight, setWebViewContainerHeight] = useState(screenHeight)
useEffect(() => {
const removeStateServiceListener = stateService.addEventObserver((event: ReactNativeToWebEvent) => {
webViewRef.current?.postMessage(JSON.stringify({ reactNativeEvent: event, messageType: 'event' }))
@@ -98,27 +101,33 @@ const MobileWebAppContents = ({ destroyAndReload }: { destroyAndReload: () => vo
const keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', (e) => {
// iOS handles this using the `willChangeFrame` event instead
if (Platform.OS === 'android' && insets.bottom > 0) {
fireKeyboardSizeChangeEvent(e)
webViewRef.current?.postMessage(
JSON.stringify({
reactNativeEvent: ReactNativeToWebEvent.KeyboardDidShow,
messageType: 'event',
}),
)
if (Platform.OS === 'android') {
setWebViewContainerHeight(e.endCoordinates.screenY)
if (insets.bottom > 0) {
fireKeyboardSizeChangeEvent(e)
webViewRef.current?.postMessage(
JSON.stringify({
reactNativeEvent: ReactNativeToWebEvent.KeyboardDidShow,
messageType: 'event',
}),
)
}
}
device.reloadStatusBarStyle(false)
})
const keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', () => {
// iOS handles this using the `willChangeFrame` event instead
if (Platform.OS === 'android' && insets.bottom > 0) {
webViewRef.current?.postMessage(
JSON.stringify({
reactNativeEvent: ReactNativeToWebEvent.KeyboardDidHide,
messageType: 'event',
}),
)
if (Platform.OS === 'android') {
setWebViewContainerHeight(screenHeight)
if (insets.bottom > 0) {
webViewRef.current?.postMessage(
JSON.stringify({
reactNativeEvent: ReactNativeToWebEvent.KeyboardDidHide,
messageType: 'event',
}),
)
}
}
device.reloadStatusBarStyle(false)
})
@@ -137,7 +146,7 @@ const MobileWebAppContents = ({ destroyAndReload }: { destroyAndReload: () => vo
keyboardDidHideListener.remove()
keyboardWillChangeFrame.remove()
}
}, [webViewRef, stateService, device, androidBackHandlerService, colorSchemeService, insets.bottom])
}, [webViewRef, stateService, device, androidBackHandlerService, colorSchemeService, insets.bottom, screenHeight])
useEffect(() => {
return notifee.onForegroundEvent(({ type, detail }) => {
@@ -417,10 +426,18 @@ const MobileWebAppContents = ({ destroyAndReload }: { destroyAndReload: () => vo
return (
<View
style={{
flex: 1,
backgroundColor: '#000000',
}}
style={
Platform.OS === 'android'
? {
height: webViewContainerHeight,
backgroundColor: '#000000',
overflow: 'hidden',
}
: {
flex: 1,
backgroundColor: '#000000',
}
}
>
<WebView
ref={webViewRef}
+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.870](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-08)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.869](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-06)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.868](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.867](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-05)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.866](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-21)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.865](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-18)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.864](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-07)
**Note:** Version bump only for package @standardnotes/releases
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/releases",
"version": "1.4.864",
"version": "1.4.870",
"license": "AGPL-3.0",
"main": "dist/releases.json",
"types": "dist/index.d.ts",
+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.72.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
### Bug Fixes
* Shows informative error on UI when file upload limit is reached ([#2961](https://github.com/standardnotes/app/issues/2961)) ([844b7a7](https://github.com/standardnotes/app/commit/844b7a7a2b26bd4e74c2d8d36ddfa9e28b47f589))
## [1.72.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-06)
### Bug Fixes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/services",
"version": "1.72.1",
"version": "1.72.2",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -227,7 +227,11 @@ export class FileService extends AbstractService implements FilesClientInterface
vault && vault.isSharedVaultListing() ? 'shared-vault' : 'user',
)
if (isErrorResponse(uploadSessionStarted) || !uploadSessionStarted.data.uploadId) {
if (isErrorResponse(uploadSessionStarted)) {
return ClientDisplayableError.FromNetworkError(uploadSessionStarted)
}
if (!uploadSessionStarted.data.uploadId) {
return new ClientDisplayableError('Could not start upload session')
}
@@ -259,6 +263,10 @@ export class FileService extends AbstractService implements FilesClientInterface
operation.vault && operation.vault.isSharedVaultListing() ? 'shared-vault' : 'user',
)
if (uploadSessionClosed instanceof ClientDisplayableError) {
return uploadSessionClosed
}
if (!uploadSessionClosed) {
return new ClientDisplayableError('Could not close upload session')
}
+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.
## [2.211.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
### Bug Fixes
* Shows informative error on UI when file upload limit is reached ([#2961](https://github.com/standardnotes/app/issues/2961)) ([844b7a7](https://github.com/standardnotes/app/commit/844b7a7a2b26bd4e74c2d8d36ddfa9e28b47f589))
## [2.211.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-06)
### Bug Fixes
+5 -2
View File
@@ -821,7 +821,10 @@ export class LegacyApiService
return response.data.success
}
public async closeUploadSession(valetToken: string, ownershipType: FileOwnershipType): Promise<boolean> {
public async closeUploadSession(
valetToken: string,
ownershipType: FileOwnershipType,
): Promise<boolean | ClientDisplayableError> {
const url = joinPaths(
this.getFilesHost(),
ownershipType === 'user' ? Paths.v1.closeUploadSession : Paths.v1.closeSharedVaultUploadSession,
@@ -835,7 +838,7 @@ export class LegacyApiService
})
if (isErrorResponse(response)) {
return false
return ClientDisplayableError.FromNetworkError(response)
}
return response.data.success
+17 -1
View File
@@ -807,6 +807,12 @@ export class SyncService
throw Error('Attempting to default mode sync without having completed initial.')
}
const isReadOnlySession = this.sessionManager.isCurrentSessionReadOnly()
if (isReadOnlySession) {
this.logger.debug('Skipping upload payloads because session is read-only.')
return { uploadPayloads: [], syncMode: useMode }
}
const uploadPayloads: ServerSyncPushContextualPayload[] =
useMode === SyncMode.Default ? await this.payloadsByPreparingForServer(payloads) : []
@@ -901,6 +907,7 @@ export class SyncService
const { shouldExecuteSync, releaseLock } = this.configureSyncLock(options)
const { items, beginDate, frozenDirtyIndex, neverSyncedDeleted } = await this.prepareForSync(options)
const shouldSkipUploadsForReadOnlySession = this.sessionManager.isCurrentSessionReadOnly() === true
if (options.mode === SyncMode.LocalOnly) {
this.logger.debug('Syncing local only, skipping remote sync request')
@@ -918,7 +925,16 @@ export class SyncService
return
}
const latestItems = await this.prepareForSyncExecution(items, inTimeResolveQueue, beginDate, frozenDirtyIndex)
const latestItems = await this.prepareForSyncExecution(
shouldSkipUploadsForReadOnlySession ? [] : items,
inTimeResolveQueue,
beginDate,
frozenDirtyIndex,
)
if (shouldSkipUploadsForReadOnlySession && items.length > 0) {
this.logger.debug('Read-only session detected, skipping upload of dirty items.')
}
const online = this.sessionManager.online()
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/snjs",
"version": "2.211.1",
"version": "2.211.2",
"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.39.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
**Note:** Version bump only for package @standardnotes/ui-services
## [1.39.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-06)
**Note:** Version bump only for package @standardnotes/ui-services
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/ui-services",
"version": "1.39.1",
"version": "1.39.2",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+31
View File
@@ -3,6 +3,37 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.201.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-08)
### Bug Fixes
* Fixes Cancel button not working on Super export modal ([#2968](https://github.com/standardnotes/app/issues/2968)) [skip e2e] ([0a5cd13](https://github.com/standardnotes/app/commit/0a5cd13a96135a3365a7ed33a484edd4eb3b6105))
* Fixes wrong header for session note history when offline ([#2967](https://github.com/standardnotes/app/issues/2967)) ([308b98d](https://github.com/standardnotes/app/commit/308b98db3d3308e5254f17efdeb5cdd385781e22))
## [3.201.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-06)
### Bug Fixes
* Fixes bottom note being hidden behind nav bar on Android ([#2966](https://github.com/standardnotes/app/issues/2966)) ([895353c](https://github.com/standardnotes/app/commit/895353ca7b2c039df26a59224f146c7f04d77f1a))
## [3.201.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)
### Bug Fixes
* Shows informative error on UI when file upload limit is reached ([#2961](https://github.com/standardnotes/app/issues/2961)) ([844b7a7](https://github.com/standardnotes/app/commit/844b7a7a2b26bd4e74c2d8d36ddfa9e28b47f589))
## [3.201.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-05)
### Bug Fixes
* Fix confirmation dialog title for permanently deleting files ([#2960](https://github.com/standardnotes/app/issues/2960)) ([26735b5](https://github.com/standardnotes/app/commit/26735b5e7a5ca0362b5ba185e67121382c936c88))
## [3.201.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-21)
### Bug Fixes
* Use regular debouncing for tab indentations ([#2959](https://github.com/standardnotes/app/issues/2959)) [skip e2e] ([3190a27](https://github.com/standardnotes/app/commit/3190a278314fe788f9136528971c0a9cd0dffbf4))
## [3.201.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-07)
**Note:** Version bump only for package @standardnotes/web
+72
View File
@@ -1,5 +1,77 @@
{
"versions": [
{
"version": "3.201.7",
"title": "[3.201.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-08)",
"date": null,
"body": "### Bug Fixes\n\n* Fixes Cancel button not working on Super export modal ([#2968](https://github.com/standardnotes/app/issues/2968)) [skip e2e] ([0a5cd13](https://github.com/standardnotes/app/commit/0a5cd13a96135a3365a7ed33a484edd4eb3b6105))\n* Fixes wrong header for session note history when offline ([#2967](https://github.com/standardnotes/app/issues/2967)) ([308b98d](https://github.com/standardnotes/app/commit/308b98db3d3308e5254f17efdeb5cdd385781e22))",
"parsed": {
"_": [
"Fixes Cancel button not working on Super export modal (#2968) skip e2e] ([0a5cd13)",
"Fixes wrong header for session note history when offline (#2967) (308b98d)"
],
"Bug Fixes": [
"Fixes Cancel button not working on Super export modal (#2968) skip e2e] ([0a5cd13)",
"Fixes wrong header for session note history when offline (#2967) (308b98d)"
]
}
},
{
"version": "3.201.6",
"title": "[3.201.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2026-01-06)",
"date": null,
"body": "### Bug Fixes\n\n* Fixes bottom note being hidden behind nav bar on Android ([#2966](https://github.com/standardnotes/app/issues/2966)) ([895353c](https://github.com/standardnotes/app/commit/895353ca7b2c039df26a59224f146c7f04d77f1a))",
"parsed": {
"_": [
"Fixes bottom note being hidden behind nav bar on Android (#2966) (895353c)"
],
"Bug Fixes": [
"Fixes bottom note being hidden behind nav bar on Android (#2966) (895353c)"
]
}
},
{
"version": "3.201.5",
"title": "[3.201.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-18)",
"date": null,
"body": "### Bug Fixes\n\n* Shows informative error on UI when file upload limit is reached ([#2961](https://github.com/standardnotes/app/issues/2961)) ([844b7a7](https://github.com/standardnotes/app/commit/844b7a7a2b26bd4e74c2d8d36ddfa9e28b47f589))",
"parsed": {
"_": [
"Shows informative error on UI when file upload limit is reached (#2961) (844b7a7)"
],
"Bug Fixes": [
"Shows informative error on UI when file upload limit is reached (#2961) (844b7a7)"
]
}
},
{
"version": "3.201.4",
"title": "[3.201.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-12-05)",
"date": null,
"body": "### Bug Fixes\n\n* Fix confirmation dialog title for permanently deleting files ([#2960](https://github.com/standardnotes/app/issues/2960)) ([26735b5](https://github.com/standardnotes/app/commit/26735b5e7a5ca0362b5ba185e67121382c936c88))",
"parsed": {
"_": [
"Fix confirmation dialog title for permanently deleting files (#2960) (26735b5)"
],
"Bug Fixes": [
"Fix confirmation dialog title for permanently deleting files (#2960) (26735b5)"
]
}
},
{
"version": "3.201.3",
"title": "[3.201.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-21)",
"date": null,
"body": "### Bug Fixes\n\n* Use regular debouncing for tab indentations ([#2959](https://github.com/standardnotes/app/issues/2959)) [skip e2e] ([3190a27](https://github.com/standardnotes/app/commit/3190a278314fe788f9136528971c0a9cd0dffbf4))",
"parsed": {
"_": [
"Use regular debouncing for tab indentations (#2959) skip e2e] ([3190a27)"
],
"Bug Fixes": [
"Use regular debouncing for tab indentations (#2959) skip e2e] ([3190a27)"
]
}
},
{
"version": "3.201.2",
"title": "[3.201.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2025-11-07)",
+2 -2
View File
@@ -1,9 +1,9 @@
{
"name": "@standardnotes/web",
"version": "3.201.2",
"version": "3.201.7",
"license": "AGPL-3.0",
"main": "dist/app.js",
"author": "Standard Notes",
"author": "Standard Notes.",
"private": true,
"files": [
"dist"
@@ -9,6 +9,7 @@ import { ElementIds } from '@/Constants/ElementIDs'
import { classNames } from '@standardnotes/utils'
import { SNTag } from '@standardnotes/snjs'
import { ItemListController } from '@/Controllers/ItemList/ItemListController'
import { useMediaQuery, MutuallyExclusiveMediaQueryBreakpoints } from '@/Hooks/useMediaQuery'
type Props = {
application: WebApplication
@@ -25,6 +26,8 @@ const ContentList: FunctionComponent<Props> = ({ application, items, selectedUui
const { sortBy } = itemListController.displayOptions
const selectedTag = navigationController.selected
const isMobileScreen = useMediaQuery(MutuallyExclusiveMediaQueryBreakpoints.sm)
const onScroll: UIEventHandler = useCallback(
(e) => {
const offset = NOTES_LIST_SCROLL_THRESHOLD
@@ -83,7 +86,8 @@ const ContentList: FunctionComponent<Props> = ({ application, items, selectedUui
className={classNames(
'infinite-scroll overflow-y-auto overflow-x-hidden focus:shadow-none focus:outline-none',
'md:max-h-full pointer-coarse:md:overflow-y-auto',
'flex-grow pb-2',
'flex-grow',
isMobileScreen ? !itemListController.isMultipleSelectionMode && 'pb-safe-bottom' : 'pb-2',
)}
id={ElementIds.ContentList}
onScroll={onScroll}
@@ -253,11 +253,16 @@ export const PlainEditor = forwardRef<PlainEditorInterface, Props>(
setEditorText(editor.value)
void controller.saveAndAwaitLocalPropagation({
text: editor.value,
bypassDebouncer: true,
isUserModified: true,
})
setIsPendingLocalPropagation(true)
void controller
.saveAndAwaitLocalPropagation({
text: editor.value,
isUserModified: true,
})
.then(() => {
setIsPendingLocalPropagation(false)
})
},
})
@@ -39,12 +39,12 @@ const ModalContent = observer(() => {
<Modal
title="Export notes"
className="p-4"
close={close}
close={notesController.closeSuperExportModal}
actions={[
{
label: 'Cancel',
type: 'cancel',
onClick: close,
onClick: notesController.closeSuperExportModal,
mobileSlot: 'left',
},
{
@@ -26,9 +26,24 @@ export const formatDateAsMonthYearString = (date: Date) => {
})
}
const getRevisionEntryDate = (entry: RevisionEntry): Date => {
const createdAt = (entry as RevisionMetadata).created_at
if (createdAt) {
return new Date(createdAt)
}
const noteEntry = entry as NoteHistoryEntry
if (noteEntry.payload.updated_at.getTime() > 0) {
return noteEntry.payload.updated_at
}
return noteEntry.payload.created_at
}
export const getGroupIndexForEntry = (entry: RevisionEntry, groups: ListGroup<RevisionEntry>[]) => {
const todayAsDate = new Date()
const entryDate = new Date((entry as RevisionMetadata).created_at ?? (entry as NoteHistoryEntry).payload.updated_at)
const entryDate = getRevisionEntryDate(entry)
const differenceBetweenDatesInDays = calculateDifferenceBetweenDatesInDays(todayAsDate, entryDate)
@@ -80,9 +95,7 @@ export const sortRevisionListIntoGroups = <EntryType extends RevisionEntry>(revi
sortedGroups[groupIndex]?.entries?.push(entry)
} else {
addBeforeLastGroup({
title: formatDateAsMonthYearString(
new Date((entry as RevisionMetadata).created_at ?? (entry as NoteHistoryEntry).payload.updated_at),
),
title: formatDateAsMonthYearString(getRevisionEntryDate(entry)),
entries: [entry],
})
}
@@ -524,9 +524,9 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
if (operation instanceof ClientDisplayableError) {
addToast({
type: ToastType.Error,
message: 'Unable to start upload session',
message: operation.text,
})
throw new Error('Unable to start upload session')
return undefined
}
const initialProgress = operation.getProgress().percentComplete
@@ -595,7 +595,7 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
type: ToastType.Error,
message: uploadedFile.text,
})
throw new Error(uploadedFile.text)
return undefined
}
if (onUploadFinish) {
@@ -691,7 +691,7 @@ export class FilesController extends AbstractViewController<FilesControllerEvent
}
deleteFilesPermanently = async (files: FileItem[]) => {
const title = Strings.trashItemsTitle
const title = Strings.deleteItemsPermanentlyTitle
const text = files.length === 1 ? StringUtils.deleteFile(files[0].name) : Strings.deleteMultipleFiles
if (
+2
View File
@@ -7910,6 +7910,8 @@ __metadata:
"@electron/remote": ^2.1.2
"@standardnotes/domain-core": ^1.40.0
"@standardnotes/electron-clear-data": 1.1.1
"@standardnotes/snjs": "workspace:*"
"@standardnotes/utils": "workspace:*"
"@standardnotes/web": "workspace:*"
"@types/fs-extra": ^11.0.1
"@types/lodash": ^4.14.189