Repository navigation
feat: Notro v2.11.0 candidate — media UX, portability and release QA - #1
Draft
writingdeveloper wants to merge 31 commits into
Draft
writingdeveloper wants to merge 31 commits into
writingdeveloper wants to merge 31 commits into
Conversation
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.
Notro v2.11.0 — Draft for review, NOT ready for public release
This PR implements an independent Windows clipboard/media picker companion.
REA is developer-only offline research, not embedded in or started by Notro.
No Discord client patching, injection, private IPC, account token or user
messages. Do not claim Discord affiliation or guaranteed Terms compliance.
Product changes
optional Nitro 1GB preset with conservative decimal-byte ceiling; legacy
10MB/500MB presets remain.
first-run picker and Windows focus/auto-send protection. Auto-send OFF by default.
file preflight, and private Captures exclusion. Native Save/Open dialog tested.
original file/timing, no silent auto-send.
sensitive watched-folder paths OFF by default, no account data/media,
auto-send and auto-capture forced OFF after restoration.
disclosures, source-compatible REA audit and no-signing policy.
pinned PyInstaller build tools, automated pip-audit, origin/main-tag ancestry
guard and manual GitHub hosted-runner unsigned installer QA.
Reproducible evidence (as of 2026-10-17)
27MB PNG-to-WebP preflight PASSED. A separate generated 5-second 960x540
video with audio -> 854x480 encode + 2sec trim/mute real ffmpeg PASSED.
animated GIF preview and cancel/approval through inert controller, 5k
synthetic-image DOM; native Windows Save/Open dialogs including Korean ZIP
and JSON filenames: eight isolated stages PASSED.
actual public v2.10.3 release checksum verified, disposable Windows runner
installed v2.10.3 and upgraded to candidate 2.11.0; a synthetic local
profile marker survived the upgrade and uninstallation. Release publishing
was SKIPPED. No user's PC or Discord client was installed/altered.
executing it on the user's machine: NotroSetup.exe 17,196,309 bytes,
SHA-256 df91f3e77b7e81405511f767ef7f2f6f3a0c1f376f5c96d0b75f56680671ba73
(checksum manifest matches); VersionInfo 2.11.0, Authenticode NotSigned.
unmerged. Source main and active user app are unchanged.
To Do 5, Backlog 4. Sign-related NOTRO-6/22 deferred; user opted out.
Mandatory NO-GO blockers for public marketing
plus real Discord desktop unsent attachment previews with PNG/JPG/GIF.
The runner success does not prove these experiences or SmartScreen behavior.
free-10MB/v2.0 and blanket Terms-safety copy. The separate
portfolio landing Draft PR #36
fails the portfolio dependency npm audit, and security Draft PR #33 also
remains failing. Do not bypass audits or overwrite other agents' worktrees.
Public advertising needs documented redistribution rights or genuine
Notro footage with media the maintainer has permission to distribute.
checksum, release notes/installation/disclosures, small opt-in beta and
only later non-spam community launch. Never mass-post; HN forbids
AI-generated submission/comment text and automated posting.
Documentation:
Never merge/tag/publish automatically from this PR. Signing has been
explicitly excluded by the user. Future unsigned installer warnings must be
disclosed rather than bypassed.
2026-10-17 additional QA: owned native picker demo and real Windows clipboard
2026-10-17: paste safety hardening and validation-first growth research
e0e0d70+ follow-up77689d6: PickerController now verifies the original window before writing clipboard, guards both CF_HDROP and copied URL/text against a newer clipboard sequence, rechecks focus after writing, and tests actual Win32 SendInput acceptance before reporting paste. The return value does not guarantee recipient-app attachment. New EN/KO/JA/ZH/ES notices, documentation and unit regressions.Ctrl+Vwith Hangul CF_HDROP path; target-loss and later-copy scenarios preserved existing clipboard. Log:foreground_file_ctrl_v=true,lost_target_preserved=true,newer_copy_preserved=true,auto_send_called=false,passed=true,errors=[]. No Discord messages or live user clipboard were touched. Same run passed verified v2.10.3→v2.11.0 temporary-runner upgrade, uninstaller, SHA256 and unsigned QA artifact upload; public release skipped.2529718fe90e54b28a8fc96ca03915ebc050bc033f5d9238f055e5580c8e888c(manifest matches), version 2.11.0, Authenticode NotSigned.6f2a7a6adds evidence/docs only over verified core source; latest CI pending at writing time. Draft PR remains unmerged, public latest is v2.10.3, signing deliberately excluded. No Discord client patch, REA runtime, production tag or public release.October 17: installed v2.11.0 EXE first-run and Product Hunt ROI review
0f4606c: new disposable GitHub Windows runner script launched the actually installed, unsigned v2.11.0 Notro.exe, after upgrading from verified public v2.10.3. It observed a visible first-run Notro welcome, a created hidden Notro Picker native window, live process, runner-only isolated APPDATA, welcome flag set, auto-send/capture OFF and startup registration unchanged; terminated only its own process tree.NOTRO_INSTALLED_EXE_FIRST_RUN_QA: passed=true, errors=[]; previous real own-window paste, v2.10.3-to-v2.11.0 upgrade/data-preservation/uninstall all PASS. Public release publishing skipped.b6f8ac78eae51c25a77cafda6f217351d8ce58fb750629e8e771e469dbd94cb7, checksum manifest matches, ProductVersion 2.11.0, Authenticode NotSigned.d1b736cincludes research/evidence docs only beyond the verified tested source. Still NO-GO for public v2.11.0 release/marketing until human Windows 10/11 GUI, actual Discord unsent attachment/focus, secure bilingual portfolio landing (audit PR #36/#33 still failing) and human maintainer release review.October 17: branded notification-area menu and About — QA verified
461db39, evidence commitfd75562: an owned Windows Edge WebView2 popup opens from Notro's notification-area icon WM_RBUTTONUP using a dark #17191f/blurple #5865f2 interface, status, picker, pause/resume, local library, 10/20/50/500MB/1GB size presets, hotkey, EN/KO/JA/ZH/ES languages, startup, update and quit. When the web bridge isn't ready or WebView2 isn't available the classic native Windows context menu remains intact, including an accessible native About command.writingdeveloper, MIT, GitHub/release/issue/license links (explicit allowlist), unsigned and not-Discord-endorsed disclosure. The repository shortcut is available immediately, not buried under scrolling.scripts/qa_native_tray_panel.pyreports native_webview2=true, about_version/github/unsigned=true, rightclick/settings/ESC/picker/fallback=true, errors=[], passed=true. Fixed actual pywebview/WinForms Window.move ArgumentError by using private WinDLL SetWindowPos on ONLY the popup's HWND.Notro Tray Menu, hiddenNotro Picker, visible welcome; no auto-send/capture, startup unchanged, uninstall successful. Release publish skipped.62593f9b66f5ae6e568ef14b6b674c68934a69523e2f860d70503b8c85c23169, version 2.11.0, Authenticode NotSigned. Public latest remains v2.10.3.Detailed reproducible QA report
2026-10-17 final tray DPI, installed EXE click and portfolio audit triage
c7248b3verified: physical Windows 200%-DPI custom tray popup now multiplies logical 362×532 DIP by the native HWND's DPI (192/96 = 2), yielding a correctly sized 724×1064 physical Win32 window. Local native WebView2 QA also PASS for five languages, keyboard GitHub link, 100%/125%/150% simulated text zoom, compact 330×420 window scroll, native About localization/fallback; production popup checks the HWND is owned by its own Notro process before positioning it. 494 local/remote tests passed.c122cf31b40607faa7b5e9ff2f6075cfbc72f47ff0634cbe990cdc519240e360matches manifest, ProductVersion 2.11.0, Authenticode NotSigned. Public release remains v2.10.3; publish release was SKIPPED. No signing per user request.eslint-config-next → fast-glob → micromatch → braces 3.0.3advisories; no patched npm version at check time. Kept security gate intact and other portfolio sessions/worktrees untouched.1c5a730updates QA and Plane ledger only; candidate remains DRAFT, user declined signing; no main merge, real Discord message, public installer release, marketing blast or personal clipboard access.