Repository navigation
Improve workspace responsiveness and prepare 1.14.0 - #8
Merged
Merged
Conversation
- Adopt foreground work windows across activation routes and recover invalid AppKit process IDs from verified WindowServer ownership. - Move window queries and mirror image processing off-main with stale-result guards. - Route floating-mirror handover through shared focus and stabilize shared-window cycling. - Harden capture lifetimes, retain session logs, and document responsiveness principles. Tests: All 657 macOS Debug tests passed via XcodeBuildMCP; changed-file secret scan passed.
Keep mirror handover tied to verified source visibility and the current capture request. Route keyboard focus through the existing click and focus-follows-mouse policies. Avoid main-thread waits during AX focus invalidation and run-loop startup, and preserve dependencies across blocking worker boundaries. Verified with 663 passing macOS tests.
Serialize configuration reads, watches, automatic saves, and durable GUI/CLI transactions without holding UI-facing locks across I/O. Preserve edit order, external-writer rollback, session state, and failed-write handling at quit. Move app metadata, icons, resources, and persistence actors to blocking workers. Retain overlay background ownership across control recreation, verify mirror presentation before focus, and replace the FFM timing throttle with latest-input coalescing. Record concise contributor principles and measured audit results. Validation: 680 tests passed; SwiftFormat, catalog checks, diff checks, and changed-file secret scan passed. Verified live workspace ordering and normal quit/relaunch; document trace evidence and unverified interaction boundaries.
Retain one English localization guide and explicitly list public documents for translation. Remove localized agent-guide copies, their exclusive catalog entries, and the obsolete reference-matrix translation path. Remove audit and concurrency reports from the tracked tree. Validation: 23 Tools tests passed and all 60 generated documents matched.
Use one worker-backed Markdown reader for CLI help, legal notices, and the changelog. Bundle existing locale documents, hide repository navigation and metadata, and handle document links, anchors, and Back inside Tatami. Preserve verbatim legal originals and soft-wrap them for reading. Translate release history into the four additional locales and generate localized Sparkle descriptions with explicit language tags. Validate translated release content before packaging and include changelog edits in documentation CI. Validation: 687 app tests and 23 Tools tests passed; 65 generated documents matched. Verified all 20 document screens across five app languages, plus internal navigation, Back, anchors, code blocks, tables, and original notices.
- Relay original HID packets after native focus, window exposure, and capture shutdown, preserving the first click and complete drag gesture. - Resolve input targets through WindowServer and keep gesture ownership across asynchronous preparation, replay, cancellation, and cursor exit. - Prevent proxy window dragging and capture-control occlusion, and notify mirrors after same-app focus changes without forcing hover focus. - Add input handover regressions, localized errors, and shared UX guidance. Tests: macOS suite (703 passed), Debug build, SwiftFormat, staged gitleaks. Manual: User verified a Notes titlebar drag beginning on its mirror.
Keep icons, names, and runtime status vertically centered for one-line rows while preserving the two-line chain layout. Validation: macOS Debug arm64 build and native UI checks for Default and Dual profiles.
Reject layout mutations after failed reads without caching empty data, report malformed autoBalance settings, and update layout error copy across five locales. Correlate native input acknowledgments with posted packets and require input tap readiness before publishing floating mirrors. Validation: 710 macOS tests passed, Debug arm64 build passed, and changed localization keys and placeholders validated. Physical first-click and drag confirmation remains pending.
- Confirm persistent membership, layout, deletion, and replacement actions with 25 independent preferences and action-scoped suppression. - Reuse one HUD for confirmation and completion, preserve related workspace context, and prioritize actionable prompts and errors over routine feedback. - Reject stale confirmations and cancel pending replacement lookups. - Restore sidebar keyboard focus and preserve name-draft ownership while using native sidebar icon styling. - Localize confirmation controls and document configuration and CLI behavior. Tests: 736 tests passed; Debug build and native UI checks passed.
- Share responsive app rows with compact layout menus, automatic wrapping, and secondary removal actions across workspace and Shared Apps screens. - Replace dense confirmation toggles with category summaries and detail sheets that explain each action and its confirmation preference. - Localize the new controls and explanations in all five languages and update the CLI guide's settings path. Validation: Debug build, native wide/narrow layout checks, localization placeholder checks, and generated documentation verification passed.
- Share copyable-change detection between profile and workspace copy flows. - Disable identical workspace sources and label them as having no differences. - Recheck the latest source and destination before opening a review. - Cover ignored metadata and copyable app and workspace changes in tests. Tests: 738 tests passed; Debug build and native copy-menu verification passed.
- Re-record four existing demos in five languages with confirmation flows and verified native input, assignment, layout, and copy states. - Harden native control selection and document VM graphics recovery and transition-level visual review; support explicit CPU OCR execution. - Keep internal Demo Lab guides in English and remove their generated translations, catalog-only units, and obsolete localization branches. Tests: 23 automation tests and 61 Demo Lab tests passed; document, scene, dependency-notice, media, site, and REUSE checks passed.
- Lead the release narrative with workspace and input responsiveness, followed by per-action confirmations and reliable Always on Top input. - Update the authoritative version, five-language changelog, and in-app highlights; document default confirmation behavior for CLI automation. - Preserve complete keychain paths when configuring CI signing. Validation: 738 app tests and 23 automation tests passed; universal app and CLI Release builds, five-language runtime highlights, generated docs, site/appcast content, signing verification, actionlint, and REUSE passed.
Use NSString ranges for regex matches and replacements instead of forcing UTF-16 offsets into Swift Character boundaries. This prevents Linux crashes on variation selectors in changelog headings and preserves existing anchors. Add regression coverage for combining marks, emoji modifiers, optional captures, and zero-width matches. All 25 automation tests and generated document, scene, and site checks pass locally.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Tatami 1.14 improves workspace switching and input responsiveness, keeps the first click or drag connected to real Always on Top windows, and preserves valid layouts when windows are temporarily unavailable.
Compatibility
New per-action confirmations default to enabled, including persistent app membership/layout actions invoked through the CLI. Unattended automation should explicitly configure the relevant confirmation settings. Older app versions do not preserve these options on save; back up the configuration before downgrading.
Validation