Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ archives are vendored under `vendor/zennotes/` with their source identity and
checksums (`manifest.json`), and `package-lock.json` pins the complete install.
A clean checkout installs them with `npm ci`, without a source clone or sibling
repository. The vendored set is the core release
[core-2.60.1-core.h05ebb55c14afffb2](https://github.com/ZenNotes/zennotes/releases/tag/core-2.60.1-core.h05ebb55c14afffb2)
(desktop commit `4c74b478`, clean tree).
[core-2.60.3-core.h44232ae9fc126112](https://github.com/ZenNotes/zennotes/releases/tag/core-2.60.3-core.h44232ae9fc126112)
(desktop commit `e5e34f84`, clean tree).

`npm run boundaries:check` verifies the pins, installed versions, singleton
React/CodeMirror peers, and public export usage. `npm run core:adopt -- <core-tag>`
Expand Down
24 changes: 12 additions & 12 deletions ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -604,12 +604,12 @@
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_ENTITLEMENTS = ZenWidgets/ZenWidgets.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 32;
DEVELOPMENT_TEAM = WYY7PK57DM;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = ZenWidgets/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 1.16.0;
MARKETING_VERSION = 1.17.0;
PRODUCT_BUNDLE_IDENTIFIER = md.zennotes.ZenWidgets;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
Expand Down Expand Up @@ -733,12 +733,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 32;
DEVELOPMENT_TEAM = WYY7PK57DM;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 1.16.0;
MARKETING_VERSION = 1.17.0;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = md.zennotes;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -755,12 +755,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 32;
DEVELOPMENT_TEAM = WYY7PK57DM;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 1.16.0;
MARKETING_VERSION = 1.17.0;
PRODUCT_BUNDLE_IDENTIFIER = md.zennotes;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
Expand All @@ -775,12 +775,12 @@
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 32;
DEVELOPMENT_TEAM = WYY7PK57DM;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = ShareExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 1.16.0;
MARKETING_VERSION = 1.17.0;
PRODUCT_BUNDLE_IDENTIFIER = md.zennotes.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
Expand All @@ -797,12 +797,12 @@
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_ENTITLEMENTS = ZenWidgets/ZenWidgets.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 32;
DEVELOPMENT_TEAM = WYY7PK57DM;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = ZenWidgets/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 1.16.0;
MARKETING_VERSION = 1.17.0;
PRODUCT_BUNDLE_IDENTIFIER = md.zennotes.ZenWidgets;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
Expand Down Expand Up @@ -835,12 +835,12 @@
CLANG_ENABLE_OBJC_WEAK = NO;
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 31;
CURRENT_PROJECT_VERSION = 32;
DEVELOPMENT_TEAM = WYY7PK57DM;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = ShareExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MARKETING_VERSION = 1.16.0;
MARKETING_VERSION = 1.17.0;
PRODUCT_BUNDLE_IDENTIFIER = md.zennotes.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
Expand Down
19 changes: 17 additions & 2 deletions ios/App/AppUITests/MoveDirectoryUITests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -241,11 +241,26 @@ final class MoveDirectoryUITests: XCTestCase {
let deadline = Date().addingTimeInterval(timeout)
repeat {
let matches = app.descendants(matching: type).matching(predicate)
for index in 0..<matches.count where matches.element(boundBy: index).isHittable {
return matches.element(boundBy: index)
for index in 0..<matches.count {
let candidate = matches.element(boundBy: index)
if !isUnderKeyboard(candidate, in: app) && candidate.isHittable {
return candidate
}
}
RunLoop.current.run(until: Date().addingTimeInterval(0.3))
} while Date() < deadline
return nil
}

/// A prompt's sheet rises above the software keyboard a moment after the
/// keyboard does. Until then its footer sits under the keyboard, where
/// XCUITest cannot compute a hit point and fails the test ("Activation
/// point invalid") instead of answering false. Typing right after a tap on
/// a tap-first field lands in that moment, so such a control counts as not
/// tappable yet and the poll waits for the sheet to settle.
private func isUnderKeyboard(_ element: XCUIElement, in app: XCUIApplication) -> Bool {
let keyboard = app.keyboards.firstMatch
guard keyboard.exists else { return false }
return element.frame.maxY > keyboard.frame.minY
}
}
50 changes: 25 additions & 25 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@
"vscode-oniguruma": "^2.0.1",
"vscode-textmate": "^9.3.2",
"zustand": "^5.0.15",
"@zennotes/app-core": "file:vendor/zennotes/zennotes-app-core-2.60.1-core.h05ebb55c14afffb2.tgz",
"@zennotes/shared-domain": "file:vendor/zennotes/zennotes-shared-domain-2.60.1-boundaries.ha881a2f8575a38bf.tgz",
"@zennotes/bridge-contract": "file:vendor/zennotes/zennotes-bridge-contract-2.60.1-boundaries.ha881a2f8575a38bf.tgz",
"@zennotes/app-core": "file:vendor/zennotes/zennotes-app-core-2.60.3-core.h44232ae9fc126112.tgz",
"@zennotes/shared-domain": "file:vendor/zennotes/zennotes-shared-domain-2.60.3-boundaries.he9b8fc8befc70b6e.tgz",
"@zennotes/bridge-contract": "file:vendor/zennotes/zennotes-bridge-contract-2.60.3-boundaries.he9b8fc8befc70b6e.tgz",
"@lezer/common": "^1.5.3"
},
"devDependencies": {
Expand Down
32 changes: 16 additions & 16 deletions vendor/zennotes/manifest.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "@zennotes/app-core",
"version": "2.60.1-core.h05ebb55c14afffb2",
"file": "zennotes-app-core-2.60.1-core.h05ebb55c14afffb2.tgz",
"sha256": "2a1781c1121f37cf494b5f34d67ea8dce25b5bdfe6dee0d7a9837ceaec8cfd75",
"integrity": "sha512-pTn7+3VmHG1le5pzBruIAzlHg4Nc+CRucL/u4FLbktdPDeIQ/PWECeS+fkia7JM5w6UVhqFxY5ZP24gj77vfFg==",
"sourceCommit": "4c74b478148a68adc8d77cc5c0d54a46ab469342",
"version": "2.60.3-core.h44232ae9fc126112",
"file": "zennotes-app-core-2.60.3-core.h44232ae9fc126112.tgz",
"sha256": "d2150448992be71b60df5b63b8f56b6df8e6f4cb24aed68327c20274f45ead4f",
"integrity": "sha512-7F/EEgj8AOF0Mx6rupO2h6jc35jbei5Hq2fI6SX1lOQkM32dPeNCz3M3Izm873h8kUHHOD4ubMF/x6fPWgiqDw==",
"sourceCommit": "e5e34f84d4a7b3eaaa4ac319f9bfb2a5a0cb6656",
"workingTreeDirty": false,
"sourceLockSha256": "503c4639d5dbcb1a909ad122882c66aea751747f1a2a8fbcb8bdf8077eb8d871",
"sourceLockSha256": "4f380efe2f52708bb3062b25751fb5a5207427865e88ae2e494b4f9a54c9c615",
"toolchain": {
"node": "v22.23.3",
"typescript": "5.9.3",
Expand All @@ -15,20 +15,20 @@
"dependencies": [
{
"name": "@zennotes/bridge-contract",
"version": "2.60.1-boundaries.ha881a2f8575a38bf",
"file": "zennotes-bridge-contract-2.60.1-boundaries.ha881a2f8575a38bf.tgz",
"sha256": "79f327d998e999bbeaaa12f25272be3f4c2276fc36e4a1470d252586b6e40e3f",
"integrity": "sha512-/BjWqbzR4+S8Bg8gOwT6OZO8Ikr8qO8zNmVVscjr45vIWasAykfaLS9H6IuFfIE48/wbAXb3W8J6aTHNEdk0xA==",
"sourceCommit": "4c74b478148a68adc8d77cc5c0d54a46ab469342",
"version": "2.60.3-boundaries.he9b8fc8befc70b6e",
"file": "zennotes-bridge-contract-2.60.3-boundaries.he9b8fc8befc70b6e.tgz",
"sha256": "b5cab06655bcf3f2a85b57131fc6e2bdb4e312ca6d7c4b6b8f9edf4093b0055c",
"integrity": "sha512-XfD+CutriaT/o/Zp3ftuLH9MYZbbjI57gxGuL7s9ncXp28If/8SKFIuB3+0Cqzf6UxPxazPc/Mi2lmg6qU3sMQ==",
"sourceCommit": "e5e34f84d4a7b3eaaa4ac319f9bfb2a5a0cb6656",
"workingTreeDirty": false
},
{
"name": "@zennotes/shared-domain",
"version": "2.60.1-boundaries.ha881a2f8575a38bf",
"file": "zennotes-shared-domain-2.60.1-boundaries.ha881a2f8575a38bf.tgz",
"sha256": "4e97e45e1f319091c85ead57ebaf4b0e64928d4d2d6d814af00cae2ca13535a2",
"integrity": "sha512-5Sb02aV5yUy3MkqR9rkrx7eHQTRmurivhMVpeVa4kU0S07dm08N6kpstB8uIeKVlxhDvLILQHhBw606N3wx+aA==",
"sourceCommit": "4c74b478148a68adc8d77cc5c0d54a46ab469342",
"version": "2.60.3-boundaries.he9b8fc8befc70b6e",
"file": "zennotes-shared-domain-2.60.3-boundaries.he9b8fc8befc70b6e.tgz",
"sha256": "3dd1430c5bfe384ea77fd03475e829acb5131658f730c63bb81a909146e6173b",
"integrity": "sha512-vLG6OYNc3bxfaGZAp5VxkliaHKFFEBGgYTUMi89lEOSFQjpyn9dit/vIZR4I1SUDT52eRAwKAIPeEvDgfKv16g==",
"sourceCommit": "e5e34f84d4a7b3eaaa4ac319f9bfb2a5a0cb6656",
"workingTreeDirty": false
}
]
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading