Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from microsoft:main #78

Merged
merged 4 commits into from
Sep 26, 2023
Merged

[pull] main from microsoft:main #78

merged 4 commits into from
Sep 26, 2023

Commits on Sep 25, 2023

  1. version: bump to 1.20 on main

    DHowett committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    18dae6d View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2023

  1. About: check PackageManager for updates in addition to Store (#16012)

    With us adding a .appinstaller distribution of Canary, the Store
    services update checker has beome insufficient to determine whether
    there are package updates.
    
    App Installer supports us checking for updates by using PackageManager
    and the Package interfaces.
    
    We'll use those instead of the Store services interface, and bail out
    early if the App Installer gives us an answer.
    DHowett authored Sep 26, 2023
    Configuration menu
    Copy the full SHA
    e0fc3bc View commit details
    Browse the repository at this point in the history
  2. Fix the prompt sometimes not being erased properly (#15880)

    A carriage return (enter key) will increase the _distanceEnd by up to
    viewport-width many columns, since it increases the Y distance between
    the start and end by 1 (it's a newline after all).
    This will make _flushBuffer() think that the new _buffer is way longer
    than the old one and so _erase() ends up not erasing the tail end of
    the prompt, even if the new prompt is actually shorter.
    
    This commit fixes the issue by separating the newline printing
    out from the regular text printing loops.
    
    ## Validation Steps Performed
    * Run cmd.exe
    * Write "echo hello" and press Enter
    * Write "foobar foo bar" (don't press Enter)
    * Press F7, select "echo hello" and press Enter
    * Previous prompt says "echo hello" ✅
    lhecker authored Sep 26, 2023
    Configuration menu
    Copy the full SHA
    c7f30a8 View commit details
    Browse the repository at this point in the history
  3. Reimplement TextBuffer::Reflow (#15701)

    Subjectively speaking, this commit makes 3 improvements:
    * Most importantly, it now would work with arbitrary Unicode text.
      (No more `IsGlyphFullWidth` or DBCS handling during reflow.)
    * Due to the simpler implementation it hopefully makes review of
      future changes and maintenance simpler. (~3x less LOC.)
    * It improves perf. by 1-2 orders of magnitude.
      (At 120x9001 with a full buffer I get 60ms -> 2ms.)
    
    Unfortunately, I'm not confident that the new code replicates the old
    code exactly, because I failed to understand it. During development
    I simply tried to match its behavior with what I think reflow should do.
    
    Closes #797
    Closes #3088
    Closes #4968
    Closes #6546
    Closes #6901
    Closes #15964
    Closes MSFT:19446208
    
    Related to #5800 and #8000
    
    ## Validation Steps Performed
    * Unit tests ✅
    * Feature tests ✅
    * Reflow with a scrollback ✅
    * Reflowing the cursor cell causes a forced line-wrap ✅
      (Even at the end of the buffer. ✅)
    * `color 8f` and reflowing retains the background color ✅
    * Enter alt buffer, Resize window, Exit alt buffer ✅
    lhecker authored Sep 26, 2023
    Configuration menu
    Copy the full SHA
    7474839 View commit details
    Browse the repository at this point in the history