Release/1.6.2 - #108
Merged
Merged
Release/1.6.2#108
Conversation
Hold native file output and interactive preview out of v1.6.2 by reverting the feature merge, and bump to 1.6.2 (build 14). Keeps main's work since 1.6.1 (rich pasteboard flavors, Define in Dictionary, inline-result polish, Actions list rework, hold-to-trigger and keyboard-selection fixes) while removing the file-output surface and its tests/docs.
Add an UpdateChannel setting surfaced in Settings › About that switches Sparkle's feed to a rolling `beta` pre-release and allows the `beta` channel, re-arming the update cycle on change. Extend the release pipeline to detect pre-release tags, generate a beta appcast, and mirror artifacts to the rolling beta release, and add Support links to About.
Give the shared popup card chrome a lit top rim, a gradient hairline for the classic theme, and a contact+ambient shadow pair instead of one soft blur. The result card's diff/pin controls now rest hidden and fade in on hover, staying visible while diff or pin is active; back and close remain persistent.
The card/palette ambient shadow (radius 18, y 10) spread ~28pt down and ~26pt to the sides, but the panel reserved only a 16pt transparent ring, so the window frame hard-clipped it on every side (a straight seam, worst along the bottom). Soften the ambient shadow (radius 12, y 4) and derive popupShadowInset from the shadow geometry with a measured blur-tail factor (y + 2 * radius = 28pt) so the ring can never drift out of sync again. Update the positioner/resize tests that assumed the old inset.
The secondary-click signal was read from live `pendingClickIntent` state at perform time, so it could leak across runs and disagree with the delivery snapshot: - The right-click that opened a group's scoped palette was inherited by a later keyboard run (Return, a ⌘-digit, the Run badge), which then delivered as a secondary click. - The palette's own secondary signal, `replace` (⇧⏎ and the ⇧⏎ footer badge), never reaches the mouse monitor, so a keyboard secondary run of a `.paste` primary pasted instead of copying. Resolve the intent once, synchronously, and thread it explicitly through `onWillPerformAction`/`onRunLoadingAction` into both the perform context and the delivery snapshot, so the two always agree. `enterSearch` resets `pendingClickIntent` so the opening right-click of a scoped palette cannot bleed into a later run. Adds a regression test for the explicit-intent snapshot and updates the popup docs and debt notes.
`TextField(option.label, text:)` / `SecureField(...)` reuse the label as the field title, which on the rounded-border macOS style leaves the field without a placeholder when the value is empty. Pass the label as the prompt and hide the label instead so the editor shows which option the empty field belongs to.
Consume the published OpenSelection 0.2.1 tag and update the PowerPoint assertion to the new script, which reads `selection of active window` instead of the app-level `selection` that throws -1728. Also gitignore the local `openselection/` checkout used while developing the package so it cannot be committed as a nested repository.
Extend the inbound URL scheme beyond extension installs with a read/write settings surface other apps can drive, built on the existing settings snapshot machinery rather than a bespoke contract. Routes (`Sources/Core/Integration/OpenClipDeepLink.swift`): - `openclip://settings` — read the curated settings, replied via callback - `openclip://set?<key>=<value>` — write, replying with applied/skipped - `openclip://command/<name>` — open-settings, pause, resume, reset-appearance - `openclip://install` is unchanged The surface is gated: off by default behind Preferences → Integrations, with a first-use approval prompt that disables the scheme when declined. Only power, appearance, and an AI on/off switch are exposed; secrets, the extension store, update channel, and hotkeys are not reachable. `SettingsBridge` reads/writes the erased catalog keys (unwrapping the box format and normalizing bare tokens vs JSON fragments); `DeepLinkRouter` owns the trust gate, dispatch, side effects, the extension-install flow, and a distributed change broadcast so a client can refresh without polling. Adds parser and bridge tests (`DeepLinkTests`, `IntegrationSettingsBridgeTests`) and documents the contract in `docs/developer-guide/integration-api.md`.
- Open browser-sourced URLs through the browser's own scripting (BrowserTabOpener) so a private/incognito window gets a tab in the window you're in, falling back to LaunchServices and then the default handler. - Fade popup content out at the bottom edge instead of painting a material band. - Draw inset row separators in the Actions list. - Deleting a custom action now takes it out of its groups and clears its alias. - Bump KeyboardShortcuts to 3.1.0 and OpenSelection to 0.2.2 (Name(initial:), selection-window API).
The settings, command, and write routes no longer require the user to enable settings control or approve the first request; they run unconditionally. Removes the enabled/approved setting keys, the consent prompt, the failure-reply path, and the Integrations preferences tab (which existed only to host the toggle). Replaces the Droppy wording in comments, tests, and docs with generic "control panel".
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (67)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
prep for v1.7.0 release