Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
30954bd
Add Windows support gating and cross-platform sidecar prep
shaik-zeeshan May 30, 2026
4e8ae41
Add Windows capture support contract doc
shaik-zeeshan May 30, 2026
f5ec35c
Add Windows compile checks and capture session seam
shaik-zeeshan May 30, 2026
ccc7f6a
Gate Windows SQLCipher on vendored OpenSSL
shaik-zeeshan May 30, 2026
9827d41
Add Windows screen capture backend gating
shaik-zeeshan May 30, 2026
358fee0
Fix Windows capture segment duration on static screens
shaik-zeeshan May 30, 2026
b081a99
Gate native capture for Windows and fix frame lookahead
shaik-zeeshan May 30, 2026
e8d8414
Gate desktop deps for Windows support
shaik-zeeshan May 30, 2026
0950bf4
Remove checked-in desktop app state
shaik-zeeshan May 30, 2026
a9bc9fe
Fix blank runtime windows on Windows by building off the main thread
shaik-zeeshan May 30, 2026
ff71ac5
Ignore mnema state in Tauri app dir
shaik-zeeshan May 30, 2026
dcc0d2d
Enable Windows screen frame export and update support status
shaik-zeeshan May 30, 2026
d40a286
Gate Windows capture settings on backend support
shaik-zeeshan May 30, 2026
afcc08d
Handle Windows WGC size changes and capture failure
shaik-zeeshan May 30, 2026
03629f5
Tune Windows settings UI for the runtime capture MVP
shaik-zeeshan May 30, 2026
fa87c9e
Record wasapi 0.23 capability spike finding for #51
shaik-zeeshan May 30, 2026
40cd04b
Record wasapi 0.23 capability spike finding for #51
shaik-zeeshan May 31, 2026
6213e8c
Add Windows mic->m4a capture seam smoke test for #52
shaik-zeeshan Jun 1, 2026
3d09ca1
Implement Windows microphone device policy parity
shaik-zeeshan Jun 1, 2026
f4304dc
Add Windows microphone permission UX for #54
shaik-zeeshan Jun 1, 2026
6dd0622
feat: emit Windows mic activity and VAD PCM feed
shaik-zeeshan Jun 4, 2026
cb5e380
test: simplify notification CTA assertions
shaik-zeeshan Jun 4, 2026
e1cb1dd
feat: add Windows system audio capture support
shaik-zeeshan Jun 4, 2026
22ed2e7
feat: support independent Windows system audio capture
shaik-zeeshan Jun 4, 2026
26fdbe0
feat: follow Windows default render endpoint changes
shaik-zeeshan Jun 4, 2026
d8f0133
style: wrap long microphone smoke-test lines
shaik-zeeshan Jun 4, 2026
d002109
feat: add Windows system activity sampling and idle tracking
shaik-zeeshan Jun 4, 2026
6063c61
windows: wire inactivity smoke and pause/resume capture
shaik-zeeshan Jun 4, 2026
e61f906
fix: enable Windows user pause/resume status and stop flow
shaik-zeeshan Jun 4, 2026
1689a16
feat: add Windows display-present probe and transient-liveness classi…
shaik-zeeshan Jun 4, 2026
f0a861f
windows: wire transient-liveness pause-reason discriminator and recov…
shaik-zeeshan Jun 4, 2026
3688622
test: cover Windows transient-liveness recovery and add on-device smo…
shaik-zeeshan Jun 4, 2026
712393a
Handle Windows session lock transient capture
shaik-zeeshan Jun 5, 2026
c43a64f
refactor: normalize native capture formatting and tests
shaik-zeeshan Jun 5, 2026
1a539be
windows: handle system suspend transient capture
shaik-zeeshan Jun 5, 2026
ed3fcc6
refactor: clarify native segment pause and windows imports
shaik-zeeshan Jun 5, 2026
dc5e986
docs: ADRs 0024/0025 + CONTEXT groundwork for Windows media pipeline …
shaik-zeeshan Jun 8, 2026
8f6a49d
feat(windows): media-decode seam crate wired through system-audio spe…
shaik-zeeshan Jun 8, 2026
de880a1
feat(windows): inline frame-index sidecar on the screen capture path …
shaik-zeeshan Jun 8, 2026
f34a4a5
feat(windows): audio writer inactivity-tail hold-back for mic + syste…
shaik-zeeshan Jun 8, 2026
e455905
fix(windows): make .mp4 a first-class visible-segment container (.mov…
shaik-zeeshan Jun 8, 2026
f67b3fa
feat(windows): Local Whisper transcription via media-decode seam (#79)
shaik-zeeshan Jun 8, 2026
97b8745
feat(windows): MF video frame extraction for exact preview + finalize…
shaik-zeeshan Jun 8, 2026
5e0695c
feat(windows): Parakeet int8-only offering + media-decode seam wiring…
shaik-zeeshan Jun 8, 2026
a2292ed
feat(windows): Sherpa speaker analysis via media-decode seam (#82)
shaik-zeeshan Jun 8, 2026
c13c095
feat(windows): scrub preview generation for screen segments (#83)
shaik-zeeshan Jun 8, 2026
a3656d4
test(windows): smoke-harness invariant checks + operator runbook (#84)
shaik-zeeshan Jun 8, 2026
f2926f8
docs: mark Windows scrub preview generation supported in SUPPORTS.md …
shaik-zeeshan Jun 8, 2026
ad2cb15
fix(windows): system audio permission and H.264 video processing
shaik-zeeshan Jun 8, 2026
baa5276
fix(windows): re-probe audio support gates per call so hot-plugged mi…
shaik-zeeshan Jun 10, 2026
09b88e7
feat(windows): gate platform-specific features in desktop app
shaik-zeeshan Jun 10, 2026
242493c
feat(windows): gate platform-specific features in support crates
shaik-zeeshan Jun 10, 2026
39c31e3
fix(windows): keep WASAPI session alive during inactivity pause so ac…
shaik-zeeshan Jun 11, 2026
5389450
fix(windows): probe actual .m4a duration so DB timestamps match trimm…
shaik-zeeshan Jun 11, 2026
5b018cf
revert(windows): fall back to scheduled duration for audio segments
shaik-zeeshan Jun 11, 2026
78d10a3
fix(windows): probe actual .m4a duration so DB timestamps match trimm…
shaik-zeeshan Jun 11, 2026
da27062
fix(windows): pass empty known_durations to persist_committed_audio_s…
shaik-zeeshan Jun 11, 2026
b6a3283
fix: remove broken video artifacts and increase WASAPI buffer
shaik-zeeshan Jun 13, 2026
0314862
fix(windows): gate inactivity code behind platform cfg
shaik-zeeshan Jun 13, 2026
03e648d
fix(windows): apply PR #43 review findings (F01-F33)
shaik-zeeshan Jun 13, 2026
f108dea
test(windows): complete PR #43 partial items (#74/#80/#81/#83)
shaik-zeeshan Jun 13, 2026
5175c5b
fix(windows): harden MF decode seam against malformed media
shaik-zeeshan Jun 14, 2026
e7ba7af
fix(windows): install session-notification subclass on the owning thread
shaik-zeeshan Jun 14, 2026
b7a5e48
test(windows): fix #74 tail-holdback smoke invariant reference window
shaik-zeeshan Jun 14, 2026
3e325c1
fix(windows): restore macOS build broken by extra persist arg
shaik-zeeshan Jun 14, 2026
c3fc5e8
fix(windows): warm scrub previews on the inactivity screen pause
shaik-zeeshan Jun 14, 2026
32b4365
fix(windows): persist a capture_sessions row on Windows
shaik-zeeshan Jun 14, 2026
06583cf
fix(windows): recover detached audio families after a failed suspend …
shaik-zeeshan Jun 14, 2026
883829f
fix(windows): reset transient-liveness probe throttle on a new pause
shaik-zeeshan Jun 14, 2026
dc732e4
Merge remote-tracking branch 'origin/main' into t3code/windows-suppor…
shaik-zeeshan Jun 15, 2026
112edfb
Merge remote-tracking branch 'origin/main' into t3code/windows-suppor…
shaik-zeeshan Jun 15, 2026
968732e
fix(native-capture): repair merge artifacts breaking macOS type check
shaik-zeeshan Jun 15, 2026
0ef3700
ci(windows): set up MSVC dev env so tesseract-rs links
shaik-zeeshan Jun 15, 2026
dd22dd2
build: add Windows native build helper script
shaik-zeeshan Jun 17, 2026
610b1c0
build: bundle Sherpa/ONNX runtime DLLs for Windows packaged app
shaik-zeeshan Jun 24, 2026
f274987
fix: support cross-platform video formats in sidecar repair
shaik-zeeshan Jun 24, 2026
4fa2cb9
feat(windows): default capture library to non-roaming LocalAppData
shaik-zeeshan Jun 24, 2026
1882eca
test(windows): cover locked-file retention tombstone and retry
shaik-zeeshan Jun 24, 2026
8f7f2f4
fix(windows): auto-enqueue system-audio speech activity at capture
shaik-zeeshan Jun 24, 2026
d829064
fix(windows): show inactivity and voice-detection settings on Windows
shaik-zeeshan Jun 24, 2026
72fafc8
Merge origin/main into t3code/windows-support-gating
shaik-zeeshan Jun 25, 2026
7696d01
Merge origin/main into t3code/windows-support-gating
shaik-zeeshan Jun 25, 2026
aa98364
Merge branch 't3code/windows-support-gating' of work.github.com:shaik…
shaik-zeeshan Jun 25, 2026
9ed5914
fix: gate native commands on exit code in Windows builds
shaik-zeeshan Jun 25, 2026
48c81f6
feat(speaker-analysis): Windows speakrs CPU diarization (#134, #135)
shaik-zeeshan Jun 26, 2026
e014894
feat(speaker-analysis): CUDA execution backend with init-fallback (#137)
shaik-zeeshan Jun 26, 2026
e6e666e
feat(desktop): Windows CUDA GPU diarization backend (#137)
shaik-zeeshan Jun 26, 2026
d66db9d
feat(desktop): Windows GPU Acceleration settings panel + Force-CPU to…
shaik-zeeshan Jun 26, 2026
cdad1be
docs: Windows CUDA GPU diarization (#137)
shaik-zeeshan Jun 26, 2026
5b2a90e
build(windows): auto-download pinned GPU ONNX Runtime in prepare-ort-…
shaik-zeeshan Jun 29, 2026
49aedb0
feat(desktop): fix Windows OCR default and hide unrunnable providers …
shaik-zeeshan Jun 30, 2026
50cfc97
feat(windows): trim microphone recordings to the VAD speech sub-range…
shaik-zeeshan Jun 30, 2026
4ec254b
feat(windows): pause/resume screen capture on monitor DPMS sleep (#85)
shaik-zeeshan Jun 30, 2026
22f458f
docs: reconcile SUPPORTS.md for Windows OCR, mic-trim, and DPMS gaps …
shaik-zeeshan Jun 30, 2026
bf319de
ci: stub third-party licenses resource for compile-check
shaik-zeeshan Jun 30, 2026
5a320fd
ci: stub ONNX Runtime DLL resources for compile-check
shaik-zeeshan Jun 30, 2026
02441df
perf(windows-ci): strip dependency debug info, bound the Windows job
shaik-zeeshan Jun 30, 2026
d490fea
feat(windows): low-disk capture safety (#130)
shaik-zeeshan Jun 30, 2026
dcc42a7
ci(windows): exclude headless-hanging system-suspend test to unblock CI
shaik-zeeshan Jun 30, 2026
76d82c6
ci(windows): combined macOS+Windows release + updater workflow
shaik-zeeshan Jul 1, 2026
fee0ba2
docs(windows): ADRs + tracking for v1 permissions/privacy/metadata
shaik-zeeshan Jul 1, 2026
d65e78f
feat(windows): active-window metadata, foreground listener, timeline …
shaik-zeeshan Jul 1, 2026
ec50a6f
fix(windows): hide App Privacy Exclusion UI on Windows (ADR 0025)
shaik-zeeshan Jul 1, 2026
7043ba0
feat(windows): cross-platform dev sandbox launcher
shaik-zeeshan Jul 2, 2026
25a785b
docs(windows): ADR 0044 browser-URL via UI Automation + design langua…
shaik-zeeshan Jul 2, 2026
86d8354
feat(windows): browser-URL capture via UI Automation (ADR 0044)
shaik-zeeshan Jul 2, 2026
56ff8fc
docs(windows): document screen-capture + system-audio permission sema…
shaik-zeeshan Jul 2, 2026
df60c04
Merge pull request #143 from shaik-zeeshan/windows-perms-privacy-meta…
shaik-zeeshan Jul 2, 2026
f0cfeac
docs(windows): ADR 0045 Broker Authorization Channel via named pipe
shaik-zeeshan Jul 2, 2026
c79384c
docs(windows): implementation plan for Broker Authorization Channel (…
shaik-zeeshan Jul 2, 2026
007cf51
feat(windows): Broker Authorization Channel via named pipe (ADR 0045)
shaik-zeeshan Jul 3, 2026
fa9659d
docs: Windows Broker Authorization Channel happy path verified
shaik-zeeshan Jul 3, 2026
80a878b
fix(windows): harden Broker Authorization Channel named-pipe transport
shaik-zeeshan Jul 4, 2026
948d2a8
Merge pull request #147 from shaik-zeeshan/t3code/windows-broker-auth…
shaik-zeeshan Jul 4, 2026
640deee
fix(windows): native path-separator correctness for stored capture pa…
shaik-zeeshan Jul 4, 2026
771155d
ci(windows): run the full mnema + app-infra suites in windows-check (…
shaik-zeeshan Jul 4, 2026
b771039
docs(windows): sync SUPPORTS.md checklist with landed implementation
shaik-zeeshan Jul 4, 2026
cb9cb8a
docs(windows): reconcile SUPPORTS.md summary table + retire dead "onl…
shaik-zeeshan Jul 5, 2026
8c39925
Merge origin/main into t3code/windows-support-gating
shaik-zeeshan Jul 11, 2026
6853f02
test(mcp): gate node_check tests to macOS — Windows resolves the chil…
shaik-zeeshan Jul 11, 2026
1f787da
feat(app-infra): Windows Credential Manager backends for the AI provi…
shaik-zeeshan Jul 12, 2026
a8a0abd
feat(mcp): kill the whole stdio connector process tree on drop on Win…
shaik-zeeshan Jul 12, 2026
62d6340
test(semantic-search): candle-CPU measurement harness; Windows verifi…
shaik-zeeshan Jul 12, 2026
c0b8426
fix(platform-copy): retire stale macOS-only strings now that Windows …
shaik-zeeshan Jul 12, 2026
3279f39
feat(release): Windows Authenticode signing seam via bundle signComma…
shaik-zeeshan Jul 12, 2026
5530206
docs(supports): reflect Windows key stores, MCP rows, semantic-search…
shaik-zeeshan Jul 12, 2026
d31b680
Merge remote-tracking branch 'origin/main' into windows-key-stores-an…
shaik-zeeshan Jul 13, 2026
1e2d1cb
docs(supports): mark Windows webview memory-cache purge deliberately N/A
shaik-zeeshan Jul 13, 2026
32a7f24
fix(capture-screen): keep long snapshot intervals exact on Windows MF
shaik-zeeshan Jul 13, 2026
2798b57
Merge pull request #166 from shaik-zeeshan/windows-key-stores-and-fin…
shaik-zeeshan Jul 13, 2026
d3878ad
fix(desktop): build Quick Recall window off-thread on Windows
shaik-zeeshan Jul 13, 2026
18ee484
feat(desktop): custom Windows title bar with caption controls
shaik-zeeshan Jul 13, 2026
e91b862
fix(capture-screen): honor capture rate for Windows snapshot export
shaik-zeeshan Jul 13, 2026
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
9 changes: 5 additions & 4 deletions .github/workflows/macos-release.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# RETIRED TO MANUAL-ONLY: the combined `release.yml` now owns the `v*` tag
# trigger and builds both macOS and Windows. This workflow is kept as a manual
# fallback (workflow_dispatch only) until `release.yml` is proven on a preview
# tag; delete it (see docs/release-process.md operator runbook) once that passes.
name: macOS Release

on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
version:
Expand Down Expand Up @@ -113,7 +114,7 @@ jobs:
run: ./scripts/generate-third-party-licenses.sh

- name: Prepare Mnema CLI sidecar for Tauri check
run: ./scripts/prepare-mnema-cli-sidecar.sh debug --locked
run: bun scripts/prepare-mnema-cli-sidecar.mjs debug --locked

- name: Check Tauri Rust app
run: cargo check --manifest-path apps/desktop/src-tauri/Cargo.toml --locked
Expand Down
138 changes: 138 additions & 0 deletions .github/workflows/release-promote.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
name: Promote Release

on:
workflow_dispatch:
inputs:
version:
description: "Release version to promote, for example 0.3.0 or v0.3.0-preview.1"
required: true
type: string

permissions:
contents: write
pages: write
id-token: write

concurrency:
group: release-promote-${{ github.event.inputs.version }}
cancel-in-progress: false

jobs:
promote:
name: Publish reviewed release
runs-on: ubuntu-latest
outputs:
channel: ${{ steps.release_version.outputs.channel }}
tag: ${{ steps.release_version.outputs.tag }}
version: ${{ steps.release_version.outputs.version }}

steps:
- name: Validate version
id: release_version
run: |
set -euo pipefail
version="${{ github.event.inputs.version }}"
version="${version#v}"
if [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
channel="stable"
prerelease="false"
elif [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+-preview\.[0-9]+$ ]]; then
channel="preview"
prerelease="true"
else
echo "version must be stable X.Y.Z or preview X.Y.Z-preview.N; got $version" >&2
exit 1
fi
{
echo "version=$version"
echo "tag=v$version"
echo "channel=$channel"
echo "prerelease=$prerelease"
} >> "$GITHUB_OUTPUT"

- name: Validate draft release assets
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ steps.release_version.outputs.tag }}
run: |
set -euo pipefail
release_json="$(gh release view "$RELEASE_TAG" --json isDraft,isPrerelease,assets)"
if [[ "$(jq -r '.isDraft' <<<"$release_json")" != "true" ]]; then
echo "$RELEASE_TAG is not a draft release" >&2
exit 1
fi

asset_names="$(jq -r '.assets[].name' <<<"$release_json")"
require_asset() {
local description="$1"
local pattern="$2"
if ! grep -E "$pattern" <<<"$asset_names" >/dev/null; then
echo "missing required release asset: $description" >&2
echo "$asset_names" >&2
exit 1
fi
}
require_asset_i() {
local description="$1"
local pattern="$2"
if ! grep -E -i "$pattern" <<<"$asset_names" >/dev/null; then
echo "missing required release asset: $description" >&2
echo "$asset_names" >&2
exit 1
fi
}

require_asset "DMG" '\.dmg$'
require_asset ".app.tar.gz updater archive" '\.app\.tar\.gz$'
require_asset ".app.tar.gz.sig updater signature" '\.app\.tar\.gz\.sig$'
require_asset "latest.json" '^latest\.json$'
require_asset_i "Windows NSIS installer" '(-setup\.exe|_x64-setup\.exe|setup\.exe)$'
require_asset_i "Windows updater signature" '(-setup\.exe\.sig|setup\.exe\.sig)$'

- name: Publish stable release
if: steps.release_version.outputs.channel == 'stable'
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ steps.release_version.outputs.tag }}
run: gh release edit "$RELEASE_TAG" --draft=false --prerelease=false

- name: Publish preview release
if: steps.release_version.outputs.channel == 'preview'
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ steps.release_version.outputs.tag }}
run: gh release edit "$RELEASE_TAG" --draft=false --prerelease=true

publish-preview-feed:
name: Publish preview update feed
needs: promote
if: needs.promote.outputs.channel == 'preview'
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Download preview latest.json
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ needs.promote.outputs.tag }}
run: |
set -euo pipefail
mkdir -p preview-feed/updates/preview
gh release download "$RELEASE_TAG" \
--pattern latest.json \
--dir preview-feed/updates/preview \
--clobber

- name: Configure Pages
uses: actions/configure-pages@v5

- name: Upload preview feed artifact
uses: actions/upload-pages-artifact@v3
with:
path: preview-feed

- name: Deploy preview feed
id: deployment
uses: actions/deploy-pages@v4
Loading
Loading