Skip to content

Help add-in hover help and a detachable help window, exe-run reporting in the harness, and 997 reproducibility bugs - #223

Merged
KubaO merged 33 commits into
twinbasic:mainfrom
KubaO:staging
Oct 7, 2026
Merged

KubaO merged 33 commits into
twinbasic:mainfrom
KubaO:staging

Conversation

@KubaO

@KubaO KubaO commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Adds hover help and a detachable window to the help add-in, makes tbrun --exe and vb6run report faulting exes, and files more BETA 997 defects with reproducers.

  • help add-in:
    • Hover help links a name at the cursor to its pages in the IDE's mouse hover, behind a pane checkbox. The link reads Help: MsgBox function (VBA.Interaction).
    • The add-in draws every hover above the IDE's dock, because the dock's resizer takes the mouse from a hover reaching past the code editor. This is a workaround until A tall hover in the code editor disappears when the mouse slides down it onto the dock's resizer twinbasic#2506 is fixed.
    • The pane detaches into a window of the add-in's own (a Form holding a WebView2), for another monitor. Attach or closing it brings the pane back.
    • The detached window draws one title bar in the style of a tool window's header. With the IDE's Show real OS titlebar option on, it uses a dark or light Windows caption instead.
    • A maximized detached window fills its monitor's work area, and its WebView2 always fills the client area.
    • The results list is as tall as its rows (capped at 35%), and the search box's clear button hides it.
  • build: tbdocs writes the help add-in's archive as its last step (--no-help-archive, passed by CI). The separate archive script is gone.
  • harness:
    • tbrun --exe exits 6 on a box or fault, and every vb6run exe goes through a launcher that records a fault. Before, an unhandled error showed nothing and timed out, or exited 0. lib/win-fault.mjs is new.
    • The browser is looked for before puppeteer.launch, which left a profile folder when it was missing.
    • waitForCompile reports Safe Mode, and the packages lane judges its compile by compileOutcome and waits only for requests sent after References opens.
    • CLI fixes: a failed probe exits 1 in check_ci_workflows and check_regex_safety (a shard crash exits 2), build_fonts.py parses its command line, wisdom extract names the manifest it wrote, and tbdocs strips a trailing slash from url.
  • tooling: declarationKind treats a Type or Union field named for a keyword as a field, and MustBeQualified covers a Declare and a property procedure. WIP.Search.md becomes the current design by topic, and the WIP files lose their history.
  • bugs:
    • Reproducibility defects in 997: a build writes addresses from the compiler's memory into the exe, and the IDE reverses the order of a project's files at each restart, target switch and Save.
    • Further defects: a spurious first-conversion Overflow in IDE runs, WebView2 headers Clone restarting, and an unhandled error in an LLVM-compiled exe showing no number or description and then crashing. The exe's error box is titled "shutdown", and an unhandled error in a form event does not end the exe.
    • Each has a reproducer, the exe ones with run --exe and a VB6 side. On-Error.md gets a NOTE. A tall hover in the code editor disappears when the mouse slides down it onto the dock's resizer twinbasic#2506 is filed with the hover-past-editor lane.
  • tests: the new ide-test.bat lanes are restart-file-order and hover-past-editor. The new addin-test.bat lanes are widgets (probes P16 and P17) and detach (P19), and the help lane covers hover help.

The new lanes, tbrun --exe and vb6run need a twinBASIC install or VB6, so they stay outside every gate and CI. Their probes and command-line cases need neither and run in test.bat.

KubaO added 30 commits October 6, 2026 14:52
…edure does, the attribute on one accessor covers the property
…w in IDE runs (WARNINGs on CLng, CInt) and WebView2 headers Clone restarting
…d writes addresses from the compiler's own memory into the exe (scripts/probe_build_twice.mjs, with a VB6 side), and the IDE reverses the order of a project's files at each compiler restart, target switch and Save, which the code of a build follows (the restart-file-order lane)
…xits 6 on a box or fault (an unhandled error showed nothing and timed out, or exited 0), every vb6run exe goes through the launcher so a fault is recorded, VBRuntime's logged errors read (lib/win-fault.mjs)
…escription and then crashes (997, 995, 987; win32 and win64), with a run --exe reproducer and a VB6 side
… which of X1 and Y1 comes first, so no one has to search the exe; the lane checks each build's box against the file; Main's Long overflow fixed
…ed error in a form event does not end the exe (983-997), with run --exe reproducers and VB6 sides; NOTE on On-Error.md
…help-archive, passed by CI); the archive script is gone
…ts, and shows a page hover provider joins the IDE's hover
…the IDE's mouse hover, behind a pane checkbox
…er once the mouse leaves the editor, and a long one reaches past it
… link reads Help: MsgBox function (VBA.Interaction)
…op targets took the mouse from a hover reaching past the code editor and hid it
…he mouse from a hover reaching past the code editor and hides it (ide-test lane hover-past-editor)
KubaO added 3 commits October 7, 2026 14:04
…ing a WebView2, for another monitor; Attach or closing it brings it back (probe lane detach, P19)
…indow's header, its X hides it, and the IDE's Show real OS titlebar option gives it a dark or light Windows caption instead
…s WebView2 always fills the client area: the window procedure sizes the control and answers WM_GETMINMAXINFO and WM_NCCALCSIZE
@KubaO
KubaO merged commit a8f860f into twinbasic:main Oct 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant