[Excel] (Custom Functions) Update debugging articles

This PR addresses confusion described in #1802.
In the Debugging article, it:

Removes the term "UI-less" because the debugging process is related to runtime, not UI elements
Adds a screenshot to demonstrate the location of the Excel Desktop (Custom Functions) option,
Rearranges the first part of the article so that the anchor links come after the Requirements section (to prevent readers from skipping the Requirements section).

In the Custom Functions Troubleshooting article: It adds a Debugging section so that clear guidance exists for shared runtime and non-shared runtime custom functions.

Docs Build status updates of commit 4e74e50:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f3d7529:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit e134547:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 2c9d208:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit b6e55aa:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 975dbf8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 37f04a7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8592a8f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit d139172:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-troubleshooting.md
:white_check_mark:Succeeded
View

docs/images/custom-functions-run-and-debug-menu.jpg
:white_check_mark:Succeeded
View

docs/includes/shared-runtime-note.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


responseType:   "token"

`@IBAction func stratAuth(sender: AnyObject) {
     let oauthswift = OAuth2Swift(
        consumerKey:    "xxx",
        consumerSecret: "xxx",
        authorizeUrl:   "https://www.fitbit.com/oauth2/authorize",
        responseType:   "token"
    )

    oauthswift.authorizeWithCallbackURL(
        NSURL(string: "HealthAnother://oauth-callback/fitbit")!,
        scope: "activity+profile+location+sleep+weight", state:"Fitbit",
        success: { credential, response, parameters in

            print(credential.oauth_token)
            self.testFitbit2(oauthswift)

        },
        failure: { error in
            print(error.localizedDescription)
        }
    )

}

func testFitbit2(oauthswift: OAuth2Swift) {
    oauthswift.client.get("https://api.fitbit.com/1/user/227G3S/activities/tracker/steps/date/2016-02-23.json", parameters: [:],
        success: {
            data, response in
            let jsonDict: AnyObject! = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
            print(jsonDict)
        }, failure: { error in
            print(error.localizedDescription)
    })
}

`
The scenario is i want to set a button and the text of the button will change depends on user Authenticated or Not .
If someone already authenticated button text will set Disconnect/Logged out Or Authenticate Here .
How can i checked is user already Authenticated or Not .

**OS targeted (with version): ios 9.2
**OAuth provider: Fitbit
**OAuthSwift version:  Current Version

:warning: don't share in github your consumer key and secret (secret means secret), I edit your message...
A user is not disconnected or logger... You have a token, valid or not
So store the token  in success callback, you are logged
no token you are not logger
then to know if token always valid you must do an api request and see if success or failed

Thank You :)
How Long token will alive ?

depending on the provider, here fitbit, and sometimes when requesting authorization you can specify the token duration
in success there is parameters and sometimes expiration time is defined in this dictionary
but token could also be invalidated, exception must be handled
more info here https://github.com/OAuthSwift/OAuthSwift/wiki/OAuth-2.0-Token-Expiration


Current pbw doesn't display iob in status bar if running openaps ama

I recently switched to openaps ama and can no longer see iob in status bar. I noticed data.js has code for this but it doesn't seem to be in the current 'released' watch face.

Oops, thanks for bringing this up. Just bumped release/urchin-cgm.pbw to include the latest.

Fabulous! Thank you


Fastlane doesn't seem to 'play nicely' with automatic code signing

New Issue Checklist

[y ] Updated fastlane to the latest version
[y ] I have read the Contribution Guidelines

Issue Description
I have a new Xcode 8 app with an iMessage plugin and shared app group entitlement.
I selected the 'automatically manage code signing' box in xcode, and it looks like finally XCode does a good job.
I can archive and upload to iTunes from XCode
Unfortunately, fastlane can no longer build an upload a binary for me.
I have tried adding sigh to the flow and it seems happy enough - but doesn't make iTunes happy
Complete output when running fastlane, including the stack trace and command used
...
[11:24:29]: Successfully exported and compressed dSYM file
[11:24:29]: Successfully exported and signed the ipa file:
[11:24:29]: /Users/rob/tmp/FastlaneBuild/Poop Pack.ipa
[11:24:29]: ------------------
[11:24:29]: --- Step: sigh ---
[11:24:29]: ------------------

+-------------------------------------+-------------------------------+
|                       Summary for sigh 1.11.1                       |
+-------------------------------------+-------------------------------+
| adhoc                               | false                         |
| development                         | false                         |
| skip_install                        | false                         |
| force                               | false                         |
| app_identifier                      | com.HobbyistSoftware.poop     |
| username                            |<EMAIL_ADDRESS>|
| team_id                             | JHV5RC82C3                    |
| ignore_profiles_with_different_name | false                         |
| skip_fetch_profiles                 | false                         |
| skip_certificate_verification       | false                         |
+-------------------------------------+-------------------------------+
...

[11:25:55]: Going to upload updated app to iTunes Connect
[11:25:55]: This might take a few minutes. Please don't interrupt the script.
[11:26:35]: [Transporter Error Output]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.HobbyistSoftware.poop [Payload/Poop Pack.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
[11:26:35]: Transporter transfer failed.
[11:26:35]:
[11:26:35]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.HobbyistSoftware.poop [Payload/Poop Pack.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
[11:26:35]: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.HobbyistSoftware.poop [Payload/Poop Pack.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
Return status of iTunes Transporter was 1: ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.HobbyistSoftware.poop [Payload/Poop Pack.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure.
[11:26:35]: Variable Dump:
[11:26:35]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios release", :BUILD_NUMBER=>"22", :IPA_OUTPUT_PATH=>"/Users/rob/tmp/FastlaneBuild/Poop Pack.ipa", :DSYM_OUTPUT_PATH=>"/Users/rob/tmp/FastlaneBuild/Poop Pack.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/rob/Library/Developer/Xcode/Archives/2016-09-29/Poop Pack 2016-09-29 11.22.49.xcarchive", :SIGH_PROFILE_PATH=>"/Users/rob/Documents/Development/Mac/iPhone/PoopPack/AppStore_com.HobbyistSoftware.poop.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/rob/Documents/Development/Mac/iPhone/PoopPack/AppStore_com.HobbyistSoftware.poop.mobileprovision"], :SIGH_UDID=>"75fce413-4882-4aac-afa8-c28a2c3b77a7", :SIGH_PROFILE_TYPE=>"app-store"}
[11:26:35]: Could not upload binary to iTunes Connect. Check out the error above

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | increment_build_number              | 0           |
| 4    | gym                                 | 102         |
| 5    | sigh                                | 11          |
| 6    | deliver                             | 115         |
+------+-------------------------------------+-------------+

[11:26:35]: fastlane finished with errors

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
  desc "Deploy a new version to the App Store"
  lane :release do
    # match(type: "appstore")
    # snapshot
    increment_build_number
    gym # Build your app - more options available
    sigh
    deliver(
      skip_screenshots: true,
      skip_metadata: false,
      submit_for_review: false,
      automatic_release: true)
    # frameit
  end

Deliverfile
scheme "Poop"
output_directory "~/tmp/FastlaneBuild"
use_legacy_build_api true

Environment
fastlane version (run fastlane -v):
fastlane 1.104.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
no
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
rvm

thank you fastlane bot!
to be more specific - automatic code signing seems to be pretty great now.
The troubleshooting guide suggests disabling it.
Is that still the only way - and if so, are there any plans to make fastlane compatible with auto-code signing?

Seems like it's using a Development profile instead of a Distribution one. Make sure to select the distribution profile in the Xcode General tab. Also, please share a screenshot of the General tab and the Code Signing section in the Build Settings

@KrauseFx I might be missing something - but my understanding is that with automatic signing, I don't get to choose the profile.
If the answer is just 'fastlane won't work with automatic', then so be it - but if there is a way to have the advantages of automatic, and also fastlane, then that would be great!

@ConfusedVorlon Thanks for following up. Right now you'll need to manually set this up in most cases. However, I have reached out to the team because I think we need to make a definitive statement on this. Also, are you interested in making this fail better or supported via a PR? That'd be really interesting. Thanks again 👍

Yeah, it would be great if we can share some light on this. So from after playing around with the automatically signing migration and fastlane. Automatically signing uses a developer profile to create the archive of the app, then it will export and sign with the distribution profile.
This developer profile that it signs with is a special provision profile that gets generated by Xcode, but isn't visible to the Apple portal and it's called "iOS Team Provisioning Profile: {bundle identifier}".
Now match doesn't seem to have a way of retrieve these special provisioning profile or generating them. I think if match development actually picks up these special provisioning profile it will fix the issue. In the interim, I have been manually adding them to the match repo, and it seems to work pretty smoothly.

@TKBurner it would be great to have clarity on this. Better still if you can play nicely with automatic signing.
re a pull request - I think I'm done with those. It was deeply painful the last couple of times I tried.
thanks for following up.

Thanks for the feedback @ConfusedVorlon @kwoylie, I completely agree we can do a better job documenting best practices around how to manage code signing in Xcode 8 with fastlane and match. As you know we've worked on completely building the docs.fastlane.tools from scratch. We're still working on refining all the docs, and want to put a big focus on code signing too.
Thanks for the feedback, we'll definitely work on this over the next days and weeks 👍

Same problem here. iTunes is rejecting my app when I use fastlane and automatic code signing is enabled on Xcode 8.
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle myapp.app [Payload/MyApp.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
[20:05:40]: Transporter transfer failed.

Match shows the correct provisioning profile on the summary.

It would be nice to be able to skip match and sigh altogether and stick with automatic, since it does appear to work with distribution; although maybe not the private key aspect, but I have not tested on a clean keychain yet.
Right now this issue is preventing us from pushing to crashlytics with fast lane.

@ConfusedVorlon @hdoria @Cyclic This is a topic of great discussion this week with the core team. We definitely want to improve expectations or behavior around this. Thanks! 👍 👍

any word on this?

@ConfusedVorlon Thanks for following up. Check out the docs here, https://docs.fastlane.tools/codesigning/xcode-project/#using-match-development-or-xcode-automatic-provisioning

Hi @TKBurner thanks for the response.
The docs seem to imply that we can use automatic signing if we're only developing on a single computer.
That works for me with some apps - but not with others. Is that now a bug I should report separately?


mesa3d: Add support for libgallium_dri.so in libdir

Why
Mesa 24.2 has instroduced substantial changes in gallium/targets/dri:

Default new naming for libgallium_dri.so is libgallium-$VERSION.so
Symlinks are not used anymore
Option '-Dunversion-libgallium=true' allows to use the old libgallium_dri.so name

Changelog
MESA3D_VERSION variable is added to retain Major and Minor version of mesa
For MESA3D_VERSION <= 24.1 there is no change in pre-existing Android build rules
For MESA3D_VERSION >= 24.2 libgallium_dri.so is installed in /vendor/${LIBDIR} and symlinks generation is skipped
Trebelized builds will need to add Vendor SPHAL entry in sepolicy/filecontexts to allow dlopen() of libgallium_dri.so in the new path
BOARD_MESA3D_EXTRA_MESON_ARGS should have '-Dunversion-libgallium=true' for mesa 24.2 and later,
unless libgallium_dri.so name is already selected in src/gallium/targets/dri/meson.build with 'or with_platform_android' condition thus not requiring to set unversion-libgallium option.

Hi Roman, thanks for the suggestions, I will implement and test the improvement and push updated commit

Thank you! Merging...


Feature request: join two or more IndexMap

Hi, could it be possible to implement join two IndexMap to one, or insert one IndexMap to another?
Thank you,
Marian

There's no method for it, as there are many variations of behavior that might be desired. The most generic way is to use Extend, like map.extend(other), or map.extend(other.drain(..)) to keep the other allocation.

This is equivalent to calling insert for each of them in order, which means that for keys that already existed in the map, their value is updated but it keeps the existing order.

If you want different update semantics, you can iterate the other map yourself and use the entry API for efficient lookups to update the target map.
It's also up to you to decide the desired order of the resulting map, and make that happen.

The standard library also has BTreeMap::append, BTreeSet::append, and Vec::append, but not for HashMap and HashSet. I think it would be fine to add to IndexMap::append and IndexSet::append though, with the same insert-replacement semantics that I mentioned before.


MRG: Fix CircleCI

Todo:

[x] fix plot_covariance_whitening_dspm.py
[x] fix plot_lcmv_beamformer_volume.py
[x] get rid of mysterious *2 factor we had to add to our tolerance

The second one is not straightforward, so I'll probably tackle it Monday.

Okay I figured out the problem was that we were not applying projectors when calculating the rank. Now we do by default (with an expert option not to). Doing this allowed me to get rid of the mysterious *2 factor that we had to have in our _estimate_rank_from_s function (hooray!).

https://11369-1301584-gh.circle-artifacts.com/0/dev/auto_examples/inverse/plot_lcmv_beamformer_volume.html
https://11369-1301584-gh.circle-artifacts.com/0/dev/auto_examples/inverse/plot_covariance_whitening_dspm.html

@larsoner please merge if you're done here. LGTM thanks


The currency changed after killed the app.

Moved to $ after killing the app. First it was £ which was correct but when I kill the app, it became $.

First time this is £ but gets reset to $ if you force close the app and come back. The Région/ location from settings is not getting persisted

"initMigration" action was updating it to default USD currency now this is removed as we do not use these method anymore
Get solved after these changes
https://github.com/bithyve/hexa/commit/c74e0fd63666a4f5fd7f232d936a7eb5a173fb76

Verified this issue on dev app v1.9.5(337)


Updating GPU drivers closed all terminals

Windows Terminal version
1.18.1462.0
Windows build number
Version 10.0.19045.2965
Other Software
No response
Steps to reproduce
Open a terminal and have some work in progress.
Install new nvidia drivers.
Expected Behavior
Terminal windows don't close when updating GPU drivers.
Actual Behavior
During the GPU driver reset as part of the upgrade (when screen blanks), all terminal windows close and you lose all of your work.

Windows Terminal probably crashed when you upgraded your driver. Is there any chance you have a crash report in the Event Viewer for Windows Terminal?

Or do you maybe have any dumps in %LOCALAPPDATA%\CrashDumps?
I just upgraded my Nvidia graphics driver and didn't have any crashes, so it probably at least doesn't happen all the time. What graphics driver did you upgrade?

It does have an entry in event viewer:

And there is a dump as well

nvwqf2umx.dll

That might be a bug in the Nvidia driver, I think? If you're willing to share the dump with us, you can share it either on GitHub or send it to us via mail. You can find my personal mail address on my GitHub profile, and I'll then forward it to the rest of the team. However, it might contain parts of your terminal's contents.

What's going on with the bot? ._.

I'm sorry, I think the bot is having an episode.

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

Not stale,xsent attachment via email

I forgot to comment back... I tried to use the dump but unfortunately it has been corrupted during the crash. The stack trace contains 3 function calls where the second one is at address 0 and the usual WinDbg helpers failed to pull out any additional information as well.
I'll close the issue for now because of this, but I'd be happy to reopen it if it occurs again and we happen to get a valid crash dump. I suspect however that this is a bug in Nvidia's driver.

It happened again today with the latest nvidia update.
On Wed, Jul 12, 2023 at 5:57 PM Leonard Hecker @.***>
wrote:

Closed #15553 https://github.com/microsoft/terminal/issues/15553 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/15553#event-9804364942, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVTFWJM7H6POL5D5HXK2D3XP4MUNANCNFSM6AAAAAAZHCGVRY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Only two places in the code check for DXGI_ERROR_DEVICE_REMOVED or DXGI_ERROR_DEVICE_RESET
/mnt/d/git/terminal$ ack DXGI_ERROR_DEVICE_REMOVED'|'DXGI_ERROR_DEVICE_RESET
src/renderer/atlas/AtlasEngine.r.cpp
58:    if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)
src/renderer/dx/DxRenderer.cpp
1538:                recreate = hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET;
1558:                recreate = hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET;
Does the normal run loop, when not typing in to the console, call any DX12 API calls other than present?
Also, in the handling of those errors it only seems to retry 3 times for a total of less than a second:
// Add a bit of backoff.
// Sleep 150ms, 300ms, 450ms before failing out and disabling the renderer.
Sleep(renderBackoffBaseTimeMilliseconds * (maxRetriesForRenderEngine - tries));

Display blanking during driver updates and stuff can go for considerably more than 900ms.  Also consider something like detaching a Surface screen shortly after resume from hibernate when things are swappy.
Note if you change maxRetriesForRenderEngine you should also change that sleep line.  Should probably have a static_assert in place or a min to make sure the sleep doesn't go negative when changing that value.

WDDMConEndUpdateDisplayBatch that swaps the swap chain textures doesn't seem to handle errors assuming these are the calls to it via EndPaint:
src/interactivity/win32/windowproc.cpp
829:    // BeginPaint/EndPaint does a bunch of other magic in the system level
832:    // We've tried in the past to not call BeginPaint/EndPaint
847:    LOG_IF_WIN32_BOOL_FALSE(EndPaint(hwnd, &ps));
src/renderer/base/renderer.cpp
134:        LOG_IF_FAILED(pEngine->EndPaint());

It happened again today with the latest nvidia update.

Ah, fuck... If it's a recurring issue, I'll leave it open.

Only two places in the code check for DXGI_ERROR_DEVICE_REMOVED or DXGI_ERROR_DEVICE_RESET

The crash is definitely not due to any of those error codes, nor due to the retrying. The hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET check is only there to decide whether an error is an expected or unexpected. If it's an expected one (either of the 2 error codes) it'll retry indefinitely. But if it's neither of the 2 then the retry loop you found will only try up to 3 times to rerender the contents. If that fails, the application won't simply exit/crash, however. Instead, you'll see this (last error code + a prompt to resume rendering):

It's also not the EndPaint(hwnd, &ps) either, because src/interactivity is code specific to conhost (the old console window) and is not used for Windows Terminal.
I suspect that this issue either happens due to a driver bug or due to us accessing a nullptr member when the renderer is gone. I think both of these are about equally likely and also equally hard to debug. 🫤
You could try sending me your latest crash dump again. Maybe it's uncorrupted this time?

I had NDA'd stuff in the terminal and can't send.
Is it possible to switch off GPU rendering to WDDM or is that tied to the context ther terminal is being used in?  Stability of the terminal is the highest priority.

I found the software rendering setting, I'll switch to that if it doesn't spin a core when not drawing anything or something.
I can open the dump for you if there are instructions to get the project up easily at the right revision somewhere.
I'm on
Windows Terminal Preview
Version: 1.18.1462.0

What about the other line:
src/renderer/base/renderer.cpp
134:        LOG_IF_FAILED(pEngine->EndPaint());

Seems to just log if EndPaint failed rather than handling it.  That one isn't specific to conhost right?

In the Microsoft Store you can find "WinDbg" (and WinDbg Preview - either are fine). If you open the crash dump with WinDbg it'll automatically resolve symbols for you. In the "Command" window you can type !analyze -v for an initial triage of the issue. The "Stack" window (bottom right, in a tab, by default) shows the stack trace which is also important. You can also get a textual stack trace in the Command window by typing k. If you type kp you get a stack trace with function parameters. If you type ~* kp you get that but for all running threads.
In short, the commands !analyze -v and ~* kp might contain the most helpful information.

Looks like more crash info than last time and not in a GPU driver call:

FAULTING_SOURCE_FILE:  C:\a\_work\1\s\src\renderer\atlas\BackendD3D.cpp

FAULTING_SOURCE_LINE_NUMBER:  1481

FAULTING_SOURCE_CODE:
No source found for 'C:\a\_work\1\s\src\renderer\atlas\BackendD3D.cpp'

SYMBOL_NAME:  Microsoft_Terminal_Control!Microsoft::Console::Render::Atlas::BackendD3D::_drawSoftFontGlyph+19e

That's amazing! Thank you so much for spending time on this!
I'm sure you're not actually using soft fonts (soft fonts are custom fonts you can specify via VT), right? This indicates that we have a bug where we either don't properly reset the BackendD3D::_glyphAtlasMap hashmap or the ShapedRow::mapping vectors.
If you go up in the callstack twice into _drawText you should be here:
https://github.com/microsoft/terminal/blob/57b9549ff814b52cdcf2bf36c69488db22abcde2/src/renderer/atlas/BackendD3D.cpp#L1012
Can you see the contents of the row variable? This one:
https://github.com/microsoft/terminal/blob/57b9549ff814b52cdcf2bf36c69488db22abcde2/src/renderer/atlas/BackendD3D.cpp#L970
A screenshot of its contents would be helpful, but in particular its mappings member would be interesting: Both, how many items the mappings vector has and which ones / how many of them have a fontFace value of nullptr. (Hopefully WinDbg loads the embedded NatVis data correctly - in that case you'll have a much easier time inspecting those containers.)
If you have trouble viewing the data, I'll try to investigate those BackendD3D::_glyphAtlasMap hashmap and ShapedRow::mapping anyways. I'm pretty sure it should be some code that uses them. You helped me a ton already! Thanks!

I don't think I'm using soft fonts, just running default ubuntu through WSL without much console customization.
Here's the locals for _drawText:

Aww... The dump doesn't contain the contents of the heap. I'll try option 2 then: Re-read all the code that touches those two member variables I mentioned before, until I found it. 😄 If you can, please keep the dump file for a few more weeks, just in case. 🙂

Oh I only just now noticed:

Please correct me if I'm wrong @j4james (primary author around soft fonts), but I believe that a non-zero cellSize in the UpdateSoftFont call can only occur when a soft font is actually used right?
@muchcharles Could you perhaps be using soft-fonts unknowingly? Are you using any more "fanciful" VT applications through WSL? Or maybe the WSL output gets corrupted and the output is accidentally interpreted as a soft font?

I don't think so, mostly just vim with very few plugins and normal shell command stuff.  What are some of the big terminal apps that use soft fonts?

Please correct me if I'm wrong @j4james (primary author around soft fonts), but I believe that a non-zero cellSize in the UpdateSoftFont call can only occur when a soft font is actually used right?

Yeah, it's only called with a non-zero size when the DECDLD sequence is finished processing here:
https://github.com/microsoft/terminal/blob/c4436157c116880c320b5df278d4d886a930c0f3/src/terminal/adapter/adaptDispatch.cpp#L3899-L3902
The only other time it's called is when in response to an RIS hard reset, but that's with a zero size. See here:
https://github.com/microsoft/terminal/blob/c4436157c116880c320b5df278d4d886a930c0f3/src/terminal/adapter/adaptDispatch.cpp#L3062-L3064

@j4james The cellSize for soft fonts is here though:

Yeah, sorry, I misread that.
But if it's not that, I have no idea how we're ending in this state. It seems like something must be getting corrupted at some point, and it's highly unlikely that the OP is using soft fonts if they aren't doing so consciously, so how do we end up in the _drawSoftFontGlyph method? Could it be something like the fontFaceEntry.fontFace field getting reset as a result of the driver update? Although that doesn't explain where that height value came from. I'm stumped.

I'm marking this up for 1.20 so that we remember to ask next quarter if this issue popped up again after updating to 1.19.


feat: update to postcss@8

This pull request upgrade to postcss@8
Related Issue
#5
create-react-app cannot upgrade to postcss@8 https://github.com/facebook/create-react-app/issues/9664
postcss-normalize are trying to update to postcss@8 https://github.com/csstools/postcss-normalize/issues/52

@RyanZim I see that you approved this PR over a month ago.
Any chance of merging it and pushing out a release so postcss-normalize can do the same and other dependents like create-react-app/CRA can do their own releases that are depending on this to upgrade to PostCSS v8?

@jonathantneal could you merge/release?

Hi @radiosilence, thanks for the ping.


Update containerd deps

This includes general fixes and the license change where the license is
included in all files.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

@crosbymichael vndr cross-check isn't happy with some files:
These files were modified:
?? vendor/github.com/containerd/cgroups/rdma.go
?? vendor/github.com/containerd/console/tc_openbsd_cgo.go
?? vendor/github.com/containerd/console/tc_openbsd_nocgo.go

@estesp thanks, fixed

Ok, i would have to update the spec also but since there is not another release yet with the rdma changes I'm not sure we want to do that at this time.

Codecov Report

Merging #2197 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2197   +/-   ##
=======================================
  Coverage   41.11%   41.11%
=======================================
  Files          66       66
  Lines        7544     7544
=======================================
  Hits         3102     3102
  Misses       3961     3961
  Partials      481      481

Flag
Coverage Δ

#windows
41.11% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5447179...1793820. Read the comment docs.


feat: support external deps for host runs

:gift: host runs (go) pull dependencies
This is the same logic as what happens during a containerized build, but locally on the host.
func run --builder=host --container=false

@lance please override the failing windows unit test.

/override "Unit Test (1.20.2, 17, windows-latest)"

/approve
/lgtm


Feature request: Support refreshing Auth Cookies from inside a server action

Use case: I'm handling user sign up form submission inside a server action, and since the user's claims get updated, I would need to refresh the auth cookies.

Hey @abusada!
Thanks for reporting.
It looks like a duplicate of https://github.com/awinogrodzki/next-firebase-auth-edge/issues/124#issuecomment-1803567433
At this moment it's impossible to manipulate response headers from Server Actions (see linked comment)
A workaround would be to call /api/login from client just after user sign up.
Let me know if that helps!

@awinogrodzki not sure if this was added recently, but Server Actions do support modifying cookies: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options
@abusada my current workaround is to run the middleware version of the refreshAuthCookies function, then parse the set-cookie header on the response and manually call cookies().set(). Seems to be working well for me, but definitely would be great to have a more official solution!

Hey @steve-marmalade! Thanks for a heads up! That's wonderful news. I wasn't aware of cookies().set(...) method. I might have missed it or it was introduced recently. Either way, I will implement support to refresh auth cookies from inside server action.
At the moment I am working on 1.x release with improved API's, docs and magic link support. I will work on improved Server Actions support just after I release 1.0.
Cheers 🎉

Hey @abusada @steve-marmalade !
Since<EMAIL_ADDRESS>you can now refresh auth cookies from inside Server Actions using refreshServerCookies function imported from next-firebase-auth-edge/lib/next/cookies
See https://next-firebase-auth-edge-docs.vercel.app/docs/usage/refresh-auth-cookies#refresh-auth-cookies-in-server-actions
Let me know how it works!
Cheers :tada:


Richtext BMSLogger fix

Noticed that BMSLogger uses rich text tags to colorize Debug/Warning/Error logs differently, but the OnGUI call wasn't using a richtext style so the tags were being printed unparsed.
Fixed that and also made a small cleanup by use string interpolation instead of string.Format

String interpolation is not used as it is a C# 6.0 feature and the project has not yet been updated to use never features as far as I know.

I might be wrong on this but the project has .NET frame work 4.x set in its player settings which should mean C# 6.0 is available.
Can just remove that commit if that suits as the rich text fix is at least useful

I personally don't mind as I use string interpolation myself in my projects, just highlighting that as far as I know not everything has been properly moved over.


support multiple pointCuts and jointPoints on same component

Found the bug on current version(1.0.1). Aspect is being applied to only for the first pointcut. For instance:
if input is:
[{
    componentName: 'MyComponent',
    jointPoint: 'before',
    pointCut: '_aopHook',
    advice: adviceOnEntry
  }, {
    componentName: 'MyComponent',
    jointPoint: 'after',
    pointCut: '_aopHook1',
    advice: adviceOnLoad
  }]

I only see it working for first pointCut, _aopHook but not for _aopHook1.
The bug is react-aop adds the aspect on React.createClass and this is invoke only once for MyComponent.
fix: when React.createClass is called, let find all aspectees with same componentName as spec.Displayname and apply the aspect.

fixed


Scrollbar thumb does not shrink upon overscroll

Describe the bug

Steps to reproduce the bug

Steps to reproduce the behavior:

Go to '...'
Click on '....'

Expected behavior

Screenshots

Version Info

NuGet package version:

Windows app type:

UWP
Win32

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

October 2020 Update (19042)

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop

Xbox

Surface Hub

IoT

Additional context

i cbf filling it out
latest XCG from store. winui 2.6. windows 10 21h1

I think this is by design.

@StephenLPeters bruh what. BY DESIGN??. consult yo designers. surely the new ones don't think the same way @karenbtlai

Maybe we are thinking about different things? I'm just guessing based on the title since there is very little info to go off of.

@chigy and @alejo4000 FYI

@Poopooracoocoo can you provide more details or a video of what you are seeing and what you expect to see ?

good god tried to show the bug in the MS Store bug here are two bugs lmao:

Okay so look at EdgeHTML's scrollbar (found in the MS Store)

:

The EdgeHTML (and IE) scrollbar works how I'd expect it to.
No other scrollbars work the same currently. Whether that's the WPF, WinForms or WinUI scrollbars. Or the ones in Office or in Chromium.

@StephenLPeters thots?

@ranjeshj @alejo4000 @chigy @StephenLPeters So uh. It's been a while...

@Poopooracoocoo , thank you for your feedback. Currently, the behavior you see with scroll bar other than EdgeHTML is the intended design.
We currently have no plan on revisiting this at the moment, but I take your feedback in mind when we do.


Use comma instead of semicolon for flow types?

Instead of:
type Friends = {
  id: number;
  name: string;
}

can we have it generate:
type Friends = {
  id: number,
  name: string
}

(also, there should really be a semicolon after type __ = {}
FYI: https://flow.org/en/docs/types/aliases/

Thanks for reporting. The fix is live now.

Thanks for the quick fix! There's another flow issue I've noticed, will track that in a new issue

do you know why it's dropping comma now?


Add support for border-radius and border-style

According to http://www.w3.org/TR/css3-background/#border-radius
additional help http://www.w3.org/TR/CSS21/box.html#box-dimensions

Nice. Few things to keep in mind, which might not explicitly mentioned in the border-radius spec but is relevant when implementing:

Can border-styles be easily implemented with the approach you are going with for the border-radius
Perform correct clipping (background-clip property)

I'm working on this here https://github.com/bondehagen/html2canvas/tree/bordersandbox
Still a few bugs and refactoring todo.


Switch VERBOSE to VERBOSE_SIM

Describe problem solved by this pull request
VERBOSE=1 was added in https://github.com/PX4/Firmware/pull/15720 to enable verbose outputs from the simulation. However, the term VERBOSE is not exactly accurate since it configures the verbose output of the gazebo simulation and nothing else.
Describe your solution
This changes the environment variable VERBOSE to VERBOSE_SIM, to explicitly state that it configures the verbose output of the simulation

@Jaeyoung-Lim Is this flag documented? I don't see it here: https://dev.px4.io/master/en/simulation/gazebo.html#usageconfiguration-options

@hamishwillee Added to the docs in https://github.com/PX4/Devguide/pull/1088 Thanks!


[Unity][BlockBuilder] CallTE convert PrimValue args

Prior to this PR, the call_te of BlockBuilder is not capable of converting PrimValue arguments and directly rejects PrimValues instead. This PR fixes this behavior with PrimValue conversion support and one regression test.
Co-authored-by: Siyuan Feng<EMAIL_ADDRESS>

It contains the change in #14027.


Preview needs setTimeout

Why I need to use setTimeout(function(){ player.play() }, 500); for watching a preview of the recorded video? If I just use player.play() after finishRecord fires, I don't get any result.

@Guiladg hmm haven't seen that before. You haven't told us what version of video.js/videojs-record/recordrtc though.

Closing, no feedback.


Add Java-like Value.collect() methods to increase interoperability

java.util.stream.Stream has:

collect(Collector<? super T,A,R> collector)
collect(Supplier<R> supplier, BiConsumer<R,? super T> accumulator, BiConsumer<R,R> combiner)

When we add these as default methods to javaslang.Value, Javaslang types will be ✨automagically✨ convertible to all libraries that are built on top of java.util.stream.Stream (e.g. jooq/jool, amaembo/streamex, ...), but more important this allows us to re-use user-defined aggregation functions based on Collectors.
Because this is a conversion method, we implement it in Value (or Convertible) rather than in Traversable. Iterator will benefit from it because in a future Javaslang version Iterator will not extend Traversable any more (see #1295).

Since this is a conversion method, we may implement it in Value (or Convertible) rather than in Traversable. Iterator would benefit from it because in a future Javaslang version Iterator will not extend Traversable any more. Instead Value is split into Value and Convertible and Iterator will extend Convertible. (see #1295)

Is this really necessary? You can just do .toJavaStream() and call collect(...) on that.

It is more concise. Also it works for all Values. It might be confusing to stream an Option for example because java.util.stream.Stream is associated with collections.

I'm not really against it and I thought about it myself some time ago, but it's a bit bloaty in my opinion since you can do without and it's something you need very rarely. And btw, Option is a kind of collection! :wink:

I will think about it... we should only pull in changes that make sense.

Finished, we will keep it because they increase interoperability. In particular Collectors of other libraries can now be used in conjunction with Javslang. Many thanks @earlzero.


Known vulnerabilities not as expected

Describe the bug
Perhaps it's a misunderstanding, but I'm unclear what the field "Known vulnerabilities" represents, as I deliberately made an action which included packages (although not used by the code), containing critical vulnerabilities, yet the action reports none.

However from dependabot, there are two issues:

To Reproduce
Steps to reproduce the behavior:

Configure this action.
Add "digimangos-playground/delibrately-vulnerable-action@main" to the allow list and commit to a new branch.
Create a PR from the branch to "main" and await the result from the action.

Expected behavior
I expected the action to show 2 vulnerabilities.

@digimangos not seeing the "Dependabot alerts" tab when navigating to https://github.com/digimangos-playground/delibrately-vulnerable-action/security

Might be a permission thingy.

The README.md files says to create a PAT with no scopes (presumably because it's scanning public repos), let me give it some scope and see if it picks up the dependabot alerts which are hidden as you mentioned.

give it some scope and see if it picks up the dependabot alerts which are hidden as you mentioned.

It won't. That info seems to be no longer visible through the APIs.

So... @stoe what scenario would give a positive value in the "known vulnerabilities" section?


Set loop value to true in layoutControls config

Hi,
Have created a demo which auto-replay video when completed, please check 'https://codepen.io/bharath-exads/pen/gNymyZ'


⚠ Heritage of Faith Christian Church - Gold Coast has degraded performance

In 0c5163d, Heritage of Faith Christian Church - Gold Coast (https://heritageoffaith.com.au) experienced degraded performance:

HTTP code: 200
Response time: 6414 ms

Resolved: Heritage of Faith Christian Church - Gold Coast performance has improved in e6d4def.


CODEC-285 Base32InputStreamTest testReadNull

Follow up for PR https://github.com/apache/commons-codec/pull/39
From experience people write tests that don't check exceptions correctly, either they are not thrown, or a different than expected line throws that exception, or it's the wrong exception, or wrong message.
Using assertThrows to explicitly check the expected line throws the expected exception.

Coverage remained the same at 93.84% when pulling ba00181f48cf2c915a08ba99afe64f9afeceacc8 on nhojpatrick:CODEC-285_Base32InputStreamTest_testReadNull into 126f90424cc8f62d928686ec20c6c8bd944b527b on apache:master.

If easier I can collapse these into the CODEC-285 PR

Closing: Superseded in git master (commit 5a03f5a493240f26f27ccabe6b8ac7b701c2d5c5)


change: deprecate ApplicationFactory::VERSION, auto-detect behat version

As discussed in https://github.com/Behat/Behat/discussions/1484#discussioncomment-11141724
The ApplicationFactory::VERSION constant has not been bumped for the last couple of releases, and updating it manually every time is an avoidable maintenance burden.
Deprecate the constant - it will not be updated in the future, and will be removed in next major.
Instead, use composer's runtime API to detect the version at runtime (only really used for inclusion in tool output). This follows the pattern used by e.g. doctrine
Composer's version is generated to a file at the time of composer install and therefore is baked into the .phar so that also works as expected.
Note that in some cases composer versions are non-numeric (e.g. a dev branch may report a version of dev-c629b4a773cf2dc11e0930bd8930adf22eae5031).

I have tested this with a fake release on my fork and confirmed that the correct version number is detected by composer and baked into the .phar - see the github actions logs at https://github.com/acoulton/Behat/actions/runs/11713947654/job/32627706336


:up: tree-sitter-typescript

For https://github.com/microsoft/vscode/issues/166265

@vscode/l10n-dev, that uses this package, runs in a separate process so I don't think this should affect Electron 22 migration. Closing this.

@darkbasic @PF4Public sorry I haven't responded back on the tree-sitter issue, I was focusing on v8 sandbox that breaks our extension host with Electron 22 update (details on this will be up later this week).
As for the issue you are facing, can you provide the list of commands you are running that leads to this error. We have been building exploration builds from Electron 22 branch for a while now and haven't hit this issue blocking the build.

@deepak1556 I tried building vscode-1.76.2 against electron 19..23.
Building against electron 19 shows no issues.
Building against electron 20 succeeds even though there is following issue:

long listing
warning Error running install script for optional dependency: "/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript
Output:
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp info find Python using Python version 3.11.2 found at \"/usr/bin/python3.11\"
gyp WARN read config.gypi ENOENT: no such file or directory, open '/usr/include/electron-20/node/include/node/config.gypi'
gyp info spawn /usr/bin/python3.11
gyp info spawn args [
gyp info spawn args   '/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/include/electron-20/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/usr/include/electron-20/node',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/usr/include/electron-20/node/$(Configuration)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript/build'
  CC(target) Release/obj.target/tree_sitter_typescript_binding/typescript/src/parser.o
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
In file included from ../typescript/src/parser.c:1:
../typescript/src/parser.c: In function ‘ts_lex_keywords’:
../typescript/src/tree_sitter/parser.h:135:8: warning: variable ‘eof’ set but not used [-Wunused-but-set-variable]
  135 |   bool eof = false;             \\\n      |        ^~~
../typescript/src/parser.c:5342:3: note: in expansion of macro ‘START_LEXER’
 5342 |   START_LEXER();
      |   ^~~~~~~~~~~
  CC(target) Release/obj.target/tree_sitter_typescript_binding/typescript/src/scanner.o
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
  CC(target) Release/obj.target/tree_sitter_typescript_binding/tsx/src/parser.o
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
In file included from ../tsx/src/parser.c:1:
../tsx/src/parser.c: In function ‘ts_lex_keywords’:
../typescript/src/tree_sitter/parser.h:135:8: warning: variable ‘eof’ set but not used [-Wunused-but-set-variable]
  135 |   bool eof = false;             \\\n      |        ^~~
../tsx/src/parser.c:5600:3: note: in expansion of macro ‘START_LEXER’
 5600 |   START_LEXER();
      |   ^~~~~~~~~~~
  CC(target) Release/obj.target/tree_sitter_typescript_binding/tsx/src/scanner.o
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
  CXX(target) Release/obj.target/tree_sitter_typescript_binding/bindings/node/binding.o
In file included from ../../nan/nan.h:178,
                 from ../bindings/node/binding.cc:3:
../../nan/nan_callbacks.h:55:23: error: ‘AccessorSignature’ is not a member of ‘v8’
   55 | typedef v8::Local<v8::AccessorSignature> Sig;
      |                       ^~~~~~~~~~~~~~~~~
../../nan/nan_callbacks.h:55:40: error: template argument 1 is invalid
   55 | typedef v8::Local<v8::AccessorSignature> Sig;
      |                                        ^
../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, imp::Sig)’:
../../nan/nan.h:2544:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&, Nan::imp::Sig&)’
 2544 |   tpl->SetAccessor(
      |   ~~~~~~~~~~~~~~~~^
 2545 |       name
      |       ~~~~
 2546 |     , getter_
      |     ~~~~~~~~~
 2547 |     , setter_
      |     ~~~~~~~~~
 2548 |     , obj
      |     ~~~~~
 2549 |     , settings
      |     ~~~~~~~~~~
 2550 |     , attribute
      |     ~~~~~~~~~~~
 2551 |     , signature);
      |     ~~~~~~~~~~~~
In file included from /usr/include/electron-20/node/v8-function.h:15,
                 from /usr/include/electron-20/node/v8.h:33,
                 from /usr/include/electron-20/node/node.h:69,
                 from ../bindings/node/binding.cc:2:
/usr/include/electron-20/node/v8-template.h:807:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
  807 |   void SetAccessor(
      |        ^~~~~~~~~~~
/usr/include/electron-20/node/v8-template.h:812:22: note:   no known conversion for argument 7 from ‘Nan::imp::Sig’ {aka ‘int’} to ‘v8::SideEffectType’
  812 |       SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-20/node/v8-template.h:814:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
  814 |   void SetAccessor(
      |        ^~~~~~~~~~~
/usr/include/electron-20/node/v8-template.h:819:22: note:   no known conversion for argument 7 from ‘Nan::imp::Sig’ {aka ‘int’} to ‘v8::SideEffectType’
  819 |       SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../bindings/node/binding.cc: At global scope:
/usr/include/electron-20/node/node.h:862:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  862 |       (node::addon_register_func) (regfunc),                          \\\n      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-20/node/node.h:896:3: note: in expansion of macro ‘NODE_MODULE_X’
  896 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../bindings/node/binding.cc:35:1: note: in expansion of macro ‘NODE_MODULE’
   35 | NODE_MODULE(tree_sitter_typescript_binding, Init)
      | ^~~~~~~~~~~
make: *** [tree_sitter_typescript_binding.target.mk:136: Release/obj.target/tree_sitter_typescript_binding/bindings/node/binding.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:527:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Linux 5.15.0-1034-azure
gyp ERR! command \"/usr/lib64/electron-20/electron\" \"/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript
gyp ERR! node -v v16.15.0
gyp ERR! node-gyp -v v9.0.0
gyp ERR! not ok
make: Leaving directory '/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter-typescript/build'"

info This module is OPTIONAL, you can safely ignore this error

warning Error running install script for optional dependency: "/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter: Command failed.
Exit code: 1
Command: prebuild-install || node-gyp rebuild
Arguments:
Directory: /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter
Output:
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp info find Python using Python version 3.11.2 found at \"/usr/bin/python3.11\"
gyp WARN read config.gypi ENOENT: no such file or directory, open '/usr/include/electron-20/node/include/node/config.gypi'
gyp info spawn /usr/bin/python3.11
gyp info spawn args [
gyp info spawn args   '/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/include/electron-20/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/usr/include/electron-20/node',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/usr/include/electron-20/node/$(Configuration)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter/build'
  CC(target) Release/obj.target/tree_sitter/vendor/tree-sitter/lib/src/lib.o
cc1: warning: command-line option ‘-std=c++17’ is valid for C++/ObjC++ but not for C
  AR(target) Release/obj.target/tree_sitter.a
  COPY Release/tree_sitter.a
  CXX(target) Release/obj.target/tree_sitter_runtime_binding/src/binding.o
In file included from ../../nan/nan.h:178,
                 from ../src/./language.h:4,
                 from ../src/binding.cc:3:
../../nan/nan_callbacks.h:55:23: error: ‘AccessorSignature’ is not a member of ‘v8’
   55 | typedef v8::Local<v8::AccessorSignature> Sig;
      |                       ^~~~~~~~~~~~~~~~~
../../nan/nan_callbacks.h:55:40: error: template argument 1 is invalid
   55 | typedef v8::Local<v8::AccessorSignature> Sig;
      |                                        ^
../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, imp::Sig)’:
../../nan/nan.h:2544:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&, Nan::imp::Sig&)’
 2544 |   tpl->SetAccessor(
      |   ~~~~~~~~~~~~~~~~^
 2545 |       name
      |       ~~~~
 2546 |     , getter_
      |     ~~~~~~~~~
 2547 |     , setter_
      |     ~~~~~~~~~
 2548 |     , obj
      |     ~~~~~
 2549 |     , settings
      |     ~~~~~~~~~~
 2550 |     , attribute
      |     ~~~~~~~~~~~
 2551 |     , signature);
      |     ~~~~~~~~~~~~
In file included from /usr/include/electron-20/node/v8-function.h:15,
                 from /usr/include/electron-20/node/v8.h:33,
                 from /usr/include/electron-20/node/node.h:69,
                 from ../src/binding.cc:1:
/usr/include/electron-20/node/v8-template.h:807:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
  807 |   void SetAccessor(
      |        ^~~~~~~~~~~
/usr/include/electron-20/node/v8-template.h:812:22: note:   no known conversion for argument 7 from ‘Nan::imp::Sig’ {aka ‘int’} to ‘v8::SideEffectType’
  812 |       SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-20/node/v8-template.h:814:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
  814 |   void SetAccessor(
      |        ^~~~~~~~~~~
/usr/include/electron-20/node/v8-template.h:819:22: note:   no known conversion for argument 7 from ‘Nan::imp::Sig’ {aka ‘int’} to ‘v8::SideEffectType’
  819 |       SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/binding.cc: At global scope:
/usr/include/electron-20/node/node.h:862:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  862 |       (node::addon_register_func) (regfunc),                          \\\n      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-20/node/node.h:896:3: note: in expansion of macro ‘NODE_MODULE_X’
  896 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/binding.cc:25:1: note: in expansion of macro ‘NODE_MODULE’
   25 | NODE_MODULE(tree_sitter_runtime_binding, InitAll)
      | ^~~~~~~~~~~
make: *** [tree_sitter_runtime_binding.target.mk:143: Release/obj.target/tree_sitter_runtime_binding/src/binding.o] Error 1
make: Leaving directory '/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:527:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Linux 5.15.0-1034-azure
gyp ERR! command \"/usr/lib64/electron-20/electron\" \"/usr/lib64/electron-20/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/build/node_modules/tree-sitter
gyp ERR! node -v v16.15.0
gyp ERR! node-gyp -v v9.0.0
gyp ERR! not ok"

info This module is OPTIONAL, you can safely ignore this error

Further build proceeds without issues:
[21:00:24] Using gulpfile /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/gulpfile.js
[21:00:24] Starting 'vscode-linux-x64-prepare-deb'...
[21:00:24] Starting clean-amd64 ...
[21:00:24] Finished clean-amd64 after 3 ms
[21:00:24] Starting vscode-linux-x64-prepare-deb ...
[21:00:25] Finished vscode-linux-x64-prepare-deb after 1244 ms
[21:00:25] Finished 'vscode-linux-x64-prepare-deb' after 1.25 s

Starting with electron 21 it fails in a similar manner with optional tree-sitter, but this time it also fails vscode-linux-x64-prepare-deb for some reason:
[21:03:02] Using gulpfile /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/gulpfile.js
[21:03:02] Starting 'vscode-linux-x64-prepare-deb'...
[21:03:02] Starting clean-amd64 ...
[21:03:02] Finished clean-amd64 after 4 ms
[21:03:02] Starting vscode-linux-x64-prepare-deb ...
Assertion failed: bad export type for `tree_sitter_tsx_external_scanner_create`: undefined
Unhandled Rejection at: Promise Promise {
  <rejected> RuntimeError: abort(Assertion failed: bad export type for `tree_sitter_tsx_external_scanner_create`: undefined). Build with -s ASSERTIONS=1 for more info.
      at se (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:6761)
      at k (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:4462)
      at Pe (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:12582)
      at c (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:10613)
      at /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:10879
      at async /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/@vscode/l10n-dev/dist/main.js:254:10
      at async /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/@vscode/l10n-dev/dist/main.js:243:22
} reason: RuntimeError: abort(Assertion failed: bad export type for `tree_sitter_tsx_external_scanner_create`: undefined). Build with -s ASSERTIONS=1 for more info.
    at se (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:6761)
    at k (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:4462)
    at Pe (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:12582)
    at c (/var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:10613)
    at /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/web-tree-sitter/tree-sitter.js:1:10879
    at async /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/@vscode/l10n-dev/dist/main.js:254:10
    at async /var/tmp/portage/app-editors/vscode-1.76.2/work/vscode-1.76.2/node_modules/@vscode/l10n-dev/dist/main.js:243:22
[21:03:03] The following tasks did not complete: vscode-linux-x64-prepare-deb
[21:03:03] Did you forget to signal async completion?

This issue prevents building vscode with electron 21..23. I have no idea why electron 19..20 have no troubles with this assertion (maybe there was none).

can you provide the list of commands you are running that leads to this error.

Sure, here it is: https://github.com/PF4Public/gentoo-overlay/blob/master/app-editors/vscode/vscode-9999.ebuild

@deepak1556 Have you had time and/or could you reproduce the build failure?


Experimental profile 5 to 8 conversion

Need to test on more samples.

Tested on one working sample with inject-rpu and it played back fine.

You tested this on both non HDR10 compativle (i.e. using IPTPQc2) profile 5 and HDR10 compatible profile 5?

HDR10 compatible profile 5?

What does this mean? Profile 5 is always IPT PQ.
The conversion only makes it possible to use the RPU from a profile 5 file for a HDR10 version of the same title.

Profile 5 is always IPT PQ, so never HDR10 compatible.

No, it is not. For example see Apple 4K screensavers https://docs.google.com/spreadsheets/d/1bboTohF06r-fafrImTExAPqM9m6h2m2lgJyAkQuYVJI/edit?usp=drivesdk
or even this full rip of movie Overlord from stream platform with info hash:
93ac3b3e8fdf72301ceaad905edd31ab24ff5954 (mediainfo https://controlc.com/ca5ca466)
The difference is that IPTPQc2 is full range, has no HDR10 metadata and is not tagged as HDR10 compatible, while the opposite is true for HDR10 profile 5.

The difference is that IPTPQc2 is full range, has no HDR10 metadata and is not tagged as HDR10 compatible, while the opposite is true for HDR10 profile 5.
According to the Dolby docs:
Within the Dolby Vision context, a profile 5 bitstream must use perceptual quantization withreshaping for EOTF; uses Dolby Vision proprietary IPT color space for color primaries and colormatrix; uses full range for range; and uses center-left siting for chroma sample location.

So it must be IPT and PQ, as well as full range.
You have to realize that MP4s are parsed by MediaInfo according to the DOVI config record, not the actual RPU.

According to the Dolby docs:

Apple uses its own specs. Though latest 1.3.2 version of docs does describe the new HLG profile 8.

I need more precision to which sample

All HDR ones, for example https://sylvan.apple.com/Aerials/2x/Videos/comp_CH_C007_C011_PSNK_v02_HDR_FINAL_20180709_HDR_4K_HEVC.mov

Apple uses its own specs for .mov. Though latest 1.3.2 version of docs does describe the new HLG profile 8.
I'm aware of the HLG profile 8.
What I want is specifications for what you're describing as non-IPT profile 5, which goes against the docs I'm using.

If you have no official info or document, then this conversation leads to nowhere.
I'm not comparing RPUs based on single files with no backing specification.

If you have no official info or document, then this conversation leads to nowhere.

Well, LOL, see for yourself https://www.google.com/search?q=Dolby+Vision+mov+spec+apple.com+"profile+5"
"(Profile 5)/HDR10" Also, mov is "just" mp4... Just like webm is "just" mkv.
Also, were you to have LG C9 with reference implementation... It plays those correctly and does not force reshaping and stuff.
Also, I doubt you need to parse RPU, just check for what Mediainfo checks for.
But yeah,
https://sylvan.apple.com/Aerials/2x/Videos/comp_CH_C007_C011_PSNK_v02_HDR_FINAL_20180709_HDR_4K_HEVC.mov looks like requires parsing RPU, as reference windows 10 UWP apps (two apps plus Zune Player, a.k.a. movies and TV) do. Since Mediainfo does not show it as HDR10 compatible, but it is.

I'm not comparing RPUs based on single files with no backing specification

There is docs in the patent, you know.

BTW, are you going to check on something more good, using IPTPQc2? Like on The Mandalorian, The winter soldier or The Avengers: endgame?? I mean, what

working sample with inject-rpu

was that? Was is big enough? Did you check version 4 DV metadata? :)

"(Profile 5)/HDR10" Also, mov is "just" mp4... Just like webm is "just" mkv.

This does not clearly define support for a profile 5 + HDR10 compatible stream, just support for both of the formats.

Also, I doubt you need to parse RPU, just check for what Mediainfo checks for.

You can mux MP4 with any Dolby Vision configuration box, which is what MediaInfo checks.
So using the MP4 configuration doesn't mean much.
So far all the samples you mentioned are confusing info in the RPU.
The base layer has limited RGB range, while the RPU is basically profile 5 and says that it's full range.
There is no reshaping info.
To me it just looks like a messed up conversion from profile 5 to profile 8, since there is no specification document.
I still wouldn't say that it's a real profile 5 because all the info is contrary to the Dolby specs.

BTW, are you going to check on something more good, using IPTPQc2? Like on The Mandalorian, The winter soldier or The Avengers: endgame?? I mean, what

IPT PQ RPU files are already supported by this feature.

was that? Was is big enough? Did you check version 4 DV metadata? :)

Yes it was a full length title.
There are no publicly available CMv4 specifications, so it's impossible to know which is what.
All the RPU parsing is based on Blu-ray spec, which is only version CMv2.9.

BTW. Two samples (VFR, one is 60 fps) from iPhone 11 (profile 8 and strange level, which IS AGAIN not defined by the specification, so...)
https://drive.google.com/file/d/1cTRNwacsV-8J8PtcYNVDXBmGZF1SOynj/view?usp=sharing
And iPhone 12 sample (again strange level):
https://drive.google.com/file/d/1JsFd_KKU0k5Emgl74PnrwmUfqdFDP9JJ/view?usp=sharing

All the RPU parsing is based on Blu-ray spec, which is only version CMv2.9.

LOL, but that does not support IPTPQc2.

The base layer has limited RGB range, while the RPU is basically profile 5 and says that it's full range.

Limited YCbCr, you mean. And, what are you saying is that RPU signales IPTPQc2? Which are signaled by ycc_to_rgb_coefx and rgb_to_lms_coefx, I suppose.

profile 8 and strange level, which IS AGAIN not defined by the specification, so...
The level is not strange, it's level 12.
Who knows why it was set level 12 though.

LOL, but that does not support IPTPQc2.
Yet the RPU format is exactly the same for all the samples I tried. So it doesn't matter.

Limited YCbCr, you mean. And, what are you saying is that RPU signales IPTPQc2? Which are signaled by ycc_to_rgb_coefx and rgb_to_lms_coefx, I suppose.

Yes. It only signals IPT, which is expected to be along a PQ EOTF according to the specs.

The level is not strange, it's level 12.

Yeah, I know what is it in hex, thank you very much. Two levels are 0A and 0C.

To me it just looks like a messed up conversion from profile 5 to profile 8, since there is no specification document.

Okay, if the RPU has LMS stuff the same as that for IPTPQ with c==2, then it is wrong for sure. If you can confirm that, we can just conclude that Apple are just dummies (though interesting that it does not see it as IPTPQc2, is it just limited range check? Will have to check).

The profile 5, HDR10 limited files from Apple all do not have IPT coefficients as expected from profile 5 IPT encoded files.
And the coefficient values are the same as HDR10 streams like profile 7 and 8.
You can confirm all of this easily with dovi_tool info -i RPU.bin -f 0 after extracting the RPU from any file.

The profile 5, HDR10 limited files from Apple all do not have IPT coefficients as expected from profile 5 IPT encoded files

Then Apple are not dummies and HDR10 in apple is supported.

Not until there's official documentation for it.
All the signs point towards an incorrect profile, both according to the Dolby specs as well as mismatching base layer and RPU information.

specs as well as mismatching base layer and RPU information.

So there is a mismatch after all? Sigh, will have to compile dovi_tool myself. Oogh.

Do I understand this correctly as Apple devices basically playing profile 8.1 when (mis)labeled as profile 5 in the decoder config record?

understand this correctly as Apple devices basically playing profile 8.1 when

Maybe. Because that is the profile used by Apple 4K they though they can use it for non-IPTPQc2. Not surprising how hard it was for them to fix 24.000 fps video vs 24/1.001 and how hard it was for them to fix rised blacks in DV.
@quietvoid Okay I will have to read ETSI and patents again to understand whether
While there there are two warning that compiler produces about aud being unused function :)

Do I understand this correctly as Apple devices basically playing profile 8.1 when (mis)labeled as profile 5 in the decoder config record?

@mstattma Apple TV 4K devices have always only supported profile 5 only, so it is quite likely why they are doing it this way.
At first, yusesope's script would modify RPUs to emulate profile 5 for them. That has changed to profile 8 afterwards.

BTW, dovi_tool cannot parse all metadata properly...

If something was parsed incorrectly, the CRC32 hash verification would fail. So far it has not.
If you find a problem, open a new issue.

If something was parsed incorrectly, the CRC32 hash verification would fail

I mean it says there left over bytes. CRC passes.

Remaining bytes are either unknown or simply kept to keep the RPU rewriting lossless.
There's no easy way to reverse engineer what they mean without documentation, if that's what you're after.

Remaining bytes are either unknown or simply kept in memory to keep the RPU rewriting lossless.

Yes, I know how CRC32 works. As well as most other hash functions.

There's no easy way to reverse engineer what they mean without documentation, if that's what you're after.

There is a documentation. In SMPTE docs, in many patents and in ETSI specs.

So open a new issue for support with relevant links.
Obviously you know more than I do.

So open a new issue for support with relevant links.
Obviously you know more than I do.

It looks like there are multiple unknown in multiple trims of L2 (ExtMetadataBlockLevel2) (and no in L6) and one in the end.

No, it's to respect the RPU specifications:
while ( ext_block_use_bits ++ < ext_block_ len_bits )
    ext_dm_alignment_zero_bit      f(1)

Because the data has to be byte-aligned.
However there are titles with more data left over after parsing.
One of those is a test file named data_before_crc32.bin

Thanks, it works perfectly on my lg oled CX tv
web hbo max file 1
Format profile: Main 10@L5@Main
HDR format: Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
Codec ID: dvhe
Codec ID/Info: High Efficiency Video Coding with Dolby Vision
Length: 1 hr 51 min
Bit rate : 17,9 Mb/s
web hbo max file 2 (same movie)
HDR format: SMPTE ST 2086, HDR10 compatible
Codec ID: V_MPEGH/ISO/HEVC
Duration : 1 h 51 min
Bitrate : 17.9 Mb/s
I applied the "assets" "p5_to_p81.json" to modify the rpu.
And I ripped FILE 2 with x265 and RPU_modified.
x265.exe --bitrate 17900 --preset ultrafast --output-depth 10 --vbv-bufsize 24500 --vbv-maxrate 24500 --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50)" --hdr10 --colorprim bt2020 --colormatrix bt2020nc --range limited --chromaloc 2 --dolby-vision-profile 8.1 --dolby-vision-rpu D:\Downloads\incoming\dovitools\RPU_modified.bin --repeat-headers --output "D:\Downloads\torrents reception\TestDolbyVisionMKV-MP4\test.hevc" "


upgrade ckeditor packages

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
none
What's this PR do?
this just upgrades out ckeditor dependencies, including our forked resource-link plugin (which I also just updated to incorporate changes from upstream).
How should this be manually tested?
Test that the markdown editor works as you'd expect. in particular, test our own functionality like the resource embed and link and whatnot.

Codecov Report

Merging #834 (219f64f) into master (6345124) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master     #834    +/-   ##
========================================
  Coverage   91.53%   91.53%
========================================
  Files         192      192
  Lines        7360     7360
  Branches     1190     1343   +153
========================================
  Hits         6737     6737
  Misses        541      541
  Partials       82       82

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6345124...219f64f. Read the comment docs.


can't uninstall

I wanted to use ctags but I eventually couldn't get it to work. I then tried to uninstall and got the following:

Now when I go to my symbols with ⌘-R, I get the following:

Exact same issue here


Update list.json

Added project ZTCT (Transport Checking Tool on Object level)

Added project ZTCT (Transport Checking Tool on Object level)


Broken components name in storybook

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
All components in the storybook have broken names:

Expected behavior 🤔
Components name should be visible
Steps to reproduce 🕹
Steps:

Go to https://react-hook-form-material-ui.vercel.app/?path=/docs/radiobuttongroup--basic
Open any code snippet

that is very strange.. https://github.com/dohomi/react-hook-form-mui/blob/master/apps/storybook/stories/AutocompleteElement.stories.tsx the source code for sure uses full names, it seems to be some internal Storybook where they use short names for all the docs.. I need to see how to change it

Finally found the time to fix this issue. All names should be readable in the Storybook


Help wanted! MultiplexerTransform doesn't fire callback

dash                           2.3.1
dash-bootstrap-components      1.1.0
dash-core-components           2.0.0
dash-extensions                0.0.71
dash-html-components           2.0.0
dash-table                     5.0.0
the code:
`
from dash_extensions.enrich import (
DashProxy,
TriggerTransform,
MultiplexerTransform,
ServersideOutputTransform,
NoOutputTransform,
LogTransform,
)
from alpha.web import routing # home made router to switch between pages
app = DashProxy(
name,
external_stylesheets=[dbc.themes.MATERIA, dbc.icons.FONT_AWESOME],
suppress_callback_exceptions=True,
assets_folder=os.path.join(
os.path.dirname(os.path.abspath(file)), "web/assets"
),
prevent_initial_callbacks=True,
transforms=[
MultiplexerTransform(),
TriggerTransform(),
ServersideOutputTransform(),
NoOutputTransform(),
LogTransform(),
],
)
`
@app.callback(Output("main-fig", "figure"),
Input("stock-input", "value"), Input("stock-input", "n_submit"))
def on_stock_change(code: str, n_submit:int):
sid = "hello"
if not validate_code(sid, code):
return dash.no_update
figure = make_main_figure(sid)
return figure

@app.callback(
Output("main-fig", "figure"),
Input("session-id", "data"),
Input("stock-input", "value"),
Input("date-input", "value")
)
def on_params_change(sid: str, code, date):
triggered = get_triggerred_controls()
`
callbacks doesn't fired.
If I remove DashProxy and merge callbacks, the program works.
Please help me how to troubleshooting the issue. No exceptions at both client side and server side

by the way, it's a great extension and I love it!

Could you post a conplete example, i.e. a block of code that runs?

Closed this issue. Usually these issues are caused by wrong element id, but dash doesn't report missing element id everytime.


--file option

Pt_archiver has a --file option that enables you to save the deleted records to a text file.  It would be great if you could incorporate that into cleansweep, and even better yet if the text file could be automatically compressed (optionally).

That's a good thought.  Not sure when I'll look into it but if you want to submit a PR I'm all in favor.


Redux with Typescript getting started documentation only exists with Redux-Toolkit

What docs page needs to be fixed?
https://redux.js.org/usage/usage-with-typescript
What is the problem?
The current state of the documentation as well as related tutorials, stackoverflows etc seem to leave a gap on how to create a redux store without the use of the strong opinions of Redux-Toolkit. This is made even harder by API references not including mention of Typescript types such as https://redux.js.org/api/createstore. Type definitions also don't really share much in terms of the intent of the options of various functions / helper functions in terms of required use of generics.
What should be changed to fix the problem?
Provide a simple example or documentation alternative to https://redux.js.org/usage/usage-with-typescript which does not depend on Redux-Toolkit. For example, provide a typescript compatible version of the content of https://redux.js.org/usage/configuring-your-store -- It's taken me quite a long time to figure out the complex types being used for createStore to figure out how to adapt these examples to work successfully with typescript.

Adding to this:
TypeScript before Redux Toolkit was an afterthought. None of the Redux maintainers at the time (to my knowledge) actively used TS back then and the userbase did what you do in that situation: find a way to make it work.
But vanilla Redux is made in a way that it cannot be made to work easily. It requires lots of ceremony, to create a half-hacky solution that masks some bugs because it makes assertions on types that are not true.
E.g. creating a union action type will be exhaustive, which will mask bugs like missing returns of completely unexpected action shapes from the type system. For more details see this article.
There are ways of writing TypeScript with Redux easily, but all of them require a third party library. https://github.com/piotrwitek/typesafe-actions (use isActionOf, not isOfType with this!) was very popular and I personally enjoyed using https://github.com/aikoven/typescript-fsa for a year or so.
So, the only sane documentation for vanilla Redux + TypeScript would be "use a helper library to make this work better".
That said, there is a helper library. And that helper library is official. And that helper library is even the official recommendation for any Redux code written in the last two years. It it Redux Toolkit.
We really do not want you to write vanilla Redux (which already is a lot of frustrating boilerplate) and then slap double the code on top of this to follow patterns that were established to make something that "kinda does not really work" work. We want you to use Redux Toolkit, which is TypeScript first and removes all that type boilerplate completely.
And that's why we do not have "Vanilla Redux with TypeScript" in the docs any more: doing so is just bad advice.
PS: using createStore with TypeScript should to my knowledge not need a single type definition at all. You can see that in this CodeSandbox

Thanks for the quick and detailed replies here -- they are really useful and hope others going down a similar path to myself find this thread. I do think if I had seen this discussion, it definitely would have influenced my decision significantly.
I have a tendency to reduce the number of dependencies and concepts in new projects to reduce the overhead of onboarding other folks onto new projects. Given my past experience with specifically other helper libraries, I tend to default avoid them until I find specific (hopefully overwhelming) reasons to pull them in... with prior libraries, it feels like I've gotten the kitchen sink of which I use one or two things and with many opinions which are hard to opt out of / many of which I don't end up agreeing with given my circumstances (no experience with redux toolkit ... just explaining why I ended up thinking this / not expressing thoughts on redux toolkit specifically).
I'm not sure how common my behavior is among other developers, but while reading the current documentation, when I'd read something like "We assume that a typical Redux project is using Redux Toolkit and React Redux together" after having seen many other pages which don't do this (such as the "configure your store" page), I assumed a person writing the documentation had this opinion, but possibly not everyone shared this opinion.
One suggestion given my experience yesterday might be to update the page to at least acknowledge the current gaps in the other areas of redux-typescript documentation. Another might be to make the statements in the current documentation such as "There are multiple possible approaches to type checking Redux code. This page shows our standard recommended patterns for using Redux and TypeScript together..." to be stronger than a "standard recommended pattern" and to move it to be one of the first sentences in the documentation e.g. something like "To use Redux with Typescript you must use the Redux Toolkit in your project." Given the inconsistency of the documentation currently, something like this will make it much more obvious to someone with preconceptions such as myself that it is stronger than just a recommendation ... even with all the language stating things like its the "standard", I still spent quite a long time looking for alternative paths.
In regard to createStore specifically -- I had been trying to create a store with initial state and enhancers as well. I found that the type specification of specifically the enhancers to be particularly confusing -- ultimately I ended up type asserting rather than being able to figure out the correct set of generics to use with functions such as compose. Note it looks like Redux Toolkit itself does the same here https://github.com/reduxjs/redux-toolkit/blob/8565fc25803beedc1032d67473c6b448da588405/packages/toolkit/src/configureStore.ts#L190

Hey @markerikson ,
Wanted to chime in, I just finished converting all of the reducers and actions to TypeScript using old react redux patterns. I figured out how to extract all the state and types from my store to make a useAppSelector and useAppDispatch hook, but I first looked at the docs and found no help there. I want to move to rtk, but it is unclear if I can take our current compose with enhancers and middleware and swap in rtks create store function and have all hand rolled reducers still and get types. If that is an ok swap could the docs say that? If not, for the people trying to move off legacy code, getting everything into typescript first is a huge benefit to more safely refactor. I wanted docs on how to do types with the redux create store because I was trying to take a small step in the right direction. I am sure there are many legacy redux codebases out there from the flux era and I inherited one at my company. I understand the desire to push people to the new, but a section to help people migrate then could help?

Extracting the RootState and AppDispatch types should be the same - typeof store.dispatch and ReturnType<typeof store.getState> work the same way regardless of how you created the store.
Reducer definitions are all independent, and you can absolutely mix and match slice reducers defined with createSlice and hand-written logic, both at the JS and TS levels.
I'm open to suggestions/PRs on specific content to include that would be helpful, it's just not anything that I'm going to prioritize working on myself.

Thanks for the reply @markerikson !

Extracting the RootState and AppDispatch types should be the same - typeof store.dispatch and ReturnType work the same way regardless of how you created the store.

That was the missing link for me, I ended up using:
const rootReducer = combineReducers(reducers)

export default rootReducer

export type ReduxActions = ActionFromReducersMapObject<typeof reducers>
export type ReduxState = ReturnType<typeof rootReducer>

I think stating that those two uses (typeof store.dispatch and ReturnType<typeof store.getState> work regardless of whether you are using vanilla createStore or RTK createStore would have been sufficient for me. I will see if there is any sort of PR I can make that is minimal but contains this information.

Reducer definitions are all independent, and you can absolutely mix and match slice reducers defined with createSlice and hand-written logic, both at the JS and TS levels.

Ok, that makes sense. RTK does a lot of cool stuff, I just wasn't sure if it was all compatible and didn't see any docs stating that it is a swap-in replacement.

@audiolion regarding the
export type ReduxActions = ActionFromReducersMapObject<typeof reducers>

Please note that we generally recommend against the Action-union-type pattern that was prevalent in the past.
Realistically, the only valid Action type any of your reducers should be typed towards is AnyAction, since every of those reducers can and will be called with any action ever dispatched (including random, un-typable actions), so assuming anything else might end up with your type system hiding potential bugs for you.
Also see Do not create union types with Redux Action Types. It's most likely an antipattern.

@phryneas great blog post! And thanks for the tip.
I think in our case since every action is hand-written and small enough to be enumerable, typing it this way, temporarily, allows us to more safely refactor. But is not something we would want to keep.


feat(curriculum): add test number enumeration

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #52724
This PR builds on the discussion from #54257

Added enumeration to challenge tests by inserting it into the test strings in test-suite.tsx for the instructions panel and execute-challenge-saga.js for the console output. I found an alternative solution that seems to achieve the same result by modifying the challenge markdown parsing. The code for that solution can be found here. I've opted for the former solution since it's less complex and aligns with what has been discussed. Though I'm happy to hear any additional thoughts.

Hey @kevin-wu01,
Thank you for this contributions, instead of only showing numbers, I think we should use the example (Test X:) that is described in the issue.

Hey @Sembauke, in an earlier discussion, it was suggested to drop Test and just use the enumeration. I think this version is simpler and still achieves the desired effect. What are your thoughts?


An Error Occured - when saving pages - Error Illuminate\Database\QueryException

Describe the Bug
When we save pages it says error occured on every page, but the page does save
Steps to Reproduce
When we save pages it says error occured on every page, but the page does save
Expected Behaviour
When we save the pages no error to appar
Screenshots or Additional Context
Error
Illuminate\Database\QueryException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'bookstack.watches' doesn't exist (SQL: select level, watchable_id, watchable_type, user_id from watches where ((watchable_type = page and watchable_id = 453) or (watchable_type = book and watchable_id = 12) or (watchable_type = chapter and watchable_id = 49)))
Browser Details
Firefox, Chrome
Exact BookStack Version
23.10.4

Running php artisan migrate fixed the issue


Newtumbl posts with long titles aren't downloaded using title token

Discussed in https://github.com/TumblThreeApp/TumblThree/discussions/433

Originally posted by Zelarian March 13, 2023
It says, Download images "117 of 421". I have everything ticked for downloading. The download process doesn't freeze or anything, when I add it to the queue it scans and completes normally like other blogs but it doesn't download the things that are missing. Other blogs are downloading fine, the posts are not missing in the blog itself. I don't have "Save url list" ticked. I don't have "Check for file existence globally across all loaded blogs" ticked. When I click "Dump crawler data" it shows the crawler files for the missing posts but doesn't download the posts themselves. There is nothing coming up in the log for this. The LastId is not 0 it is 195706351. I have no idea what is wrong. Thank you.

We checked it, there's indeed a problem on some systems if the title is too long. It will be fixed in the next version.

The issue has been fixed and closed.


WIP: Trivial L0 test fixes for V2

Repurpose the PR to avoid too many trivial PRs

@GuanLuo  Any reason not to merge this?

@deadeyegoodwin I updated the PR title, you can merge it. It's just that there will still be some other trivial test changes and I don't want to create other PRs for that.


medicalhistory unknown criteria fixed

You are right. Only set age = 0 if (medicalhistory is NOT 'healthy') AND ('conditions' are empty)