Rocky
42e6252f01
Cursor: Apply local changes for cloud agent
2026-08-27 18:01:46 +08:00
Rocky
39002336c0
feat(app): add flow diagnostics and refine interface
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Improve failure recovery visibility, strengthen account-session handling, and make the cross-platform interface more consistent.
2026-08-26 14:40:06 +08:00
Rocky
1ee032bdb9
fix(account): merge durable session refresh
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Preserve refresh idempotency and Apple credential revocation handling alongside the consolidated app updates.
2026-08-25 16:44:51 +08:00
Rocky
309d743fd3
fix(account): harden session refresh recovery
...
Persist refresh operation identity across failures and validate revoked Apple credentials so clients recover without unsafe token rotation.
2026-08-25 16:43:47 +08:00
Rocky
dccafe6f9e
checkpoint before checking out main
2026-08-25 13:42:00 +08:00
Rocky
57844ce615
Fix skill migration test regressions
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Use an explicit remote clipboard card after removing local clipboard hints and assert the complete set of newly migrated default skills.
2026-08-23 20:51:29 +08:00
Rocky
1cbef4dae5
Fix web content test registration
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Register the existing web page content test in the keyboard suite so CI validates the complete on-disk test set.
2026-08-23 20:27:44 +08:00
Rocky
03837b0e48
Refine local AI hint fallbacks
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Keep clipboard actions in Skills and focus offline hints on distinct daily market briefings while preventing retired cached cards from resurfacing.
2026-08-23 20:26:34 +08:00
Rocky
2cc81c4628
feat(keyboard): expand contextual skills and managed flows
...
Add local clipboard intent recommendations, webpage and phone actions, and safer host handoffs. Refine managed gateway, catalog refresh, onboarding, and adaptive polish behavior.
2026-08-23 14:02:33 +08:00
Rocky
7df5bbdaa0
Refine adaptive polish and cross-platform account support
...
Improve learned-style and clipboard skill presentation while keeping shared account clients buildable in the source-composed macOS target.
2026-08-22 17:06:22 +08:00
Rocky
fe8f657c8d
Fix CI tooling and semantic skill recommendations
...
Resolve the pinned XcodeGen archive layout and let the keyboard derive bounded clipboard recommendations from the full catalog independently of installation state.
2026-08-22 16:46:37 +08:00
Rocky
386ba140f7
Refine skill catalog installation flow
...
Move skill installation into dedicated detail pages and keep installed-state rendering compatible with SwiftUI result builders.
2026-08-22 16:41:04 +08:00
Rocky
e5a83843db
Expand onboarding and adaptive keyboard intelligence
...
Add resilient usage analytics, OOBE gateway flows, clipboard semantic ranking, purchase recovery, style learning, and managed current-information search.
2026-08-22 16:33:18 +08:00
Rocky
ac374631ae
fix(analytics): prevent database locks during suspension
2026-08-21 21:13:13 +08:00
Rocky
7bd77509b6
fix(account): load permanent referral profiles
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Use authenticated server invitation URLs with account-scoped caching and bounded state transitions, then advance the iOS build metadata to 86.
2026-08-20 22:59:58 +08:00
Rocky
ca0a1f9b9a
chore(release): bump version to 2.0.0 (build 85)
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
2026-08-20 21:20:48 +08:00
Rocky
1ad22b8697
fix(home): simplify transient Flow status card
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Show only connection state while Flow is preparing or unavailable, and remove the card entirely once the session is healthy.
2026-08-20 20:26:09 +08:00
Rocky
10bc457c72
feat(app): add resilient Flow recovery and privacy-safe analytics
...
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
Unify PiP recovery across startup and foreground transitions, surface actionable status, and add privacy-safe analytics plus the refreshed onboarding and account experience. Update documentation assets and advance the release build to 84.
2026-08-20 20:22:20 +08:00
Rocky
ee7de5c934
fix(site): lighten daytime content panels
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
2026-08-20 15:20:57 +08:00
Rocky
b558ab116f
fix(site): rebuild landing page narrative
2026-08-20 15:15:22 +08:00
Rocky
8fee4d8492
fix(site): refine landing page visual hierarchy
CI / macOS (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / Validate manifests (push) Has been cancelled
2026-08-20 13:47:50 +08:00
Rocky
498f407585
feat(account): add managed credits and cloud gateway
...
Introduce optional Apple account-backed credits with scoped gateway access while preserving local and BYOK paths. Refresh assistant behavior, tests, privacy disclosures, docs, and the website for the 2.0 experience.
2026-08-20 11:43:21 +08:00
Rocky
0f9280bd00
fix(keyboard): stabilize Flow startup under memory pressure
...
Delay competing Rime work, add extension memory telemetry and stress coverage, and refresh the 1.8 release assets and metadata for build 79.
2026-08-18 10:24:02 +08:00
Rocky
aa1059135f
fix(ci): align test manifest with current test classes
2026-08-17 20:14:06 +08:00
Rocky
bb62bbcba1
merge: unify assistant voice and AI workflows
2026-08-16 23:00:06 +08:00
Rocky
94a3ddb053
fix(home): align weekly chart header content
2026-08-16 22:58:31 +08:00
Rocky
805b01a68e
fix(keyboard): synchronize adaptive field actions
...
Enable the correct host action immediately after keyboard edits and advance the shared build number to 75.
2026-08-16 14:22:48 +08:00
Rocky
fb97ec2937
feat(keyboard): unify assistant voice and AI workflows
...
Merge dictation and AI controls into one assistant surface, preserve safe insertion and clipboard actions, and align settings and tests with the new flow.
2026-08-16 12:07:06 +08:00
Rocky
46f6d818b8
docs(release): consolidate 1.8 notes and demos
...
Present the skipped 1.7 work as one user-focused 1.8 update and record the real keyboard UI for AI, clipboard, and skills walkthroughs.
2026-08-15 09:07:24 +08:00
Rocky
13214e6601
fix(asr): restore computer terminology bias
...
Rebuild the bundled language model and runtime source filtering around a dedicated computer-term corpus so technical dictation keeps domain coverage.
2026-08-15 09:07:15 +08:00
Rocky
704ac2428c
fix(keyboard): avoid exclusivity trap during voice cancellation
...
Register cancelled utterances before starting the watchdog so overlapping stored-property access cannot crash the keyboard.
2026-08-15 09:06:14 +08:00
Rocky
ed90b9a6dc
chore(release): bump version to 1.8.0 (build 72)
2026-08-14 23:32:50 +08:00
Rocky
1a76ebe9a7
merge: prepare English keyboard and 1.8 compliance
2026-08-14 23:29:46 +08:00
Rocky
f42a812256
fix(release): prepare 1.8 disclosures and licensed resources
...
Replace the unclear CLM source, align release and privacy disclosures, complete third-party notices, and keep the expanded test suites deterministic for release validation.
2026-08-14 23:28:11 +08:00
Rocky
7364659027
merge: bring pinyin habit ranking into English keyboard branch
...
Keep English QuickType/mmap and Chinese schema hygiene on one branch.
Secure fields skip Rime; English still loads its lexicon only while English is active.
2026-08-14 21:51:38 +08:00
Rocky
4749a9cbf2
feat(keyboard): add English QuickType bar and system lexicon
...
Show verbatim/correction/completion slots, mmap a 40k-word list, and
use UITextChecker plus supplementary lexicon for conservative autocorrect.
2026-08-14 21:49:22 +08:00
Rocky
b13a1e904b
feat(keyboard): rank pinyin by habit and persist user dictionaries
...
Erase dialect syllables before abbrev so wom prefers 我们, flush librime
on leave, and add a settings action to forget learned Chinese and English order.
2026-08-14 21:49:03 +08:00
Rocky
2c3a3f80f3
merge: bring AI agent skills into main
2026-08-14 18:23:32 +08:00
Rocky
320dc777c9
feat(keyboard): add Notes skill and system-style typing
...
Add save-to-Notes export and direct map handoff while aligning multi-touch typing, period shortcuts, return actions, and navigation visuals with system behavior.
2026-08-14 18:22:41 +08:00
Rocky
0a60006d2d
feat(keyboard): add custom skills plus events and navigate Shortcuts
...
Ship user-defined Shortcut skills, companion Events/Navigate recipes, shared skill/style card chrome, and bump the build to 69.
2026-08-13 23:01:43 +08:00
Rocky
148ff807f2
feat(keyboard): add Skills tab and extract-todos Shortcut export
...
Ship a Skills catalog with drag-to-reorder chips and a companion Shortcut that receives extracted titles and writes them to Reminders.
2026-08-13 18:20:42 +08:00
Rocky
ff99b7bff1
merge: bring clipboard AI skills and hint keywords into main
2026-08-13 15:47:41 +08:00
Rocky
631617ee53
feat(keyboard): add clipboard AI skills, hint keywords, and voice session fixes
...
Idle chips show entities with category icons; a fresh copy surfaces Reply/Summarize/Translate; abort/cancel/empty-tap no longer leave the mic stuck.
2026-08-13 15:47:32 +08:00
Rocky
9f308fadd2
feat(keyboard): ship AI hint carousel, home library cards, and clipboard polish
...
Rotate AI idle suggestions with optional remote packs, move history/dictionary onto self-sizing Home preview cards, harden clipboard capture/prompting, and simplify keyboard chrome by dropping most liquid-glass shadows.
2026-08-13 01:00:51 +08:00
Rocky
fd6e0d3e7e
feat(keyboard): add clipboard history and undo pastes
...
Ship optional keyboard clipboard history with settings, suggestion strip, and paste-permission guidance; let undo roll back clipboard inserts; bump build to 64.
2026-08-11 02:49:54 +08:00
Rocky
3de665d254
feat(keyboard): ship AI mode surface with streaming search answers
...
Add the AI keyboard tab, Agent settings, and user-owned LLM key path for 1.7.0, including streaming answers and web-search transports without the built-in DeepSeek fallback.
2026-08-11 01:06:27 +08:00
Rocky
f6212dcd2c
chore: ignore local scratch dirs (.tmp, .workbuddy-ai, reports)
2026-08-10 14:02:01 +08:00
Rocky
2bc8c1b87d
fix(ipad): ship iPad P0 layout/globe fixes, edit-last-input, drop clipboard commands
...
Adapt typing/voice surfaces for iPad width and height, add the system globe
key and last-input editing flow, harden host-only Rime deployment, and remove
clipboard voice commands. Bump build to 61.
2026-08-10 13:50:50 +08:00
Rocky
53abad2050
merge: bring clipboard polish/clipboard guards into main
2026-08-09 15:15:44 +08:00
Rocky
5d7fcdf24e
feat(keyboard): harden polish/clipboard guards and ship 1.6.6 (build 59)
...
Keep marketing version at 1.6.6 and bump build to 59. Strengthen never-answer
polish safeguards, clipboard reply-intent continuity, voice undo UX, device
UITests harness, eval fixtures, and What's New assets.
2026-08-09 12:45:33 +08:00
Rocky
bfe2cd2001
fix(app): remove release-notes WebView bottom safe-area gap
...
Extend the sheet WebView under the home indicator, keep scroll insets cleared after navigation, and neutralize remote page safe-area bottom padding in-app.
2026-08-08 10:53:46 +08:00
Rocky
9da32b81e9
feat(keyboard): harden clipboard command and add What's New sheet
...
Stabilize clipboard long-press prepare/resume across paste alerts and cold start, add an in-app release-notes sheet with remote bilingual HTML, localize typing input settings, and bump build to 55.
2026-08-08 00:20:42 +08:00
Rocky
e4ff49533c
Merge pull request #39 from hkgood/feature/clipboard-voice-command
...
Feature/clipboard voice command
2026-08-07 16:11:53 +08:00
Rocky
f197b68573
feat(keyboard): add clipboard voice command mode
...
Long-press mic runs ASR as an instruction over eligible clipboard text,
with host-confirm recording UI, min-record gate, and light ASR prewarm.
Bump CURRENT_PROJECT_VERSION to 53.
2026-08-07 16:08:42 +08:00
Rocky
704486ebc3
merge: bring Live Activity removal into main
2026-08-07 11:32:31 +08:00
Rocky
98ae211b3d
docs: freeze clipboard voice command one-page plan
...
Capture the product decisions for long-press clipboard instruction mode before implementation.
2026-08-07 11:32:31 +08:00
Rocky
41b8db87b5
refactor(flow): remove Live Activity and keep-alive mode picker
...
Keep voice sessions on silent low-profile PiP only, and fix custom polish style editor presentation via sheet(item:).
2026-08-07 11:32:31 +08:00
Rocky
d237318bf3
merge: bring automatic low-profile PiP release into main
2026-08-06 21:40:01 +08:00
Rocky
77504facc8
chore(release): bump version to 1.6.5 (build 51)
...
Ship automatic low-profile PiP keep-alive so background dictation stays ready without visible startup UI or idle audio work.
2026-08-06 21:39:31 +08:00
Rocky
9b02e8948c
fix(privacy): add Shared LevelDB PrivacyInfo and bump build to 50
...
Satisfy ITMS-91061 by shipping PrivacyInfo.xcprivacy inside OSGKeyboardShared.framework for librime's statically linked leveldb.
2026-08-06 20:38:31 +08:00
Rocky
e63129b312
merge: bring keyboard touch accuracy and mood-emoji polish into main
2026-08-06 15:18:40 +08:00
Rocky
a8d58d8f0c
feat(polish): allow mood emoji on custom styles and ship Flow/ASR fixes
...
Custom polish styles can opt in to emotion-matched emoji (default off), with
prompt-level opt-in detection so paste-only styles keep model-added emoji.
Also include Volcengine API-Key ASR auth, voice-processing capture, PiP flash
fix, and related keyboard Shift/haptics reliability work.
2026-08-06 15:11:12 +08:00
Rocky
2ed16e1fbf
feat(typing): improve key hit accuracy and bump to 1.6.1
...
Add gap-filling hit regions, release-to-commit with slide-to-reselect,
touch intent offset, and full-pinyin next-key bias; cut release 1.6.1 (build 45).
2026-08-05 22:47:20 +08:00
Rocky
450d60d4d6
Merge pull request #38 from hkgood/1.7
...
1.7
2026-08-05 22:26:59 +08:00
Rocky
717902716a
feat(typing): wire PersonalDictionary into Chinese Pinyin via Rime sidecar
...
Redeploy an osg_personal import table on dictionary add/delete/sync so
Chinese, English typing, and ASR share one curated lexicon (next keyboard open).
2026-08-05 22:12:30 +08:00
Rocky
31f5937a7f
feat(keyboard): improve typing, voice flow, and polish reliability
...
Reduce extension memory pressure and delivery races while adding richer candidates, tactile feedback, and safer two-level creative polishing.
2026-08-05 21:39:31 +08:00
Rocky
38e5ad570d
feat(typing): add English autocomplete and Chinese candidate expand panel
...
Offline English lexicon suggestions with autocapitalization, plus a same-height Chinese more-candidates grid over the key area.
2026-08-03 18:30:20 +08:00
Rocky
d1e5fed964
chore(typing): snapshot local pinyin WIP before syncing cloud branch
...
Preserve the in-progress local typing/pinyin implementation so feat/pinyin
can safely reset to origin/feat/pinyin (cloud English + Chinese typing).
2026-08-03 13:14:01 +08:00
Rocky
c037be3654
merge: bring polish style packs and related work into main
2026-07-31 15:12:54 +08:00
Rocky
9e689164cd
style(site): unify platform download badges
...
Give App Store and macOS downloads matching dimensions and two-line typography so platform choice stays clear without extra labels.
2026-07-30 13:13:20 +08:00
Rocky
fcc9c4155a
style(site): unify platform download badges
...
Give App Store and macOS downloads matching dimensions and two-line typography so platform choice stays clear without extra labels.
2026-07-30 13:12:55 +08:00
Rocky
8b0ac61f4a
style(site): remove download platform labels
...
Let the distinct iOS and macOS badge artwork identify each download without redundant headings.
2026-07-30 01:00:44 +08:00
Rocky
1f4f3e695e
style(site): remove download platform labels
...
Let the distinct iOS and macOS badge artwork identify each download without redundant headings.
2026-07-30 00:59:54 +08:00
Rocky
2d5d3cc450
docs(site): consolidate landing page and add macOS download
...
Publish one bilingual download surface with clearly separated iPhone/iPad App Store and notarized Mac DMG actions.
2026-07-30 00:57:25 +08:00
Rocky
293a4beae6
docs(site): consolidate landing page and add macOS download
...
Publish one bilingual download surface with clearly separated iPhone/iPad App Store and notarized Mac DMG actions.
2026-07-30 00:56:50 +08:00
Rocky
8933e996e4
chore(site): remove unused wave-gradient assets
...
Beams now powers the hero, so drop the previous gradient bundle.
2026-07-29 23:13:13 +08:00
Rocky
4a360449f1
docs(site): switch hero to React Bits–style beams
...
Replace the wave gradient with a vanilla Three.js beams field using the
shared demo preset and OSG green lighting for a more dimensional look.
2026-07-29 23:12:53 +08:00
Rocky
38a76e9217
docs(site): switch hero to React Bits–style beams
...
Replace the wave gradient with a vanilla Three.js beams field using the
shared demo preset and OSG green lighting for a more dimensional look.
2026-07-29 23:12:49 +08:00
Rocky
4b378d1b90
docs(site): switch hero to Stripe-style wave gradient
...
Replace the custom liquid aurora shader with the MIT wave-gradient
mesh animation, vendored locally and tinted for OSG brand colors.
2026-07-29 22:27:36 +08:00
Rocky
bf4492ee2f
docs(site): switch hero to Stripe-style wave gradient
...
Replace the custom liquid aurora shader with the MIT wave-gradient
mesh animation, vendored locally and tinted for OSG brand colors.
2026-07-29 22:27:32 +08:00
Rocky
85455ab575
docs(site): replace CSS blobs with liquid aurora WebGL
...
Upgrade the hero background to a domain-warped FBM fluid shader with
theme palettes, dithering, soft pointer pull, and motion-safe fallbacks.
2026-07-29 22:18:44 +08:00
Rocky
0bf7ade21b
docs(site): replace CSS blobs with liquid aurora WebGL
...
Upgrade the hero background to a domain-warped FBM fluid shader with
theme palettes, dithering, soft pointer pull, and motion-safe fallbacks.
2026-07-29 22:18:39 +08:00
Rocky
4c9f8c4e7d
style(site): align download action shapes
...
Match the source action to the App Store badge with a compact rounded-rectangle silhouette so the hero controls feel visually consistent.
2026-07-29 22:13:56 +08:00
Rocky
b9daab9636
docs(site): add soft aurora wash to marketing hero
...
Replace the flat green hero background with a restrained animated
green/teal/violet aurora, and keep a static fallback for reduced motion.
2026-07-29 21:52:07 +08:00
Rocky
a9f8ba2086
docs(site): add soft aurora wash to marketing hero
...
Replace the flat green hero background with a restrained animated
green/teal/violet aurora, and keep a static fallback for reduced motion.
2026-07-29 21:49:35 +08:00
Rocky
733cb8291a
docs(site): add App Store badges, SEO pages, and GSC verification
...
Ship official store badges on READMEs and the site, expand discoverability
with FAQ/JSON-LD/llms.txt/content pages, and add the Search Console HTML
verification file so the live Pages site can be claimed.
2026-07-29 21:41:08 +08:00
Rocky
222c11c7fe
docs(site): add App Store badges, SEO pages, and GSC verification
...
Ship official store badges on READMEs and the site, expand discoverability
with FAQ/JSON-LD/llms.txt/content pages, and add the Search Console HTML
verification file so the live Pages site can be claimed.
2026-07-29 21:04:42 +08:00
Rocky
4c929d8b8b
fix(mac,asr): harden menu-bar delivery, chunk retry, and polish validator
...
Retain the external target app for menu-bar paste and polish context, retry
failed middle ASR chunks once, and stop false-positive path/number violations.
2026-07-29 18:30:36 +08:00
Rocky
34be2e8dd1
feat(polish): add context safeguards, layered prompts, and output validation
...
Use redacted cursor neighborhood and pause-aware chunks for more natural polish,
validate protected terms with retry/local fallback, and structure bilingual prompts
for consistency and provider prefix caching.
2026-07-29 17:45:11 +08:00
Rocky
2d44423f4c
fix(mac): prevent Option release deadlock and HUD layout storm
...
The hold-to-talk release path called AsyncStream.Continuation.finish()
while holding MacAudioRecorder's NSLock; onTermination re-entered the
same lock on the main thread and froze the app. Finish snapshot sinks
outside the lock and guard the audio tap once stop() begins.
The dictation HUD no longer reassigns its hosting view and forces a
synchronous relayout on every view-model tick; it uses a fixed panel
size and SwiftUI @ObservedObject refresh instead.
Adds OSGKeyboardMacTests with a regression test that fails under the
old lock re-entry pattern.
2026-07-29 16:50:32 +08:00
Rocky
65fe3a81b4
feat(polish): add question guard, ABE routing, and flow trace
...
Harden polish so question drafts stay questions, add local density
routing with style-specific degrade, expand fun style packs, and add
end-to-end FlowTrace logging plus offline guard eval scripts.
2026-07-29 16:17:16 +08:00
Rocky
d656bac8c3
feat: add streaming cloud ASR, polish routing, and settings card layout
...
Unify Bailian/Volcengine/OpenAI realtime streaming, ABE polish routing with
fun styles, and a shared card-page Settings hierarchy; bump to 1.1 (build 32).
2026-07-28 20:25:17 +08:00
Rocky
956331a2af
chore(release): bump version to 1.0.1 (build 27)
...
Release the current PiP reliability, polish style, macOS dictionary, and UI updates.
2026-07-27 00:09:30 +08:00
Rocky
9d8914fbf3
docs(ios): plan PiP voice session lifecycle
...
Define a phased, privacy-first path for keeping keyboard dictation responsive while releasing the microphone between utterances.
2026-07-26 12:34:43 +08:00
Rocky
937ce33f05
feat(polish): add configurable style packs
...
Add shared prompt composition, custom style management, iCloud sync, and native iOS/macOS selection interfaces so users can keep a consistent writing voice across devices.
2026-07-26 12:34:43 +08:00
Rocky
e6f99d2744
fix(ios): address App Store review requirements
...
Use compliant permission prompts, align cloud ASR privacy disclosures, and default Flow sessions to a shorter inactivity window for safer resubmission.
2026-07-23 15:37:38 +08:00
Rocky
c0c9dad149
feat(mac): add Qwen3 MLX streaming dictation
...
Replace the Sherpa offline pipeline with native MLX streaming, resilient model downloads, live transcript previews, and supporting tests and documentation.
2026-07-23 14:34:56 +08:00
Rocky
a733ff04aa
docs(landing): redesign diff explorer and tune section washes
...
Replace the five-card stack with a pill tab bar and elevated detail
stage, use a white band for the competitor matrix, and a soft gray
band for the three-step setup section.
2026-07-12 17:18:28 +08:00
Rocky
9bfd22509a
docs(landing): drop Superwhisper 'subscription isn’t cheap' phrasing
...
Keep free-tier and price figures in the comparison cell without the
editorial lead-in.
2026-07-12 17:06:43 +08:00
Rocky
cee5c312a7
docs(landing): interactive pillars, section bands, and copy polish
...
Replace the duplicate BYOK block with hover/tap detail panels under
the differentiators, drop the hero title period, center the matrix
footnote, and alternate section washes so vs / steps read as separate bands.
2026-07-12 17:03:55 +08:00