authorclover caruso <git@paperclover.net> 2026-10-11 15:30:08-07:00
committerclover caruso <git@paperclover.net> 2026-10-11 16:44:36-07:00
log203a89351e23dd8e2a4cb1ce39977db479cb0b03
tree7db546a04ac44abf2daa8e34becb08662ddfaad8
parentd3eb3c31df31f73890cbbca83e695d85e916e0f3
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover)

fix(ios): keep list menus clear of the software keyboard

Keep each list responder’s input view stable and empty so UIKit menu restoration preserves list Undo ownership without requesting a text keyboard. Controlled native probes showed resignation prevents the obstruction while detaching search does not. Refs: #125, #126 Assisted-by: gpt-6.1-sol

1 files changed, 6 insertions(+), 0 deletions(-)

apps/ios/Snowbound/Lists.swift+6
...@@ -4,6 +4,9 @@ import UniformTypeIdentifiers...@@ -4,6 +4,9 @@ import UniformTypeIdentifiers
4/// The places notebooks are kept, each listing its notebooks with their sections, as Files4/// The places notebooks are kept, each listing its notebooks with their sections, as Files
5/// lists its locations and Notes each account's folders.5/// lists its locations and Notes each account's folders.
6final class NotebooksViewController: UICollectionViewController, UIDocumentPickerDelegate {6final class NotebooksViewController: UICollectionViewController, UIDocumentPickerDelegate {
7 private let listInputView = UIView(frame: .zero)
8 override var inputView: UIView? { listInputView }
9
7 enum Location: Hashable {10 enum Location: Hashable {
8 /// Snowbound's folder in iCloud Drive, where new notebooks go while iCloud Drive is on.11 /// Snowbound's folder in iCloud Drive, where new notebooks go while iCloud Drive is on.
9 case icloud12 case icloud
...@@ -978,6 +981,9 @@ extension UIFont {...@@ -978,6 +981,9 @@ extension UIFont {
978981
979/// A section's pages, subpages indented, each page's conflict pages beneath it.982/// A section's pages, subpages indented, each page's conflict pages beneath it.
980final class PagesViewController: UITableViewController {983final class PagesViewController: UITableViewController {
984 private let listInputView = UIView(frame: .zero)
985 override var inputView: UIView? { listInputView }
986
981 struct Item {987 struct Item {
982 let row: Row988 let row: Row
983 let version: Row.Version?989 let version: Row.Version?